{"version":3,"sources":["webpack:///src/app/login/reset-password/reset-password.component.ts","webpack:///src/app/login/reset-password/reset-password.component.html","webpack:///src/app/routes/news/news-detail/news-detail-2.component.ts","webpack:///src/app/routes/news/news-detail/news-detail-2.component.html","webpack:///src/app/register/register.component.ts","webpack:///src/app/register/register.component.html","webpack:///src/app/shared/services/http-request.service.ts","webpack:///src/app/shared/services/language.service.ts","webpack:///src/app/routes/results/results.component.html","webpack:///src/app/routes/results/results.component.ts","webpack:///src/app/shared/components/dropdown/dropdown.component.ts","webpack:///src/app/shared/components/dropdown/dropdown.component.html","webpack:///src/app/routes/about-us/about-us.service.ts","webpack:///src/app/shared/components/loader/loader.component.ts","webpack:///src/app/shared/components/loader/loader.component.html","webpack:///src/app/models/consent/consent.model.ts","webpack:///src/app/shared/services/mc-language.service.ts","webpack:///src/app/shared/components/loader-small/loader.component.ts","webpack:///src/app/shared/components/loader-small/loader.component.html","webpack:///src/app/routes/terms/terms-model.ts","webpack:///src/app/shared/directives/rerender.directive.ts","webpack:///src/app/routes/about-us/about-us.model.ts","webpack:///src/app/header/profile/profile.component.ts","webpack:///src/app/header/profile/profile.component.html","webpack:///src/app/routes/news/news-detail/news-detail-4.component.ts","webpack:///src/app/routes/news/news-detail/news-detail-4.component.html","webpack:///src/app/routes/homepage/homepage-3.component.ts","webpack:///src/app/routes/homepage/homepage-3.component.html","webpack:///src/app/shared/services/auth-guard.service.ts","webpack:///src/environments/environment.ts","webpack:///src/app/models/language/language.model.ts","webpack:///src/app/shared/helpers/toastr-config.ts","webpack:///src/app/header/my-files/my-files.component.ts","webpack:///src/app/header/my-files/my-files.component.html","webpack:///src/app/error/error.component.ts","webpack:///src/app/error/error.component.html","webpack:///src/app/header/search-results/search-results.component.ts","webpack:///src/app/header/search-results/search-results.component.html","webpack:///src/app/shared/components/loginpopup/loginpopup.component.ts","webpack:///src/app/shared/components/loginpopup/loginpopup.component.html","webpack:///src/app/testimonials/testimonials-model.ts","webpack:///src/app/routes/contact/contact.component.ts","webpack:///src/app/routes/contact/contact.component.html","webpack:///src/app/shared/pipes/shorten.pipe.ts","webpack:///src/app/download/download.component.ts","webpack:///src/app/download/download.component.html","webpack:///src/app/routes/contact/contact-model.ts","webpack:///src/app/routes/news/news-model.ts","webpack:///src/app/routes/redirect-old/redirect-old.component.ts","webpack:///src/app/shared/services/password-check.service.ts","webpack:///src/app/shared/components/register-popup/register-popup.component.ts","webpack:///src/app/shared/components/register-popup/register-popup.component.html","webpack:///src/app/routes/media/media-group/media-group.component.ts","webpack:///src/app/routes/media/media-group/media-group.component.html","webpack:///src/app/routes/brand-stories/brand-stories.component.ts","webpack:///src/app/routes/brand-stories/brand-stories.component.html","webpack:///src/app/login/login-model.ts","webpack:///src/app/shared/services/login-attempts.service.ts","webpack:///src/app/routes/homepage/homepage-2.component.ts","webpack:///src/app/routes/homepage/homepage-2.component.html","webpack:///src/app/routes/competition-page/competition-page.component.ts","webpack:///src/app/routes/competition-page/competition-page.component.html","webpack:///src/app/routes/news/article/article.component.ts","webpack:///src/app/routes/news/article/article.component.html","webpack:///src/app/shared/helpers/buttons-helper.ts","webpack:///src/app/shared/components/slider-picture/slider-picture.component.ts","webpack:///src/app/shared/components/slider-picture/slider-picture.component.html","webpack:///src/app/shared/components/loader-relative/loader.component.ts","webpack:///src/app/shared/components/loader-relative/loader.component.html","webpack:///src/app/shared/services/my-files-model.ts","webpack:///src/app/routes/media/media-model.ts","webpack:///src/app/routes/homepage/homepage.component.ts","webpack:///src/app/routes/homepage/homepage.component.html","webpack:///src/app/routes/contacts/contacts.model.ts","webpack:///src/app/routes/contacts/contacts.service.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/shared/debounce/debounce.component.ts","webpack:///src/app/shared/debounce/debounce.component.html","webpack:///src/app/shared/components/terms-popup/terms-popup.component.ts","webpack:///src/app/shared/components/terms-popup/terms-popup.component.html","webpack:///src/app/shared/helpers/url-helper.ts","webpack:///src/app/shared/services/algolia.service.ts","webpack:///src/app/header/profile/profile-model.ts","webpack:///src/app/shared/directives/style.directive.ts","webpack:///src/app/shared/components/popup/popup.component.ts","webpack:///src/app/shared/components/popup/popup.component.html","webpack:///src/app/routes/unsubscribe-newsletter/unsubscribe-newsletter.component.ts","webpack:///src/app/routes/unsubscribe-newsletter/unsubscribe-newsletter.component.html","webpack:///src/app/shared/services/my-files.service.ts","webpack:///src/app/routes/brands/brands.component.ts","webpack:///src/app/routes/brands/brands.component.html","webpack:///src/app/routes/file-history/file-history.component.ts","webpack:///src/app/routes/file-history/file-history.component.html","webpack:///src/app/routes/news/news.component.ts","webpack:///src/app/routes/news/news.component.html","webpack:///src/app/shared/pipes/search.pipe.ts","webpack:///src/app/app.module.ts","webpack:///src/app/register-imported/register-imported.component.ts","webpack:///src/app/register-imported/register-imported.component.html","webpack:///src/app/routes/about-us/about-us.component.ts","webpack:///src/app/routes/about-us/about-us.component.html","webpack:///src/app/shared/services/download-box.service.ts","webpack:///src/app/routes/brands/brands-model.ts","webpack:///src/app/routes/news/news-group/news-group.component.ts","webpack:///src/app/routes/news/news-group/news-group.component.html","webpack:///src/app/shared/components/embedded-share/embedded-share.component.ts","webpack:///src/app/shared/components/embedded-share/embedded-share.component.html","webpack:///src/app/layout/layout-model.ts","webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///src/app/testimonials/testimonials.component.ts","webpack:///src/app/testimonials/testimonials.component.html","webpack:///src/app/download/download-model.ts","webpack:///src/app/shared/components/story-preview/story-preview.component.ts","webpack:///src/app/shared/components/story-preview/story-preview.component.html","webpack:///src/app/shared/components/media-file/media-file.component.ts","webpack:///src/app/shared/components/media-file/media-file.component.html","webpack:///src/app/header/search/search.component.html","webpack:///src/app/header/search/search.component.ts","webpack:///src/app/header/header.component.ts","webpack:///src/app/header/header.component.html","webpack:///src/app/routes/media/media.component.ts","webpack:///src/app/routes/media/media.component.html","webpack:///src/app/shared/services/mc-service.ts","webpack:///src/app/shared/services/storage.service.ts","webpack:///src/app/footer/footer.component.ts","webpack:///src/app/footer/footer.component.html","webpack:///src/app/social-home/social-home.component.ts","webpack:///src/app/social-home/social-home.component.html","webpack:///src/app/header/header-2.component.ts","webpack:///src/app/header/header-2.component.html","webpack:///src/app/header/header-3.component.ts","webpack:///src/app/header/header-3.component.html","webpack:///src/app/shared/services/webp-helper.service.ts","webpack:///src/app/shared/pipes/replace.pipe.ts","webpack:///src/app/shared/services/communication.service.ts","webpack:///src/app/routes/results/results-search/results-search-model.ts","webpack:///src/app/login/reset-password-admin/reset-password-admin.component.ts","webpack:///src/app/login/reset-password-admin/reset-password-admin.component.html","webpack:///src/app/login/email-popup/email-popup.component.ts","webpack:///src/app/login/email-popup/email-popup.component.html","webpack:///src/app/shared/services/outbound-link-click-intercept.service.ts","webpack:///src/app/login/check-authentication/check-authentication.component.ts","webpack:///src/app/login/check-authentication/check-authentication.component.html","webpack:///src/app/shared/directives/click-outside.directive.ts","webpack:///src/app/shared/components/popup/popup-model.ts","webpack:///src/app/shared/services/delete-account.service.ts","webpack:///src/app/shared/services/error-service.ts","webpack:///src/app/register/register-model.ts","webpack:///src/app/shared/services/user-centrics.service.ts","webpack:///src/app/shared/services/auth-interceptor.service.ts","webpack:///src/app/routes/homepage/home-model.ts","webpack:///src/app/routes/results/results-search/results-search.component.ts","webpack:///src/app/routes/results/results-search/results-search.component.html","webpack:///src/app/routes/news/news-detail/news-detail.component.ts","webpack:///src/app/routes/news/news-detail/news-detail.component.html","webpack:///src/app/routes/terms/terms.component.ts","webpack:///src/app/routes/terms/terms.component.html","webpack:///src/app/shared/services/google-analytics-events.service.ts","webpack:///src/app/shared/services/token-manager.service.ts","webpack:///src/app/shared/services/saved-story.service.ts","webpack:///src/app/header/search/search-model.ts","webpack:///src/app/models/style/style.model.ts","webpack:///src/app/shared/components/share-button/share-button.component.ts","webpack:///src/app/shared/components/share-button/share-button.component.html","webpack:///src/app/shared/services/fonts-and-colors.service.ts","webpack:///src/app/layout/layout.component.ts","webpack:///src/app/layout/layout.component.html","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/routes/routes.module.ts","webpack:///src/app/routes/news/code-story/code-story.component.ts","webpack:///src/app/routes/news/code-story/code-story.component.html","webpack:///src/app/shared/components/share/share.component.ts","webpack:///src/app/shared/components/share/share.component.html","webpack:///src/app/routes/contacts/contacts.component.ts","webpack:///src/app/routes/contacts/contacts.component.html","webpack:///src/main.ts","webpack:///src/app/routes/homepage/homepage-4.component.ts","webpack:///src/app/routes/homepage/homepage-4.component.html"],"names":["ResetPasswordComponent","fb","languageService","toastr","activatedRoute","authLoginService","router","sService","checkPasswordService","loader","data","patternPassword","isPwFocus","valForm","group","compose","required","pattern","confirmpassword","language","getLanguage","subscribe","params","userId","resetCode","checkPasswordCode","response","body","error","navigate","controls","value","confirmError","e","stopPropagation","c","markAsTouched","hasPasswordHardening","checkAll","newPassword","valid","ResetPassword","success","loginModel","email","password","login","res","loggedUserName","getUser","fullName","setName","message","reset","onPwFocus","onPwBlur","checkPassword","selector","templateUrl","styleUrls","webPHelperService","NewsDetailComponent2","myFilesService","mcService","meta","route","http","fontsAndColorsService","googleAnalytics","sanitizer","titleService","savedStoryService","storageService","filtered","imageMedia","audioMedia","videoMedia","documentMedia","cartItems","image","video","audio","forDownload","downloadIds","styles","activeAllTab","activeTab","activeImageTab","activeVideoTab","activeDocumentsTab","activeAudioTab","activeFb","activeMail","activeTw","activeIn","socials","allActive","imageActive","videoActive","docActive","audioActive","relatedStoriesTabOpened","mediaTabOpened","buttonsHelper","scrolled25","scrolled50","scrolled75","scrolled90","scrolled100","downloadingAll","downloadingImage","downloadingVideo","downloadingDocument","downloadingAudio","getPageStyleInfo","token","localStorage","getItem","name","webNewsDetailsResponse","mustRegisterToDownload","window","scrollTo","loginPopup","length","navigateByUrl","user","id","niz","storyMediaIds","publishedMediaIds","forEach","mediaId","emitEvent","toString","addDownloadToMedia","urlSubscription","getData","unsubscribe","sLng","Number","role","isMediaUser","storyId","routerState","snapshot","url","split","getNewsDetails","popup","media","share","currentUrl","location","href","mediaFromRoute","paramMap","get","undefined","tempMedia","openMediaPopup","story","categoryDropdown","getNewsDetail","console","log","setTitle","storyTitle","substring","updateTag","content","shortDescription","alsoMayLike","slice","shareUrl","getCurrentUrlHostOnly","staggingStoryId","getUrlTitle","mustRegisterToAccess","anonymousShare","sessionStorage","setItem","pathname","featuredEmbeddedCode","embeddedCode","bypassSecurityTrustHtml","socialSharing","allFiles","images","document","f","mediaType","mediaLengthMin","Math","floor","mediaLenght","mediaLengthSec","groupMedia","JSON","parse","thumbUrl","property","setTimeout","$","attr","filters","key","text","faClass","amount","imageFiles","videoFiles","documents","audioFiles","error2","filter","x","toLowerCase","autoplay","views","shareDropdown","mediaDropdown","event","cmsUser","component","index","indexOf","checked","push","downloadLink","splice","list","download","addedToCart","pushMyFiles","y","downloads","element","urls","zip","count","zipFilename","textContent","disabledButton","filename","err","file","binary","generateAsync","type","then","addDownload","addDownloadClientSide","responseType","toPromise","blob","state","lastIndexOf","find","currentUrlArray","tab","replace","l","toUpperCase","getElementById","scrollIntoView","inSavedStories","remove","add","$event","percentage","round","getScrollPercentage","innerHeight","documentElement","clientHeight","pageYOffset","scrollTop","max","scrollHeight","offsetHeight","getWindowYscroll","getWindowHeight","getDocHeight","category","searchResultResponse","searchModel","languageId","stories","page","pageSize","isCustom","customCategoryIds","mainCategoryIds","searchMcStories","result","setSearchItemStories","setSearchModel","toggleSavedStory","downloadAll","showSubCategory","onWindowScroll","RegisterComponent","fbo","facebook","twitter","instagram","linkedin","youtube","wordpress","dropdown","languages","categories","users","usersToShow","allUsers","newsletterTrue","TC","newsLetter","registerResponseModel","currentPage","showCategories","twitterAuthorizationVerifier","twitterAuthorizationId","twitterName","twitterRegister","markedAll","isFb","minLength","maxLength","confirmPassword","getLogin","term","layoutResponseModel","getRegister","disableRegistration","firstname","lastname","telephone","newsletter","terms","mediaUserTypeOther","addDropdown","dropdownLabel","dropdownLabel2","dropdownLabel3","showPassword","showPasswordConfirm","typeConfirm","languageDropDown","mediaUser","apiUrl","mediaUserModel","customCatogories","map","marked","lang","languageIds","label","target","style","backgroundColor","mainIdentifyingColor","noMediaUserType","mediaUserTypes","register","registerSuccessPopup","receiveNewsletter","setValidators","firstCheckBox","nativeElement","termsAndConditions","includes","userFilled","Object","keys","controlErrors","errors","keyError","loginPage","checkIfEmpty","onClickOutsideUser","termsCheck","newsletterCheck","dropdownStyle","HttpRequestService","errorService","noErrorToast","handleError","status","removeItem","errMsg","headerFooter","customErrorRedirect","action","stringify","setError","showSuccessToast","toastMessage","pipe","request","post","put","files","formData","FormData","append","LanguageService","pageLanguage","next","ResultsComponent","ngZone","algoliaService","resultMedia","pageStories","pageSizeStories","maxPageStories","isPublished","itemsPerPage","newsHeadlineLength","pageMedia","pageSizeMedia","maxPageMedia","loaderMedia","loaderStory","lazyLoadingLoader","showingStories","showLoadMore","cart","storyGroups","mediaGroups","searchResultStories","searchResultMedia","myFiles","innerWidth","title","substr","resultId","openPopup","queryParams","onresize","run","getDimensions","scrollY","loadMore","changePageStories","changePageMedia","isInMyFiles","downloading","getMediaDetail","mediaDetailResponseModel","downloadLinks","downloadMedia","iOS","navigator","platform","test","webkit","messageHandlers","downloadClicked","postMessage","downloadUrl","downloadActive","saveAs","mediaIds","searchMc","searchStories","searchText","hits","hit","convertToWebNewsModel","fullHDUrl","nbPages","checkMustBeRegistered","searchMedia","convertToWebManageMediaModel","resultStories","setSearchItemMedia","shares","getMyFiles","headerLinks","active","footerLinks","getSearchModel","getSearchItemStories","maxPages","groupStories","getSearchItemMedia","mediaPosition","mediaTop","offsetTop","outerWidth","searchResults","news","subCategory","replaceState","relativeShareUrl","concat","onScroll","onResize","DropdownComponent","s","emit","toggleDropdown","onClickOutside","dropDownList","dropdownPop","dropdownSize","sourceList","AboutService","mediaCenterWebAboutUsUrl","LoaderComponent","blockScroll","classList","getElementsByClassName","Consent","facebookSocialPlugins","googleFonts","googleMaps","googleTagManager","UsercentricsConsentManagementPlatform","jquery","MCLanguageService","mcLanguage","LoadersmallComponent","TermsModel","RerenderDirective","templateRef","viewContainer","val","clear","createEmbeddedView","rerender","AboutUsModel","aboutUsH1Text","aboutUsH2Text","aboutUsH3Text","aboutUsQuoteText","aboutUsSignature","aboutUsText","aboutUsHeroImageUrl","aboutUsAfterStoreButtonsText","aboutUsBeforeStoreButtonsText","TeamModel","ProfileComponent","userType","isPasswordSet","getUpdate","list2","list3","userGroups","facebookLink","twitterLink","instagramLink","youTubeLink","linkedInLink","wordPressLink","showPw","enterPw","oldPassword","update","onSubmit","NewsDetailComponent4","HomepageComponent3","mcLanguageService","communicationService","webPHelper","p","subcategory","homeModelResponse","storyGroupings","items","backgroundUrl","videoUrl","selectedFs","activeSlide","all","imageTab","videoTab","documentTab","audioTab","showVideos","showImages","showAudios","showDocuments","countAll","countVideos","countImages","countAudios","countDocuments","activeAll","activeImage","activeVideo","activeDoc","activeAudio","nextFStories","loading","xDown","yDown","mediaLoaded","initialLoaded","latestStoriesLoaded","storiesCategoryLoaded","showCategory","brands","brandsCurrentScroll","brandsMaxScroll","getHomeTexts","setFromBrands","decodeURI","resize","homeKeywords","homeKeywordIds","homeIdToKeyword","keywords","keyword","lngId","mediaCenterChosenLanguages","mccl","keywordId","translation","getMCLanguage","addEventListener","evt","touches","clientX","clientY","getHomepage","getBrands","clients","brandsContainer","offsetWidth","latesStoryGridType","shortDescriptionLength","getHomepageInitial","featuredStories","hideCounters","grid","bodyText","additionalBodyText","fStories","i","featuredStory","homepageLoaded","getHomepageLatestStories","latestStories","latestStory","loadStoryGroupings","moveAmount","changeSlide","emitArticleEvent","emitReadMoreEvent","clientId","redirectToMc","AuthGuardService","tokenManagerService","isAuthenticated","authenticated","replaceUrl","AuthGuard","getHeaderFooter","checkRoute","MustRegisterGuard","getToken","mustRegister","setMustRegister","model","setAnonymousShare","AnonymousShareGuard","environment","production","cmsUrl","apiUrlRoot","signalrUrl","mediaUrl","facebookAppId","facebookAppSecret","algoliaApplicationId","algoliaApiKey","algoliaStoriesIndex","algoliaMediaIndex","Language","competition","addToMyFiles","addedToMyFiles","filterOrSearch","myFilesNoFiles","logInMyFiles","deleteAll","itemsInBox","cancel","back","search","applyFilters","clearFilters","signIn","readMore","whatStory","latestFrom","latestFromMedia","sendToCart","availableFormats","alsoAvailableIn","downloadBox","downloadVideoInFormat","shareCart","firstName","lastName","phone","companyName","categoriesOfInterest","socialHandles","iHaveRead","iWantNewsletter","submit","signInFb","signInTw","forgotPassword","searchFrom","selectMedia","selectDate","from","to","send","ourTeam","aboutUs","contactUs","testimonials","home","searchHere","storyDate","storyPublisher","youMayAlsoLike","filterBy","visit","seeStories","newsAlert","signUpToday","legal","privacySettings","addStoryToFav","selectCategory","addToFiles","expand","enterEmail","enterPassword","myAccount","redirectToCms","logOut","noDownloadBoxes","savedStories","noStoriesSaved","downloadAllImages","selectBrand","downloadAllVideos","videos","downloadAllDocuments","audios","downloadAllAudios","viewArticle","searchForTerm","searchNoResults","privacyPolicy","suscribeConfirmation","noBrandsInCustomCategory","current","firstNameRequired","lastNameRequired","emailNameRequired","invalidEmail","max50Characters","min4Characters","passwordNoSpaces","confirmPasswordRequired","passwordsNoMatch","currentPassword","mustEnterFirstPassword","mustEnterOldPassword","done","mediaUserTypeRequired","deleteAccount","deleteAccountConfirmation","incorrectPassword","emailSentSuccess","messageRequired","maxLength50","or","downloadMediaLogIn","latestDownloads","noDownloads","unsupportedVideoBrowser","registrationSuccess","activationEmailSent","activationEmailInstructions","lookForwardMessage","thankYou","disclaimer","mediaCentreTitle","mediaCentreSubtitle","ToastrConfig","toastrConfig","closeButton","timeOut","toastClass","messageClass","titleClass","MyFilesComponent","eRef","downloadBoxService","clickedOutsideEvent","showLoginMessage","downloadUrls","copiedUrl","getDownloadBox","contains","className","clearFiles","deleteFile","shareCartUrl","downloadSubscription","cancelDownloads","downloadFiles","timeNow","Date","now","formattedTime","toUTCString","startTime","performance","downloadFinishEvent","createDownloadBox","downloadMediaResponse","mediaLength","downloadBoxList","item","initVideoFormats","videoFormats","link","clickout","ErrorComponent","getError","SearchResultsComponent","dataEvent","ceil","totalCount","template","LoginpopupComponent","form","loginPopupChange","loginSuccessfulChange","fbData","init","appId","version","keyCode","close","logInFb","authResponse","accessToken","getFiles","setMyFiles","api","facebookId","first_name","last_name","getIds","submitLoginForm","handleKeyboardEvent","TestimonialsViewModel","TestimonialsModel","ContactComponent","mapsAPILoader","london","newYork","lng","zoom","mapStyle","elementType","stylers","color","visibility","featureType","contactUsResponse","company","getContactUs","geocoder","lat","latlng","geocode","results","address_components","types","address","formatted_address","address2","long_name","short_name","load","google","maps","Geocoder","geocodeLatLng","latf","lngf","geocodeLatLng2","lats","lngs","latitude","longitude","lnga","lata","latitude2","longitude2","getMap","mailSent","sendEmail","emailModel","sity","ShortenPipe","limit","DownloadComponent","deleteModel","publishedDownloadIds","storyDownloadIds","ids","cartIds","decodeURIComponent","categoryLabel","dl","delModel","vt","mediaDeleteList","z","resetDownloadArrays","j","downloadVideoType","ContactModel","EmailModel","WebNewsListModel","WebNewsModel","WebNewsDetailsModel","WebNewsDetailsCategoryModel","WebNewsDetailsMediaModel","NewsViewModel","RedirectOldComponent","a","PasswordCheckService","pecialCharacters","upperCase","lowerCase","numbers","passwordCheckSpecial","passwordCheckCase","passwordCheckLength","passwordCheckNumber","providedIn","RegisterPopupComponent","registerPopupClose","registerPopup","MediaGroupComponent","config","mirrored","BrandStoriesComponent","showPagination","webListResponse","clientName","newsGridType","getBrandStories","background","mainButton3HoverColor","mainButton3DefaultColor","getStyle","maxNewsPerPage","setColor","LoginModel","UserModel","CmsModel","NewPasswordModel","UserAuthModel","fbModel","LoginAttemptsService","loginAttempts","HomepageComponent2","CompetitionPageComponent","httpService","imageerrorSubmission","categoryError","submissionModel","noFile","submissionImage","saveLayoutUrl","tmpSubmissionFile","categoryId","cat","tagName","mainButton2HoverColor","parentElement","mainButton2DefaultColor","nameOfGuardian","eventObj","reader","FileReader","onloadend","onloadstart","onprogress","readAsDataURL","postMultipart","ArticleComponent","marketName","ButtonsHelper","parentNode","textButton1Color","SliderPictureComponent","webPError","changes","onError","LoaderrelativeComponent","MyFilesModel","MediaModel","DownloadAddToModel","HomepageComponent","ContactsModel","contactsH1Text","contactsH2Text","contactsH3Text","contactsQuoteText","contactsSignature","contactsText","contactsHeroImageUrl","contactsAfterStoreButtonsText","contactsBeforeStoreButtonsText","RotaryModel","ContactsService","mediaCenterWebContactsUrl","AppComponent","userCentrics","toastrService","outboundLinkClickInterceptService","toasterconfig","overlayContainer","toastContainer","getMeta","metadatas","UCID","script","createElement","src","setAttribute","async","head","appendChild","detail","setConsents","addGoogleVerificationMeta","newTitle","getNewTitlelFromUrl","pageType","pageTitle","description","twitterTitle","twitterDescritption","twitterImage","addDefaultTitle","trackingID","initGoogleAnalytics","emitPageView","events","urlAfterRedirects","convertUrlToTitle","websitesWithMeta","actualWebsite","origin","metaDefinition","loadMetadata","setupUserCentrics","formatUrlString","setPageStyleInfo","newUrl","charAt","words","DebounceComponent","elementRef","delay","eventStream","inputValue","input","placeholder","cssClass","TermsPopupComponent","termsPopupChange","termsResponseModel","getTerms","termsPopup","UrlHelper","AlgoliaService","searchClient","storiesIndex","initIndex","mediaIndex","superMediaCenter","query","currentMarket","hitsPerPage","parentClientId","showOnRelatedParentSite","clientIdFilter","directClientFilter","marketId","customCategoryId","dateFrom","dateTo","getTime","audioObservable","videoObservable","imageObservable","documentObservable","resultsObservable","total","nbHits","ProfileModel","UserManageModel","adminModel","AdminModel","StyleDirective","ElementRef","defaultColor","borderColor","eventData","hoverColor","mouseenter","mouseleave","PopupComponent","popupChange","popupClosed","popupModelResponse","redirectToStoryClicked","closePopup","dropdownRecent","addViewToMedia","mediaModel","urlForShare","alsoInStoryLink","string","subString","join","d","isOriginal","playerSource","getMediaUrl","videoplayer","UnsubscribeNewsletterComponent","unsubscribeCode","unsubscribeFromNewsletter","MyFilesService","BrandsComponent","visibleBrands","noBrands","brandsResponse","getSearch","searchResult","customCategories","unshift","parentId","mainCategories","brandName","ccId","client","niz2","FileHistoryComponent","deleteAccountService","authService","fileType","fileHistoryModel","filesFromCart","editFormOpened","isAdmin","cartFilesOpened","activeSection","wrongPassword","updateCartFiles","getDownloadBoxes","getSavedStories","getAccount","getLoginAttempts","telephoneNumber","updateAccount","dateFromButton","dateToButton","storyMedia","getAll","downloadBoxes","opened","cartMedias","m","date","options","year","month","day","toLocaleDateString","box","inDateRange","storyMedias","some","showFile","medias","isCart","showBox","passwordForDeleting","logout","NewsComponent","searchModelData","callGetAllData","filtersVisible","groupedStories","selectedCustomCategory","isInMarketPage","selectedMarket","markets","isEasyJet","algoliaStories","hasStoryCodes","market","getMarkets","searchConfig$","getSearchConfig","search$","searchConfigResponse","searchResponse","getNews","changePage","isReset","parseInt","setHours","searchStoriesWithFilters","subClientIds","getSuperMediaCenter","publishedDate","hideStoryDate","mediaThumbUrl","select","subClients","onChangeBrand","toggleFilters","openDateFrom","changeFromDate","openDateTo","changeToDate","SearchPipe","hasOwnProperty","RegExp","setSearch","AppModule","forRoot","positionClass","declarations","imports","providers","bootstrap","RegisterImportedComponent","registerImported","_body","AboutUsComponent","about","getAbout","mediaCenterWebAboutUs","DownloadBoxService","createBoxUrl","getAllUrl","BrandsModel","LookupModel","BrandsManageModel","NewsGroupComponent","EmbeddedShareComponent","popupType","embeddClose","embeddedLink","mediaCenterId","closeEmbeddedPopup","embeddedPopup","LayoutModel","HeaderLinksModel","FooterLinksModel","webpackEmptyAsyncContext","req","Promise","resolve","Error","code","module","exports","TestimonialsComponent","testimonialsResponse","getTestimonials","DownloadModel","DownloadBoxModel","MediaDetailModel","WebManageMediaModel","DownloadMediaModel","StoryPreviewComponent","gridClass","additionalClasses","showCounters","titleMaxLength","drawGrid","array","customClasses","MediaFileComponent","fullWidth","showExternally","full","newsDetail","imgElement","SearchComponent","elRef","searchChange","openDateFromEmitter","checkedb","closeSearch","searchMcMedia","setSearchFrom","setSearchString","clearResults","searchString","showingResults","delayDebounceFn","clearTimeout","getElementsByTagName","position","handleClick","showStories","showMedia","receiveDataFromChild","HeaderComponent","communicationsService","loginActive","signinActive","logo","mobileLanguageDropdown","brandsActive","showDropdownLng","activeLng","biggerLogo","invertColors","showMyFiles","invertedHeaderRoutesExact","invertedHeaderRoutesPartial","showDropdownMarkets","brandsColor","checkRouteForHeader","fromBrands","fromBrandsUrl","getLng","getMustRegister","getAnonymousShare","checkIsInvertedHeader","oneExact","r","onePartial","getName","showDropdown","loggedUserEmail","mobileNav","socialLinkObjects","socialLinkJson","o","checkLinkPrefix","currentDomain","marketUrl","closeNav","width","logoFlag","naturalWidth","height","naturalHeight","setLanguageId","reload","textLinkHoverColor","textH2Color","open","showMobDropdown","textHeaderColor","searchChild","wipeSearch","focus","currentProtocol","protocol","redirectToMarket","MediaComponent","differs","activeSubTab","mediaModelResponse","whiteShareStyle","showFilter","mediaFiles","differ","create","configObservable","searchObservable","getFilters","getMedias","selectedType","filterDropdown","saveFilters","currentType","typeId","getMediaTypeId","searchMediaWithFilters","mappedResults","publishedIds","objectID","fullHdUrl","format","originalUrl","getMediaName","typeName","totalItems","updateFilters","activeTabM","mediaName","mediaTypeId","McService","httpClient","getNewsUrl","getClientInfoUrl","getContactUsUrl","getHomepageUrl","getHomepageUrlMedia","getHomepageUrlStoriescategory","getHomepageLatestStoriesUrl","getHomepageInitialUrl","getHeaderFooterUrl","getTermsUrl","getRegisterUrl","getSearchUrl","redirectToCmsUrl","registerUrl","registerFbUrl","getUpdateUrl","getTestimonialsUrl","updateUrl","facebookUrl","addSharedToNewsUrl","addSharedToMediaUrl","addViewToMediaUrl","addDownloadToMediaUrl","getNewsDetailUrl","getMediaDetailUrl","webDownloadboxUrl","webGetBrandsUrl","sendEmailUrl","searchMcStoriesUrl","searchMcStoriesWithCodesUrl","searchMcMediaUrl","getStyleUrl","getMetadatasUrl","registerWithTwitterUrl","getUserByTokenUrl","getUserTweetsUrl","getTranslationUrl","getLanguagesUrl","searchHomePageUrl","getBrandStoriesUrl","linkedinFeedUrl","unsubscribeNewsletterUrl","redirectToMcUrl","loginWithTokenUrl","redirectMarketUrl","getMarketsUrl","getCurrentMarketUrl","getSearchConfigUrl","getLoginAttemptsUrl","searchValue","socialType","sharedItemId","lid","StorageService","searchItemStories","searchItemMedia","legalBanner","searchRequestModel","asObservable","FooterComponent","currentYear","getFullYear","showLegalBanner","getLegalBanner","SocialHomeComponent","HeaderComponent2","HeaderComponent3","WebpHelperService","parent","querySelector","children","ReplacePipe","strToReplace","replacementStr","CommunicationService","fixedWrapper","_data","SearchModel","WebSearchModel","ClientLookupModel","BaseLookupModel","CustomCategoryLookupModel","SearchResultModel","ResetPasswordAdminComponent","checkPasswordCodeAdmin","resetPasswordAdmin","passwordReset","json","EmailPopupComponent","emailPopupChange","resetPasswordChange","loginViewChange","notSend","checkEmail","maiLSent","ForgotPassword","emailPopup","resetPassword","loginView","OutBoundLinkClickInterceptService","interceptHref","_event","tEvent","srcElement","linkedClicked","trim","externalUrl","URL","onclick","CheckAuthenticationComponent","checkAuthentication","redirect","ClickOutsideDirective","_elRef","listening","clickOutside","globalClick","onGlobalClick","MouseEvent","isDescendant","child","node","PopupModel","DeleteAccountService","ErrorService","RegisterModel","EnumModel","facebookToken","RegistrationInfoModel","registerNotificationText","registerNotificationQuestion","UserCentricsService","consents","consentSubject","ga4Id","consentsFromEvent","newConsents","isAnalyticsConsented","initializeAnalytics","destroyAnalytics","isFBConsented","initializeFB","destroyFB","newId","script1","script2","innerHTML","parentHead","gtag1","gtag2","removeChild","fbScript","AuthInterceptorService","handle","authHeader","authReq","clone","headers","set","HomeModel","FeaturedStoriesModel","LatestStoriesModel","LatestStoriesCategoryModel","LatestMediaModel","SocialModel","ResultsSearchComponent","elements","self","findIndex","custom","brand","clearAll","NewsDetailComponent","langId","queryParamMap","TermsComponent","GoogleAnalyticsEventsService","trackingId","updateGA4Id","exec","eventName","eventCategory","eventAction","eventLabel","eventValue","gtag","event_label","event_category","event_action","non_interaction","uaId","webLocation","utm_source","getURLParameter","emitNonInteracionalEvent","clickLocation","articleTitle","dimension1","dimension2","TokenManagerService","userLoginURL","ForgotPasswordURL","ResetPasswordURL","resetPasswordAdminURL","checkAuthenticationUrl","checkPasswordCodeUrl","checkPasswordCodeAdminUrl","mustRegisterUrl","registerImportedURL","promise","reject","tokenObject","object","SavedStoryService","addUrl","removeUrl","getAllIdsUrl","savedStoryIds","sId","AlgoliaNewsRecords","record","mediaOriginalUrl","AlgoliaMediaRecords","PageStyle","fontType","downloadedFonts","Style","fonts","FontsModel","cssSpecification","dateCreated","embeddedFontData","fontFileNames","mainBackgroundFooterColor","mainBackgroundHeaderColor","mainBackgroundPrimaryColor","mainBackgroundSecondaryColor","mainButton1DefaultColor","mainButton1HoverColor","mainButton1OutlineColor","mainButton2OutlineColor","mainButton3OutlineColor","textButton2Color","textButton3Color","textCounterColor","textFooterColor","textH1Color","textH3Color","textH4Color","textLinkDefaultColor","textMainColor","textTabsColor","textTagsColor","mainFont","navigationFont","sliderHeadlineFont","sliderButtonFont","dateFont","featuredNewsHeadlineFont","tagFont","newsBoxHeadlineFont","newsBoxParagraphFont","newsBoxReadMoreFont","mediaBarFont","sectionHeadlineFont","paragraphFont","profileNameFont","profileMessageFont","socialDateFont","downloadBtnFont","aboutHeadlineFont","aboutSubHeadlineStrongFont","aboutSubHeadlineRegularFont","aboutUsQuoteFont","contentFileName","contentFileMetaFont","brandNameFont","labelFont","placeholderFont","footerText","footerLink","btnFont","searchSmallHeadlineFont","searchCategoryFont","ShareButtonComponent","isMediaShare","emitShared","hovered","sbUrl","embeddedPopupShow","networkType","getNetworkType","social","ui","method","action_type","action_properties","shareAnalytics","shareByEmailClicked","subject","getUrlForEmail","addSharedToMedia","addSharedToNews","shared","openEmbeddedPopup","clickSharedNews","FontsAndColorsService","pageStyleInfo","LayoutComponent","loginAttemptsService","showCookieNotice","setCssVariables","getClientInfo","getCurrentMarket","loginWithToken","setLogin","defaultLanguageId","getMcLanguage","hideCategories","setClientId","mediaCenterVersions","mediaCenterVersion","setSuperMediaCenter","setLegalBanner","passwordHardening","isVodafone","isLoci","setProperty","setMCLanguage","getTranslation","setLanguage","CookieAgreed","cssVar","LoginComponent","returnUrl","getUserByToken","processLogin","visiblePassword","appRoutes","path","canActivate","pathMatch","redirectTo","RoutesModule","provide","useClass","multi","apiKey","CodeStoryComponent","slideConfig","slidesToShow","slidesToScroll","infinite","responsive","breakpoint","settings","carousel","slick","storiesByCode","ShareComponent","big","vertical","horizontal","noTitle","isMediaShareVertical","isMediaShareBig","hideShareNumber","embeddOpen","activeEm","urlStoryForEmail","twitterUrl","encodeURIComponent","linkedinUrl","openShare","ContactsComponent","contacts","getContacts","getHardcodedContacts","rotary","bootstrapModule","HomepageComponent4"],"mappings":"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","file":"main-es5.js","sourcesContent":["import { Component, OnInit } from \"@angular/core\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { LoginModel, NewPasswordModel } from \"../login-model\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { ToastrConfig } from \"../../shared/helpers/toastr-config\";\r\nimport { PasswordCheckService } from \"../../shared/services/password-check.service\";\r\n\r\n@Component({\r\n selector: \"app-reset-password\",\r\n templateUrl: \"./reset-password.component.html\",\r\n styleUrls: [\"./reset-password.component.less\"],\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n valForm: FormGroup;\r\n loader = false;\r\n data = new NewPasswordModel();\r\n patternPassword = /^\\S*$/;\r\n confirmError: boolean;\r\n language: Language;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private languageService: LanguageService,\r\n private toastr: ToastrService,\r\n private activatedRoute: ActivatedRoute,\r\n private authLoginService: TokenManagerService,\r\n private router: Router,\r\n private sService: StorageService,\r\n public checkPasswordService: PasswordCheckService\r\n ) {\r\n this.valForm = this.fb.group({\r\n \"new-password\": [\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n Validators.pattern(this.patternPassword),\r\n ]),\r\n ],\r\n confirmpassword: [null, Validators.required],\r\n });\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n let userId = params[\"id\"];\r\n this.data.resetCode = userId;\r\n\r\n this.authLoginService.checkPasswordCode(this.data.resetCode).subscribe(\r\n (response: any) => {\r\n\r\n const body: string = response;\r\n\r\n if (body === \"null\") {\r\n\r\n this.toastr.error('Reset link has already been used.', 'Error', ToastrConfig.error);\r\n this.router.navigate([\"./sign-in\"]);\r\n }\r\n },\r\n (error) => { }\r\n );\r\n });\r\n\r\n\r\n // this.authLoginService.checkAuthentication(this.data.resetCode)\r\n // .subscribe(\r\n // (response) => {\r\n //\r\n // }, (error) => {\r\n // const toast: Toast = {\r\n // type: 'error',\r\n // title: 'Error',\r\n // body: 'Reset link has already been used.',\r\n // showCloseButton: true,\r\n // timeout: 5000,\r\n // closeHtml: '
'\r\n // };\r\n //\r\n // this.toasterService.pop(toast);\r\n // this.router.navigate(['./login']);\r\n // }\r\n // );\r\n }\r\n\r\n checkPassword() {\r\n if (\r\n this.valForm.controls[\"new-password\"].value ===\r\n this.valForm.controls[\"confirmpassword\"].value\r\n ) {\r\n this.confirmError = false;\r\n }\r\n }\r\n\r\n isPwFocus: boolean = false;\r\n onPwFocus() {\r\n this.isPwFocus = true;\r\n }\r\n onPwBlur() {\r\n this.isPwFocus = false;\r\n }\r\n\r\n reset(e, data) {\r\n e.stopPropagation();\r\n\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n\r\n if (this.checkPasswordService.hasPasswordHardening() && !this.checkPasswordService.checkAll(data.newPassword)) {\r\n this.toastr.error('Password does not meet the requirements', 'Error', ToastrConfig.error);\r\n return;\r\n }\r\n\r\n if (this.valForm.valid) {\r\n this.loader = true;\r\n this.authLoginService.ResetPassword(data).subscribe(\r\n (response: any) => {\r\n this.toastr.success('Password changed successfully!', 'Well done!', ToastrConfig.success);\r\n const loginModel = new LoginModel();\r\n loginModel.email = response.email;\r\n loginModel.password = data.newPassword;\r\n\r\n this.authLoginService.login(loginModel).subscribe(\r\n (res) => {\r\n this.loader = false;\r\n const loggedUserName = TokenManagerService.getUser().fullName;\r\n // this.isPassowordSet = TokenManagerService.getUser().isPasswordSet;\r\n this.sService.setName(loggedUserName);\r\n // this.sService.setPw(this.isPassowordSet);\r\n this.router.navigate([\"/profile\"]);\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n\r\n // this.router.navigate(['/login']);\r\n },\r\n (error) => {\r\n this.toastr.error(error.error.message, 'Error', ToastrConfig.error);\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

Reset password

\r\n
\r\n
\r\n \r\n \r\n \r\n New password is required\r\n \r\n \r\n {{ language.passwordNoSpaces }}\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Number\r\n (0-9)\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Special\r\n Character\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Atleast\r\n 8 Character\r\n
\r\n
\r\n
\r\n X
\r\n \r\n Lowercase\r\n & Uppercase\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.confirmPasswordRequired }}\r\n \r\n Passwords\r\n do not match.\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { McService } from \"../../../shared/services/mc-service\";\r\nimport { WebNewsDetailsMediaModel, WebNewsDetailsModel } from \"../news-model\";\r\nimport { Router, ActivatedRoute, Params } from \"@angular/router\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { saveAs } from \"file-saver\";\r\nimport * as JSZip from \"jszip\";\r\nimport * as JSZipUtils from \"jszip-utils\";\r\nimport { StorageService } from \"../../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../../shared/helpers/url-helper\";\r\nimport {\r\n SearchModel,\r\n SearchResultModel,\r\n WebSearchModel,\r\n} from \"../../../header/search/search-model\";\r\nimport { TokenManagerService } from \"../../../shared/services/token-manager.service\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../../shared/services/fonts-and-colors.service\";\r\nimport { DownloadAddToModel } from \"../../media/media-model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../../shared/services/language.service\";\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport {\r\n DomSanitizer,\r\n Meta,\r\n MetaDefinition,\r\n Title,\r\n} from \"@angular/platform-browser\";\r\nimport { MyFilesService } from \"../../../shared/services/my-files.service\";\r\nimport { ButtonsHelper } from \"../../../shared/helpers/buttons-helper\";\r\nimport { SavedStoryService } from \"../../../shared/services/saved-story.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { WebpHelperService } from \"../../../shared/services/webp-helper.service\";\r\n\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-news-detail-2\",\r\n templateUrl: \"./news-detail-2.component.html\",\r\n styleUrls: [\"./news-detail-2.component.less\"],\r\n})\r\nexport class NewsDetailComponent2 implements OnInit {\r\n urlSubscription: Subscription;\r\n\r\n popup: boolean;\r\n loginPopup: boolean;\r\n media: any[];\r\n\r\n filtered: WebNewsDetailsMediaModel[] = [];\r\n imageMedia: WebNewsDetailsMediaModel[] = [];\r\n audioMedia: WebNewsDetailsMediaModel[] = [];\r\n videoMedia: WebNewsDetailsMediaModel[] = [];\r\n documentMedia: WebNewsDetailsMediaModel[] = [];\r\n cartItems: any[] = [];\r\n image: number[] = [];\r\n video: number[] = [];\r\n audio: number[] = [];\r\n activeSubTab: number;\r\n storyId: number;\r\n url: string;\r\n forDownload: any[] = [];\r\n downloadIds: any[] = [];\r\n blob: any;\r\n loader: boolean;\r\n disabledButton: boolean;\r\n mediaId: number;\r\n autoplay: boolean;\r\n allFiles: number;\r\n share: boolean;\r\n all: boolean;\r\n imageTab: boolean;\r\n videoTab: boolean;\r\n documentTab: boolean;\r\n audioTab: boolean;\r\n user: any;\r\n styles = new PageStyle();\r\n activeAllTab = false;\r\n activeTab = \"all\";\r\n activeImageTab = false;\r\n activeVideoTab = false;\r\n activeDocumentsTab = false;\r\n activeAudioTab = false;\r\n activeFb = false;\r\n activeMail = false;\r\n activeTw = false;\r\n activeIn = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n allActive = false;\r\n imageActive = false;\r\n videoActive = false;\r\n docActive = false;\r\n audioActive = false;\r\n language: Language;\r\n sLng: number;\r\n token: string;\r\n relatedStoriesTabOpened = true;\r\n mediaTabOpened = true;\r\n isMediaUser: boolean;\r\n buttonsHelper = ButtonsHelper;\r\n publisher: string;\r\n\r\n private scrolled25: boolean = false;\r\n private scrolled50: boolean = false;\r\n private scrolled75: boolean = false;\r\n private scrolled90: boolean = false;\r\n private scrolled100: boolean = false;\r\n\r\n webNewsDetailsResponse: WebNewsDetailsModel;\r\n filters: any;\r\n\r\n constructor(\r\n private myFilesService: MyFilesService,\r\n private languageService: LanguageService,\r\n private mcService: McService,\r\n private meta: Meta,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private http: HttpClient,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private sanitizer: DomSanitizer,\r\n private titleService: Title,\r\n private savedStoryService: SavedStoryService,\r\n private storageService: StorageService,\r\n public webPHelperService: WebpHelperService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n this.token = localStorage.getItem(\"Token\");\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n activeallC(name) {\r\n if (name == \"all\") {\r\n if (this.activeAllTab) {\r\n this.allActive = true;\r\n } else {\r\n this.activeAllTab = true;\r\n }\r\n } else if (name == \"image\") {\r\n if (this.activeImageTab) {\r\n this.imageActive = true;\r\n } else {\r\n this.activeImageTab = true;\r\n }\r\n } else if (name == \"video\") {\r\n if (this.activeVideoTab) {\r\n this.videoActive = true;\r\n } else {\r\n this.activeVideoTab = true;\r\n }\r\n } else if (name == \"document\") {\r\n if (this.activeDocumentsTab) {\r\n this.docActive = true;\r\n } else {\r\n this.activeDocumentsTab = true;\r\n }\r\n } else if (name == \"audio\") {\r\n if (this.activeAudioTab) {\r\n this.audioActive = true;\r\n } else {\r\n this.activeAudioTab = true;\r\n }\r\n }\r\n }\r\n\r\n activeallCOut(name) {\r\n if (name == \"all\") {\r\n if (!this.allActive) {\r\n this.activeAllTab = false;\r\n }\r\n } else if (name == \"image\") {\r\n if (!this.imageActive) {\r\n this.activeImageTab = false;\r\n }\r\n } else if (name == \"video\") {\r\n if (!this.videoActive) {\r\n this.activeVideoTab = false;\r\n }\r\n } else if (name == \"document\") {\r\n if (!this.docActive) {\r\n this.activeDocumentsTab = false;\r\n }\r\n } else if (name == \"audio\") {\r\n if (!this.audioActive) {\r\n this.activeAudioTab = false;\r\n }\r\n }\r\n }\r\n\r\n showCart() {\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToDownload &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n window.scrollTo(0, 0);\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n if (this.cartItems.length > 0) {\r\n this.router.navigateByUrl(\"/download\");\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n addDownload() {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n let niz = new DownloadAddToModel();\r\n niz.storyMediaIds = this.downloadIds;\r\n niz.publishedMediaIds = [];\r\n niz.userId = this.user.id;\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.urlSubscription = this.route.params.subscribe((params: Params) => {\r\n this.getData();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.urlSubscription.unsubscribe();\r\n }\r\n\r\n getData() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.user = TokenManagerService.getUser();\r\n\r\n if (this.user.role === \"MediaUser\") {\r\n this.isMediaUser = false;\r\n } else if (this.user.role && this.user.role !== \"MediaUser\") {\r\n this.isMediaUser = true;\r\n } else {\r\n this.isMediaUser = false;\r\n }\r\n\r\n this.storyId = +this.router.routerState.snapshot.url.split(\"/\")[2];\r\n this.getNewsDetails();\r\n window.scrollTo(0, 0);\r\n this.popup = false;\r\n this.filtered = this.media;\r\n this.share = false;\r\n this.currentUrl = window.location.href;\r\n\r\n let mediaFromRoute = this.route.snapshot.paramMap.get(\"media\");\r\n if (mediaFromRoute != undefined) {\r\n let tempMedia = { id: mediaFromRoute };\r\n this.openMediaPopup(tempMedia);\r\n }\r\n }\r\n\r\n showSubCategory(story) {\r\n story.categoryDropdown = !story.categoryDropdown;\r\n }\r\n\r\n showSubCategoryRandom(story) {\r\n story.categoryDropdown = !story.categoryDropdown;\r\n }\r\n\r\n getNewsDetails() {\r\n this.loader = true;\r\n if (this.sLng == 0) {\r\n this.sLng = 1;\r\n }\r\n this.mcService\r\n .getNewsDetail(this.storyId, this.sLng, this.isMediaUser)\r\n .subscribe(\r\n (response: any) => {\r\n this.webNewsDetailsResponse = response;\r\n console.log(\"story\", this.webNewsDetailsResponse);\r\n this.titleService.setTitle(response?.storyTitle.substring(0, 65));\r\n this.meta.updateTag({\r\n name: \"keywords\",\r\n content: response?.storyTitle.substring(0, 65),\r\n });\r\n this.meta.updateTag({\r\n name: \"description\",\r\n content: response?.shortDescription.substring(0, 100),\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:title\",\r\n content: response?.storyTitle.substring(0, 65),\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:description\",\r\n content: response?.shortDescription.substring(0, 100),\r\n });\r\n\r\n this.webNewsDetailsResponse.alsoMayLike =\r\n this.webNewsDetailsResponse.alsoMayLike.slice(0, 2);\r\n for (const media of this.webNewsDetailsResponse.media) {\r\n media.shareUrl =\r\n UrlHelper.getCurrentUrlHostOnly() +\r\n \"/content-files/\" +\r\n this.webNewsDetailsResponse.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(this.webNewsDetailsResponse.storyTitle) +\r\n \"/\" +\r\n media.id;\r\n //\r\n }\r\n\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToAccess &&\r\n !this.webNewsDetailsResponse.anonymousShare &&\r\n !this.token\r\n ) {\r\n sessionStorage.setItem(\r\n \"redirectUrl\",\r\n \"/\" + window.location.pathname\r\n );\r\n this.router.navigateByUrl(\"/sign-in\");\r\n }\r\n\r\n if (this.webNewsDetailsResponse.featuredEmbeddedCode) {\r\n this.webNewsDetailsResponse.embeddedCode =\r\n this.sanitizer.bypassSecurityTrustHtml(\r\n this.webNewsDetailsResponse.featuredEmbeddedCode\r\n );\r\n }\r\n\r\n for (const story of this.webNewsDetailsResponse.alsoMayLike) {\r\n if (story.featuredEmbeddedCode) {\r\n story.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n story.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n\r\n if (this.webNewsDetailsResponse.socialSharing != null) {\r\n this.socials = this.webNewsDetailsResponse.socialSharing;\r\n }\r\n\r\n this.allFiles =\r\n this.webNewsDetailsResponse.images +\r\n this.webNewsDetailsResponse.video +\r\n this.webNewsDetailsResponse.document +\r\n this.webNewsDetailsResponse.audio;\r\n this.filtered = response.media;\r\n this.loader = false;\r\n\r\n for (const f of this.filtered) {\r\n if (f.mediaType === \"Audio\" || f.mediaType === \"Video\") {\r\n f.mediaLengthMin = Math.floor(f.mediaLenght / 60);\r\n f.mediaLengthSec = f.mediaLenght - f.mediaLengthMin * 60;\r\n }\r\n }\r\n\r\n this.groupMedia();\r\n\r\n if (localStorage.getItem(\"cart\") != null) {\r\n this.cartItems = JSON.parse(localStorage.getItem(\"cart\"));\r\n }\r\n // this.meta.updateTag({name: 'keywords', content: response.thumbUrl});\r\n this.meta.updateTag({\r\n name: \"description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:title\",\r\n content: response.storyTitle,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:text:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:image\",\r\n content: response.thumbUrl,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:card\",\r\n content: \"summary_large_image\",\r\n });\r\n this.meta.updateTag({\r\n property: \"og:image\",\r\n content: response.thumbUrl,\r\n });\r\n this.meta.updateTag({\r\n property: \"og:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n property: \"og:title\",\r\n content: response.storyTitle,\r\n });\r\n setTimeout(() => {\r\n $(\"#bodytext a\").attr(\"target\", \"_blank\");\r\n }, 1000);\r\n\r\n this.filters = [\r\n {\r\n key: \"all\",\r\n text: this.language.allFiles,\r\n faClass: \"fal fa-archive\",\r\n amount: this.allFiles,\r\n },\r\n {\r\n key: \"image\",\r\n text: this.language.imageFiles,\r\n faClass: \"fal fa-camera-retro\",\r\n amount: this.webNewsDetailsResponse.images,\r\n },\r\n {\r\n key: \"video\",\r\n text: this.language.videoFiles,\r\n faClass: \"fal fa-video\",\r\n amount: this.webNewsDetailsResponse.video,\r\n },\r\n {\r\n key: \"document\",\r\n text: this.language.documents,\r\n faClass: \"fal fa-file\",\r\n amount: this.webNewsDetailsResponse.document,\r\n },\r\n {\r\n key: \"audio\",\r\n text: this.language.audioFiles,\r\n faClass: \"fal fa-volume-up\",\r\n amount: this.webNewsDetailsResponse.audio,\r\n },\r\n ];\r\n },\r\n (error2) => {\r\n this.router.navigateByUrl(\"/home\");\r\n //\r\n }\r\n );\r\n }\r\n\r\n groupMedia() {\r\n this.imageMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"image\"\r\n );\r\n this.audioMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"audio\"\r\n );\r\n this.videoMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"video\"\r\n );\r\n this.documentMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"document\"\r\n );\r\n }\r\n\r\n openMediaPopup(media) {\r\n this.autoplay = false;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n }\r\n\r\n openMediaPopupAutplay(media) {\r\n this.autoplay = true;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n }\r\n\r\n openShare() {\r\n this.share = !this.share;\r\n }\r\n\r\n openDropdown(id) {\r\n for (const x of this.webNewsDetailsResponse.alsoMayLike) {\r\n if (x.storyId === id) {\r\n x.shareDropdown = !x.shareDropdown;\r\n }\r\n }\r\n }\r\n openMediaDropdown(media) {\r\n media.mediaDropdown = !media.mediaDropdown;\r\n event.stopPropagation();\r\n }\r\n\r\n onClickOutside(event: Object, media) {\r\n if (event && event[\"value\"] === true) {\r\n media.mediaDropdown = false;\r\n }\r\n }\r\n\r\n readMore(id) {\r\n window.scrollTo(0, 0);\r\n this.user = TokenManagerService.getUser();\r\n this.storyId = id.staggingStoryId;\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n\r\n this.router.navigate([\r\n \"/story/\" +\r\n id.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(id.storyTitle),\r\n ]);\r\n this.loader = true;\r\n\r\n this.getNewsDetails();\r\n }\r\n\r\n mediaChecked(media, e) {\r\n e.stopPropagation();\r\n let component = this;\r\n const index = this.forDownload.indexOf(media);\r\n media.checked = !media.checked;\r\n if (component.forDownload.indexOf(media) == -1 && media.checked) {\r\n component.forDownload.push(media.downloadLink);\r\n component.downloadIds.push(media.id);\r\n } else if (!media.checked) {\r\n component.forDownload.splice(index, 1);\r\n component.downloadIds.splice(index, 1);\r\n }\r\n }\r\n\r\n downloadingAll = false;\r\n downloadingImage = false;\r\n downloadingVideo = false;\r\n downloadingDocument = false;\r\n downloadingAudio = false;\r\n\r\n downloadAll(list = null, mediaType) {\r\n if (mediaType == \"all\") this.downloadingAll = true;\r\n else if (mediaType == \"image\") this.downloadingImage = true;\r\n else if (mediaType == \"video\") this.downloadingVideo = true;\r\n else if (mediaType == \"document\") this.downloadingDocument = true;\r\n else if (mediaType == \"audio\") this.downloadingAudio = true;\r\n let component = this;\r\n if (list === null) list = this.filtered;\r\n list.forEach(function (media) {\r\n component.forDownload.push(media.downloadLink);\r\n component.downloadIds.push(media.id);\r\n });\r\n this.download({}, \"text\", mediaType);\r\n }\r\n\r\n sendToCart() {\r\n let component = this;\r\n this.filtered.forEach(function (value) {\r\n if (component.cartItems.indexOf(value.id) == -1 && value.checked) {\r\n component.cartItems.push(value.id);\r\n value.addedToCart = true;\r\n value.checked = false;\r\n component.myFilesService.pushMyFiles(value.id);\r\n }\r\n });\r\n }\r\n\r\n sendAllToCart(list = null) {\r\n let component = this;\r\n if (list === null) list = this.filtered;\r\n list.forEach(function (value) {\r\n if (component.cartItems.indexOf(value.id) == -1) {\r\n component.cartItems.push(value.id);\r\n value.addedToCart = true;\r\n value.checked = false;\r\n component.myFilesService.pushMyFiles(value.id);\r\n }\r\n });\r\n }\r\n\r\n addDownloadClientSide() {\r\n for (const x of this.webNewsDetailsResponse.media) {\r\n for (const y of this.forDownload) {\r\n if (x.downloadLink == y) {\r\n x.downloads++;\r\n }\r\n }\r\n }\r\n }\r\n\r\n download(element, text, mediaType = null) {\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToDownload &&\r\n !this.webNewsDetailsResponse.anonymousShare &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n window.scrollTo(0, 0);\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n var urls = this.forDownload;\r\n let component = this;\r\n var zip = new JSZip();\r\n var count = 0;\r\n var zipFilename = \"download.zip\";\r\n\r\n if (this.forDownload.length > 1) {\r\n element.textContent = text;\r\n component.disabledButton = true;\r\n urls.forEach(function (url) {\r\n var filename = url.split(\"/\")[8];\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n if (err) {\r\n throw err;\r\n }\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n if (count == urls.length) {\r\n zip.generateAsync({ type: \"blob\" }).then(function (content) {\r\n saveAs(content, zipFilename);\r\n\r\n component.disabledButton = false;\r\n element.textContent = \"Download\";\r\n if (mediaType == \"all\") component.downloadingAll = false;\r\n else if (mediaType == \"image\") component.downloadingImage = false;\r\n else if (mediaType == \"video\") component.downloadingVideo = false;\r\n else if (mediaType == \"document\") component.downloadingDocument = false;\r\n else if (mediaType == \"audio\") component.downloadingAudio = false;\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n this.addDownloadClientSide();\r\n } else {\r\n for (const x of this.forDownload) {\r\n component.disabledButton = true;\r\n element.textContent = text;\r\n this.http\r\n .get(x, { responseType: \"blob\" })\r\n .toPromise()\r\n .then(\r\n (blob: Blob) => {\r\n let filename = x.split(\"/\")[8];\r\n saveAs(blob, filename);\r\n component.disabledButton = false;\r\n element.textContent = \"Download\";\r\n if (mediaType == \"all\") component.downloadingAll = false;\r\n else if (mediaType == \"image\") component.downloadingImage = false;\r\n else if (mediaType == \"video\") component.downloadingVideo = false;\r\n else if (mediaType == \"document\") component.downloadingDocument = false;\r\n else if (mediaType == \"audio\") component.downloadingAudio = false;\r\n\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n },\r\n (error) => { }\r\n );\r\n this.addDownloadClientSide();\r\n }\r\n }\r\n this.forDownload = [];\r\n }\r\n }\r\n\r\n onLogin(state) {\r\n if (state) {\r\n this.download({}, \"text\");\r\n }\r\n }\r\n\r\n getStoryUrl(storyId) {\r\n return (\r\n this.currentUrl.slice(0, this.currentUrl.lastIndexOf(\"story/\")) +\r\n \"story/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.webNewsDetailsResponse.alsoMayLike.find(\r\n (x) => x.staggingStoryId == storyId\r\n ).storyTitle\r\n )\r\n );\r\n }\r\n\r\n getMediaUrl(mediaId: number) {\r\n const currentUrlArray = this.currentUrl.split(\"/\");\r\n if (currentUrlArray.length > 6) {\r\n return window.location.href;\r\n } else {\r\n return window.location.href + \"/\" + mediaId;\r\n }\r\n }\r\n\r\n changeTab(tab: string) {\r\n this.activeTab = tab;\r\n if (tab == \"all\") this.filtered = this.webNewsDetailsResponse.media;\r\n else {\r\n tab = tab.replace(/\\b\\w/g, (l) => l.toUpperCase());\r\n this.filtered = this.webNewsDetailsResponse.media.filter(\r\n (x) => x.mediaType === tab\r\n );\r\n }\r\n }\r\n\r\n scrollToMedias() {\r\n document.getElementById(\"medias\").scrollIntoView();\r\n }\r\n\r\n toggleSavedStory(storyId) {\r\n if (this.inSavedStories(storyId))\r\n this.savedStoryService\r\n .remove(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n else\r\n this.savedStoryService\r\n .add(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n inSavedStories(storyId) {\r\n return this.savedStoryService.inSavedStories(storyId);\r\n }\r\n\r\n @HostListener(\"window:scroll\", [\"$event\"])\r\n onWindowScroll($event) {\r\n var percentage: number = Math.round(this.getScrollPercentage());\r\n if (percentage == 25 && !this.scrolled25) {\r\n this.scrolled25 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 50 && !this.scrolled50) {\r\n this.scrolled50 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 75 && !this.scrolled75) {\r\n this.scrolled75 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 90 && !this.scrolled90) {\r\n this.scrolled90 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 100 && !this.scrolled100) {\r\n this.scrolled100 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n }\r\n\r\n getWindowHeight() {\r\n return (\r\n window.innerHeight ||\r\n document.documentElement.clientHeight ||\r\n document.body.clientHeight ||\r\n 0\r\n );\r\n }\r\n getWindowYscroll() {\r\n return (\r\n window.pageYOffset ||\r\n document.body.scrollTop ||\r\n document.documentElement.scrollTop ||\r\n 0\r\n );\r\n }\r\n getDocHeight() {\r\n return Math.max(\r\n document.body.scrollHeight || 0,\r\n document.documentElement.scrollHeight || 0,\r\n document.body.offsetHeight || 0,\r\n document.documentElement.offsetHeight || 0,\r\n document.body.clientHeight || 0,\r\n document.documentElement.clientHeight || 0\r\n );\r\n }\r\n getScrollPercentage() {\r\n return (\r\n ((this.getWindowYscroll() + this.getWindowHeight()) /\r\n this.getDocHeight()) *\r\n 100\r\n );\r\n }\r\n\r\n searchByCategory(category) {\r\n console.log(category);\r\n this.loader = true;\r\n let searchResultResponse = new SearchResultModel();\r\n const searchModel = new WebSearchModel();\r\n searchModel.languageId = Number(localStorage.getItem(\"lng\"));\r\n searchModel.stories = true;\r\n searchModel.media = false;\r\n searchModel.images = false;\r\n searchModel.video = false;\r\n searchModel.document = false;\r\n searchModel.audio = false;\r\n searchModel.page = 1;\r\n searchModel.pageSize = 12;\r\n if (category.isCustom) {\r\n searchModel.customCategoryIds = [category.id];\r\n } else {\r\n searchModel.mainCategoryIds = [category.id];\r\n }\r\n\r\n this.mcService.searchMcStories(searchModel).subscribe(\r\n (response: any) => {\r\n searchResultResponse = response;\r\n for (const result of searchResultResponse.stories) {\r\n if (result.featuredEmbeddedCode) {\r\n result.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n result.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n if (\r\n searchResultResponse.mustRegisterToAccess &&\r\n localStorage.getItem(\"Token\") == null\r\n ) {\r\n this.loader = false;\r\n sessionStorage.setItem(\"redirectUrl\", \"/\" + window.location.pathname);\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n this.storageService.setSearchItemStories(searchResultResponse);\r\n this.storageService.setSearchModel(searchModel);\r\n this.loader = false;\r\n this.router.navigateByUrl(\"/results\");\r\n }\r\n },\r\n (error) => {\r\n searchModel.stories = false;\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{ language.storyPublisher }}
\r\n
\r\n {{ webNewsDetailsResponse?.publishedDate | date : \" dd MMMM yyyy\" }}\r\n
\r\n
\r\n
\r\n
{{ language.storyDate }}
\r\n
\r\n {{ webNewsDetailsResponse?.publishedDate | date : \" dd MMMM yyyy\" }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ language.addStoryToFav }}\r\n
\r\n
\r\n \r\n {{ downloadingAll ? language.downloading : 'Download All Media' }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
1 ? 'has-child' : ''\">\r\n
\r\n {{category?.name}}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ webNewsDetailsResponse?.storyTitle }}\r\n

\r\n

\r\n {{ webNewsDetailsResponse?.shortDescription }}\r\n

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

\r\n {{ language.media }}\r\n
\r\n \r\n \r\n
\r\n

\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.images }} ({{ imageMedia.length }})
\r\n
\r\n {{ downloadingImage ? language.downloading : language.downloadAllImages }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.videos }} ({{ videoMedia.length }})
\r\n
\r\n {{ downloadingVideo ? language.downloading : language.downloadAllVideos }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
\r\n {{ language.documents }} ({{ documentMedia.length }})\r\n
\r\n
\r\n {{ downloadingDocument ? language.downloading : language.downloadAllDocuments }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.audios }} ({{ audioMedia.length }})
\r\n
\r\n {{ downloadingAudio ? language.downloading : language.downloadAllAudios }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

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

\r\n {{ language.youMayAlsoLike }}\r\n

\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, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { McService } from \"../shared/services/mc-service\";\r\nimport { RegisterModel, UserManageModel } from \"./register-model\";\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n FormControl,\r\n ValidationErrors,\r\n} from \"@angular/forms\";\r\nimport { CustomValidators } from \"ng2-validation\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport {\r\n FacebookService,\r\n LoginResponse,\r\n LoginOptions,\r\n UIResponse,\r\n UIParams,\r\n FBVideoComponent,\r\n} from \"ngx-facebook\";\r\nimport { FontsAndColorsService } from \"../shared/services/fonts-and-colors.service\";\r\nimport { PageStyle } from \"../models/style/style.model\";\r\nimport { environment } from \"../../environments/environment\";\r\nimport { StorageService } from \"../shared/services/storage.service\";\r\nimport { LayoutModel } from \"../layout/layout-model\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { Language } from \"../models/language/language.model\";\r\nimport { PasswordCheckService } from \"../shared/services/password-check.service\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ToastrConfig } from \"../shared/helpers/toastr-config\";\r\n\r\n@Component({\r\n selector: \"app-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.less\"],\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n @ViewChild(\"firstCheckBox\") firstCheckBox: ElementRef;\r\n addDropdown: boolean;\r\n termsPopup: boolean;\r\n @Input() dropdownStyle: boolean;\r\n dropdownLabel: string;\r\n dropdownLabel2: string;\r\n dropdownLabel3: string;\r\n patternPassword = /^\\S*$/;\r\n confirmError = false;\r\n facebook = false;\r\n twitter = false;\r\n instagram = false;\r\n linkedin = false;\r\n youtube = false;\r\n wordpress = false;\r\n dropdown = false;\r\n languageDropDown: boolean;\r\n categoryDropdown: boolean;\r\n valForm: FormGroup;\r\n languages: any[] = [];\r\n categories: any[] = [];\r\n mediaUser: boolean;\r\n users: string[] = [];\r\n usersToShow: any[] = [];\r\n allUsers: string[] = [];\r\n termsAndConditions: boolean;\r\n noMediaUserType: boolean;\r\n layoutResponseModel: LayoutModel;\r\n language: Language;\r\n markedAll: boolean;\r\n newsletterTrue = false;\r\n TC = false;\r\n newsLetter = false;\r\n\r\n userFilled: boolean;\r\n\r\n password: any;\r\n confirmPassword: any;\r\n email: any;\r\n styles = new PageStyle();\r\n\r\n registerResponseModel = new RegisterModel();\r\n isFb: boolean;\r\n loader = false;\r\n registerSuccessPopup: boolean;\r\n\r\n twitterRegister: boolean;\r\n twitterAuthorizationVerifier: string;\r\n twitterAuthorizationId: string;\r\n twitterName: string;\r\n showPassword: boolean;\r\n showPasswordConfirm: boolean;\r\n type: string;\r\n typeConfirm: string;\r\n currentPage: number = 1;\r\n showCategories: boolean = true;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private languageService: LanguageService,\r\n private sService: StorageService,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private fbo: FacebookService,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private activatedRoute: ActivatedRoute,\r\n private checkPasswordService: PasswordCheckService,\r\n private toastr: ToastrService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n this.twitterAuthorizationVerifier = params[\"oauth_verifier\"];\r\n this.twitterAuthorizationId = params[\"authorization_id\"];\r\n this.twitterName = params[\"twitterName\"];\r\n\r\n if (this.twitterAuthorizationId) {\r\n this.twitterRegister = true;\r\n }\r\n });\r\n }\r\n\r\n isPwFocus: boolean = false;\r\n onPwFocus() {\r\n this.isPwFocus = true;\r\n }\r\n onPwBlur() {\r\n this.isPwFocus = false;\r\n }\r\n\r\n ngOnInit() {\r\n this.showCategories = localStorage.getItem(\"hideCategories\") != \"1\";\r\n this.markedAll = true;\r\n this.isFb = false;\r\n this.password = new FormControl(null, [\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(50),\r\n Validators.pattern(this.patternPassword),\r\n ]);\r\n this.confirmPassword = new FormControl(null, [Validators.required]);\r\n this.email = new FormControl(null, [\r\n CustomValidators.email,\r\n Validators.required,\r\n ]);\r\n\r\n this.sService.getLogin().subscribe((term) => {\r\n this.layoutResponseModel = term;\r\n });\r\n\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.getRegister();\r\n } else {\r\n this.router.navigateByUrl(\"/\");\r\n }\r\n\r\n if (this.layoutResponseModel.disableRegistration) {\r\n this.router.navigateByUrl(\"/sign-in\");\r\n }\r\n this.valForm = this.fb.group({\r\n firstname: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(50)]),\r\n ],\r\n lastname: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(50)]),\r\n ],\r\n telephone: [null],\r\n confirmPassword: [null],\r\n password: [\r\n null,\r\n Validators.compose([\r\n Validators.maxLength(50),\r\n Validators.minLength(8),\r\n Validators.pattern(this.patternPassword),\r\n ]),\r\n ],\r\n newsletter: [null],\r\n terms: [null, Validators.compose([Validators.required])],\r\n mediaUserTypeOther: [null],\r\n facebook: [null],\r\n twitter: [null],\r\n instagram: [null],\r\n linkedin: [null],\r\n youtube: [null],\r\n wordpress: [null],\r\n });\r\n\r\n this.addDropdown = false;\r\n this.dropdownLabel = \"Select media category\";\r\n this.dropdownLabel2 = \"Select categories\";\r\n this.dropdownLabel3 = \"Select your languages\";\r\n this.showPassword = false;\r\n this.showPasswordConfirm = false;\r\n this.type = \"password\";\r\n this.typeConfirm = \"password\";\r\n }\r\n\r\n visiblePassword(): void {\r\n this.showPassword = !this.showPassword;\r\n this.type = this.showPassword ? \"text\" : \"password\";\r\n }\r\n\r\n visiblePasswordConfirm(): void {\r\n this.showPasswordConfirm = !this.showPasswordConfirm;\r\n this.typeConfirm = this.showPasswordConfirm ? \"text\" : \"password\";\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.languageDropDown = false;\r\n }\r\n }\r\n\r\n onClickOutsideCategory(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.categoryDropdown = false;\r\n }\r\n }\r\n\r\n onClickOutsideUser(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.mediaUser = false;\r\n }\r\n }\r\n\r\n loginTwitter(e) {\r\n window.location.href =\r\n environment.apiUrl + \"/MediaCenterUser/RegisterWithTwitter\";\r\n }\r\n\r\n private handleError(error) {\r\n console.error(\"Error processing action\", error);\r\n }\r\n\r\n loginPage() {\r\n this.router.navigateByUrl(\"/sign-in\");\r\n }\r\n\r\n getRegister() {\r\n this.mcService.getRegister().subscribe(\r\n (response: any) => {\r\n this.registerResponseModel = response;\r\n this.registerResponseModel.mediaUserModel = new UserManageModel();\r\n this.categories = this.registerResponseModel.customCatogories;\r\n this.registerResponseModel.mediaUserModel.customCategoryIds =\r\n this.registerResponseModel.customCatogories.map((x) => x.id);\r\n this.registerResponseModel.customCatogories.forEach(\r\n (x) => (x.marked = true)\r\n );\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n addLanguage(lang, event) {\r\n const index = this.registerResponseModel.mediaUserModel.languageIds.indexOf(\r\n lang.id\r\n );\r\n lang.checked = !lang.checked;\r\n if (lang.checked) {\r\n this.registerResponseModel.mediaUserModel.languageIds.push(lang.id);\r\n this.languages.push(lang.label);\r\n } else {\r\n this.registerResponseModel.mediaUserModel.languageIds.splice(index, 1);\r\n this.languages.splice(index, 1);\r\n }\r\n\r\n if (event) {\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n }\r\n }\r\n\r\n changeColor(event) {\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n }\r\n\r\n addCategory(category, event) {\r\n let index =\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.indexOf(\r\n category.id\r\n );\r\n category.marked = !category.marked;\r\n if (category.marked) {\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.push(\r\n category.id\r\n );\r\n if (\r\n this.categories.length ==\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.length\r\n )\r\n this.markedAll = true;\r\n } else {\r\n this.markedAll = false;\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.splice(\r\n index,\r\n 1\r\n );\r\n }\r\n }\r\n\r\n selectAll(event) {\r\n this.markedAll = event.target.checked;\r\n if (this.markedAll) {\r\n this.registerResponseModel.mediaUserModel.customCategoryIds =\r\n this.registerResponseModel.customCatogories.map((x) => x.id);\r\n this.registerResponseModel.customCatogories.forEach(\r\n (x) => (x.marked = true)\r\n );\r\n } else {\r\n this.registerResponseModel.mediaUserModel.customCategoryIds = [];\r\n this.registerResponseModel.customCatogories.forEach(\r\n (x) => (x.marked = false)\r\n );\r\n }\r\n }\r\n\r\n addUser(user, event) {\r\n event.stopPropagation();\r\n const index = this.users.indexOf(user.id);\r\n user.checked = !user.checked;\r\n\r\n if (user.checked) {\r\n this.users.push(user.id);\r\n this.usersToShow.push(user.id);\r\n this.noMediaUserType = true;\r\n } else {\r\n this.users.splice(index, 1);\r\n this.usersToShow.splice(index, 1);\r\n }\r\n if (this.users.length == 0) {\r\n this.noMediaUserType = false;\r\n }\r\n\r\n this.registerResponseModel.mediaUserModel.mediaUserTypes = this.users;\r\n console.log(this.registerResponseModel.mediaUserModel.mediaUserTypes);\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n }\r\n\r\n checkIfEmpty() {\r\n if (this.email.value === \"\") {\r\n this.email.markAsTouched();\r\n }\r\n }\r\n\r\n openAddDropdown() {\r\n this.addDropdown = !this.addDropdown;\r\n }\r\n\r\n checkPassword() {\r\n if (this.password.value === this.confirmPassword.value) {\r\n this.confirmError = false;\r\n }\r\n }\r\n\r\n setConfirmError() {\r\n if (this.password.value !== this.confirmPassword.value) {\r\n this.confirmError = true;\r\n }\r\n\r\n if (this.password.value === \"\") {\r\n this.confirmError = false;\r\n }\r\n }\r\n\r\n register() {\r\n this.loader = true;\r\n this.mcService\r\n .register(this.registerResponseModel.mediaUserModel)\r\n .subscribe(\r\n (response) => {\r\n this.loader = false;\r\n // this.router.navigateByUrl('/sign-in', {replaceUrl: true});\r\n this.registerSuccessPopup = true;\r\n this.valForm.reset();\r\n },\r\n (error) => {\r\n //\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n\r\n newsletterCheck(event) {\r\n this.registerResponseModel.mediaUserModel.receiveNewsletter = true;\r\n this.newsLetter = !this.newsLetter;\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n if (!this.newsLetter) {\r\n this.valForm.controls[\"terms\"].setValidators(Validators.required);\r\n this.newsletterTrue = false;\r\n this.registerResponseModel.mediaUserModel.receiveNewsletter = false;\r\n } else {\r\n this.newsletterTrue = true;\r\n }\r\n }\r\n\r\n dontWantNewsletter(event) {\r\n this.registerResponseModel.mediaUserModel.receiveNewsletter = false;\r\n this.newsLetter = !this.newsLetter;\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n this.firstCheckBox.nativeElement.style.backgroundColor = \"\";\r\n\r\n if (this.newsLetter) {\r\n this.firstCheckBox.nativeElement.style.backgroundColor =\r\n this.styles.style.mainIdentifyingColor;\r\n this.registerResponseModel.mediaUserModel.receiveNewsletter = true;\r\n }\r\n }\r\n\r\n termsCheck(event) {\r\n this.registerResponseModel.mediaUserModel.termsAndConditions =\r\n !this.registerResponseModel.mediaUserModel.termsAndConditions;\r\n this.termsAndConditions = !this.termsAndConditions;\r\n if (!this.termsAndConditions) {\r\n this.valForm.controls[\"terms\"].setValidators(Validators.required);\r\n this.TC = false;\r\n } else {\r\n this.TC = true;\r\n }\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n }\r\n\r\n toggleDropdown() {\r\n this.dropdown = !this.dropdown;\r\n }\r\n\r\n isUserTypeOtherSelected() {\r\n return this.registerResponseModel?.mediaUserModel?.mediaUserTypes?.includes(\r\n \"Other\"\r\n );\r\n }\r\n\r\n onSubmit(e) {\r\n e.stopPropagation();\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n this.email.markAsTouched();\r\n this.password.markAsTouched();\r\n this.confirmPassword.markAsTouched();\r\n\r\n if (!this.registerResponseModel.mediaUserModel.mediaUserTypes) {\r\n this.userFilled = false;\r\n }\r\n\r\n this.registerResponseModel.mediaUserModel.receiveNewsletter =\r\n this.newsletterTrue;\r\n this.registerResponseModel.mediaUserModel.termsAndConditions = this.TC;\r\n if (\r\n this.valForm.valid &&\r\n this.password.valid &&\r\n this.confirmPassword.valid &&\r\n this.email.valid &&\r\n this.termsAndConditions &&\r\n this.noMediaUserType &&\r\n this.registerResponseModel.mediaUserModel.mediaUserTypes\r\n ) {\r\n\r\n if (!this.checkPasswordService.hasPasswordHardening() || this.checkPasswordService.hasPasswordHardening() && this.checkPasswordService.checkAll(this.password.value)) {\r\n this.register();\r\n } else {\r\n this.toastr.error(\"Password does not meet the requirements\", 'Oh Snap!', ToastrConfig.error);\r\n }\r\n } else {\r\n Object.keys(this.valForm.controls).forEach((key) => {\r\n const controlErrors: ValidationErrors = this.valForm.get(key).errors;\r\n if (controlErrors != null) {\r\n Object.keys(controlErrors).forEach((keyError) => {\r\n console.log(\r\n \"Key control: \" +\r\n key +\r\n \", keyError: \" +\r\n keyError +\r\n \", err value: \",\r\n controlErrors[keyError]\r\n );\r\n });\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n {{ language.signIn }}\r\n

\r\n

\r\n {{ language.register }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.firstNameRequired }}\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.lastNameRequired }}\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.emailNameRequired }}\r\n Must be a valid\r\n email address\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \"Show\r\n \"Hide\r\n
\r\n \r\n \r\n Password is required\r\n \r\n {{ language.max50Characters }}\r\n \r\n {{ language.min4Characters }}\r\n \r\n {{ language.passwordNoSpaces }}\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Number\r\n (0-9)\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Special\r\n Character\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Atleast\r\n 8 Character\r\n
\r\n
\r\n
\r\n X
\r\n \r\n Lowercase\r\n & Uppercase\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \"Show\r\n \"Hide\r\n
\r\n \r\n \r\n {{ language.confirmPasswordRequired }}\r\n {{ language.passwordsNoMatch }}\r\n
\r\n
\r\n \r\n
\r\n Users\r\n
\r\n \r\n
{{ user }}{{ isLast ? \"\" : \", \" }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{ user.name }}
\r\n
\r\n
\r\n
\r\n
\r\n {{ language.mediaUserTypeRequired }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n {{ language.categories }}\r\n
\r\n \r\n
\r\n {{ cat.label }}{{ isLast ? \"\" : \", \" }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
All
\r\n
\r\n
\r\n \r\n
\r\n {{ category.label }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n {{ language.languages }}\r\n
\r\n \r\n
{{ lang }}{{ isLast ? \"\" : \", \" }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ lang.label }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {{\r\n registerResponseModel?.registrationInfoModel\r\n ?.registerTermsQuestion\r\n }}\r\n
\r\n
\r\n \r\n You must read the Terms and Conditions first\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { StorageService } from './storage.service';\r\n\r\n\r\n\r\n// import {TokenManagerService} from './token-login.service';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpErrorResponse, HttpHandler, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { ErrorService } from \"./error-service\";\r\nimport { ToastrConfig } from '../helpers/toastr-config';\r\n\r\n@Injectable()\r\nexport class HttpRequestService {\r\n\r\n\r\n constructor(private http: HttpClient, private toastr: ToastrService, private errorService: ErrorService, private router: Router, private storageService: StorageService) {\r\n }\r\n\r\n handleError(error: any, url: string, data?: any, noErrorToast?: boolean, handleError: boolean = true) {\r\n\r\n if (error.status && error.status === 401 && handleError) {\r\n localStorage.removeItem('Token');\r\n localStorage.removeItem('User')\r\n sessionStorage.removeItem('mustRegister');\r\n this.storageService.setName(\"\");\r\n this.router.navigate(['sign-in']);\r\n return observableThrowError(\"Login required.\");\r\n }\r\n\r\n let errMsg: any;\r\n errMsg = error.error.message ? error.error.message : error.toString();\r\n\r\n if (errMsg === 'User does not exist!' && handleError) {\r\n localStorage.removeItem('Token');\r\n localStorage.removeItem('User')\r\n sessionStorage.removeItem('mustRegister');\r\n this.storageService.setName(\"\");\r\n this.router.navigate(['sign-in']);\r\n return;\r\n }\r\n\r\n //\r\n\r\n let headerFooter = null;\r\n if (localStorage.getItem('headerfooter'))\r\n headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n\r\n if (error.status >= 500 && headerFooter && headerFooter.customErrorRedirect && handleError) {\r\n let action = url;\r\n if (data) {\r\n action = url + '---' + JSON.stringify(data);\r\n }\r\n\r\n this.errorService.setError({\r\n action: action,\r\n message: errMsg\r\n });\r\n this.router.navigate(['/error']);\r\n\r\n return observableThrowError(errMsg);\r\n }\r\n\r\n if (!noErrorToast) {\r\n this.toastr.error(errMsg, 'Oh Snap!', ToastrConfig.error);\r\n }\r\n\r\n return observableThrowError(errMsg);\r\n }\r\n\r\n get(url: string, showSuccessToast?: boolean, toastMessage?: string, noErrorToast?: boolean) {\r\n const result = this.http.get(url).pipe(\r\n map((response: Response) => {\r\n if (showSuccessToast) {\r\n this.toastr.success(toastMessage ? toastMessage : 'Operation successful.', 'Well Done!', ToastrConfig.success);\r\n }\r\n return response;\r\n }),\r\n catchError((response) => this.handleError(response, url, null, noErrorToast)));\r\n return result;\r\n }\r\n\r\n post(url: string, request: any, showSuccessToast?: boolean, toastMessage?: string, noErrorToast?: boolean, handleError: boolean = true) {\r\n const result = this.http.post(url, request).pipe(\r\n map((response: Response) => {\r\n if (showSuccessToast) {\r\n this.toastr.success(toastMessage ? toastMessage : 'Operation successful.', 'Well Done!', ToastrConfig.success);\r\n }\r\n return response;\r\n }),\r\n catchError((response) => this.handleError(response, url, request, noErrorToast, handleError)));\r\n return result;\r\n }\r\n\r\n delete(url: string, showSuccessToast?: boolean, toastMessage?: string, noErrorToast?: boolean) {\r\n const result = this.http.delete(url).pipe(\r\n map((response: Response) => {\r\n if (showSuccessToast) {\r\n this.toastr.success(toastMessage ? toastMessage : 'Operation successful.', 'Well Done!', ToastrConfig.success);\r\n }\r\n if (response == null) {\r\n return null;\r\n }\r\n\r\n return response;\r\n }),\r\n catchError((response) => this.handleError(response, url, null, noErrorToast)));\r\n return result;\r\n }\r\n\r\n put(url: string, request: any, showSuccessToast?: boolean, toastMessage?: string, noErrorToast?: boolean) {\r\n const result = this.http.put(url, request).pipe(\r\n map((response: Response) => {\r\n if (showSuccessToast) {\r\n this.toastr.success(toastMessage ? toastMessage : 'Operation successful.', 'Well Done!', ToastrConfig.success);\r\n }\r\n\r\n return response;\r\n }),\r\n catchError((response) => this.handleError(response, url, request, noErrorToast)));\r\n return result;\r\n }\r\n\r\n postMultipart(url: string, data: any, files: File[], showSuccessToast?: boolean, toastMessage?: string, noErrorToast?: boolean) {\r\n const formData: FormData = new FormData();\r\n formData.append('data', JSON.stringify(data));\r\n for (const file of files) {\r\n formData.append(file.name, file);\r\n }\r\n const result = this.http.post(url, formData).pipe(\r\n map((response: Response) => {\r\n // if (response == null) {\r\n // return null;\r\n // } else {\r\n\r\n if (showSuccessToast) {\r\n this.toastr.success(toastMessage ? toastMessage : 'Operation successful.', 'Well Done!', ToastrConfig.success);\r\n }\r\n\r\n return response;\r\n // }\r\n }),\r\n catchError((response) => this.handleError(response, url, data, noErrorToast)));\r\n return result;\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Language} from '../../models/language/language.model';\r\nimport {Subject} from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class LanguageService {\r\n\r\n public languageId: Subject = new Subject();\r\n public language: Subject = new Subject();\r\n\r\n pageLanguage: Language;\r\n\r\n constructor() {\r\n }\r\n\r\n getLanguage() {\r\n if (!this.pageLanguage)\r\n this.pageLanguage = new Language();\r\n\r\n return this.pageLanguage;\r\n }\r\n\r\n\r\n setLanguageId(languageId: number) {\r\n localStorage.setItem('lng', languageId.toString());\r\n this.languageId.next(languageId);\r\n }\r\n\r\n setLanguage(pageLanguage: Language) {\r\n this.pageLanguage = pageLanguage;\r\n this.language.next(pageLanguage);\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

\r\n {{ language.searchForTerm }}\r\n

\r\n

\r\n {{ language.searchResults || \"Showing results for:\" }} \"{{\r\n searchModel?.searchText\r\n }}\"\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ language.news }}\r\n
\r\n
\r\n {{ language.media }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n

\r\n {{ language.searchNoResults }}\r\n

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

\r\n {{ language.searchNoResults }}\r\n

\r\n
\r\n \r\n
\r\n \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, NgZone, OnInit } from \"@angular/core\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { Location } from \"@angular/common\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { MyFilesService } from \"../../shared/services/my-files.service\";\r\nimport { WebNewsModel } from \"../news/news-model\";\r\nimport { AlgoliaService } from \"../../shared/services/algolia.service\";\r\nimport { WebManageMediaModel } from \"../../download/download-model\";\r\nimport {\r\n SearchResultModel,\r\n AlgoliaNewsRecords,\r\n AlgoliaMediaRecords,\r\n} from \"../../header/search/search-model\";\r\nimport { MyFilesModel } from \"../../shared/services/my-files-model\";\r\n\r\n@Component({\r\n selector: \"app-results\",\r\n templateUrl: \"./results.component.html\",\r\n styleUrls: [\"./results.component.less\"],\r\n})\r\nexport class ResultsComponent implements OnInit {\r\n buttonsHelper = ButtonsHelper;\r\n resultStories: any;\r\n resultMedia: any = [];\r\n autoplay: boolean;\r\n mediaId: number;\r\n popup: boolean;\r\n loader: boolean;\r\n storyId: number;\r\n addDropdown: boolean;\r\n user: any;\r\n headerFooter: any;\r\n styles = new PageStyle();\r\n socials: string[] = [];\r\n currentUrl: string;\r\n language: Language;\r\n mediaTop: number;\r\n pageStories = 1;\r\n pageSizeStories = 12;\r\n maxPageStories = 1;\r\n totalCountStories: number;\r\n searchResults: number;\r\n isPublished: boolean = false;\r\n grid: string;\r\n itemsPerPage = 12;\r\n newsHeadlineLength: number = 120;\r\n pageMedia = 1;\r\n pageSizeMedia = 12;\r\n maxPageMedia = 1;\r\n totalCountMedia: number;\r\n searchModel: any;\r\n loaderMedia = true;\r\n loaderStory = true;\r\n lazyLoadingLoader = false;\r\n showingStories = true;\r\n showLoadMore = true;\r\n cart: MyFilesModel = new MyFilesModel([], []);\r\n storyGroups: WebNewsModel[][] = [[]];\r\n mediaGroups: WebManageMediaModel[][] = [[]];\r\n searchResultStories = new SearchResultModel();\r\n searchResultMedia = new SearchResultModel();\r\n resultId: number;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private router: Router,\r\n private languageService: LanguageService,\r\n private storageService: StorageService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private location: Location,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private http: HttpClient,\r\n ngZone: NgZone,\r\n private myFilesService: MyFilesService,\r\n private algoliaService: AlgoliaService\r\n ) {\r\n this.myFilesService.files.subscribe((myFiles) => {\r\n this.cart = myFiles;\r\n });\r\n this.newsHeadlineLength = 90;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 65;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 12;\r\n }\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.route.params.subscribe((params: Params) => {\r\n const id: string = params[\"id\"];\r\n const title: string = params[\"title\"];\r\n let media: string = params[\"media\"];\r\n\r\n if (media && media.indexOf(\"?\") > -1)\r\n media = media.substr(0, media.indexOf(\"?\"));\r\n\r\n this.resultId = +id;\r\n if (media) {\r\n this.openPopup(+media);\r\n }\r\n });\r\n\r\n this.route.queryParams.subscribe((params) => {\r\n this.isPublished = params[\"isPublished\"];\r\n if (this.isPublished === undefined) this.isPublished = false;\r\n console.log(\"published\", this.isPublished);\r\n if (this.isPublished) {\r\n this.openPopup(this.resultId);\r\n }\r\n });\r\n\r\n window.onresize = (e) => {\r\n ngZone.run(() => {\r\n this.getDimensions();\r\n });\r\n };\r\n }\r\n\r\n @HostListener(\"window:scroll\", [\"$event\"])\r\n onScroll(event) {\r\n if (\r\n window.innerHeight + window.scrollY >= document.body.offsetHeight - 300 &&\r\n !this.lazyLoadingLoader\r\n ) {\r\n this.loadMore();\r\n }\r\n }\r\n\r\n loadMore() {\r\n if (\r\n this.searchModel.stories &&\r\n this.searchModel.page < this.maxPageStories\r\n ) {\r\n this.searchModel.page++;\r\n this.lazyLoadingLoader = true;\r\n this.changePageStories(this.searchModel.page);\r\n } else if (\r\n this.searchModel.media &&\r\n this.searchModel.page < this.maxPageMedia\r\n ) {\r\n this.searchModel.page++;\r\n this.lazyLoadingLoader = true;\r\n this.changePageMedia(this.searchModel.page);\r\n }\r\n }\r\n\r\n addToMyFiles(media) {\r\n let component = this;\r\n if (component.cart.isInMyFiles(media.id, this.isPublished)) {\r\n component.myFilesService.pushMyFiles(media.id, this.isPublished);\r\n }\r\n }\r\n\r\n download(media) {\r\n media.downloading = true;\r\n this.getMediaDetail(media);\r\n }\r\n\r\n getMediaDetail(media) {\r\n let language = Number(localStorage.getItem(\"lng\"));\r\n let mediaDetailResponseModel;\r\n this.mcService.getMediaDetail(media.id, language, this.isPublished).subscribe(\r\n (response: any) => {\r\n mediaDetailResponseModel = response;\r\n if (\r\n mediaDetailResponseModel.mustRegisterToAccess &&\r\n !mediaDetailResponseModel.anonymousShare &&\r\n !localStorage.getItem(\"Token\")\r\n ) {\r\n sessionStorage.setItem(\"redirectUrl\", \"/\" + window.location.pathname);\r\n this.router.navigateByUrl(\"/sign-in\");\r\n }\r\n if (mediaDetailResponseModel.downloadLinks.length > 0) {\r\n this.downloadMedia(\r\n mediaDetailResponseModel.downloadLinks[0],\r\n mediaDetailResponseModel,\r\n media\r\n );\r\n }\r\n },\r\n (error) => {\r\n media.downloading = false;\r\n //\r\n }\r\n );\r\n }\r\n\r\n downloadMedia(download, mediaDetailResponseModel, media) {\r\n const iOS =\r\n !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\r\n\r\n if (iOS) {\r\n try {\r\n (window as any).webkit.messageHandlers.downloadClicked.postMessage({\r\n url: download.downloadUrl,\r\n });\r\n } catch (err) {\r\n media.downloading = false;\r\n }\r\n\r\n return;\r\n }\r\n const component = this;\r\n download.downloadActive = true;\r\n this.http.get(download.downloadUrl, { responseType: \"blob\" }).subscribe(\r\n (blob: Blob) => {\r\n const filename = download.downloadUrl.split(\"/\")[8];\r\n saveAs(blob, filename);\r\n media.downloading = false;\r\n if (component.user.cmsUser == null) {\r\n component.addDownload(media.id);\r\n }\r\n },\r\n (error) => {\r\n media.downloading = false;\r\n }\r\n );\r\n }\r\n\r\n addDownload(mediaId) {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n let niz: any = {};\r\n niz.mediaIds = [mediaId];\r\n niz.userId = this.user.id;\r\n niz.mediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n showStories() {\r\n if (!this.searchModel.stories || true) {\r\n this.searchModel.stories = true;\r\n this.searchModel.media = false;\r\n this.storageService.setSearchModel(this.searchModel);\r\n if (this.searchResultStories.stories.length == 0) {\r\n this.searchMc();\r\n }\r\n }\r\n }\r\n\r\n showMedia() {\r\n if (!this.searchModel.media || true) {\r\n this.searchModel.stories = false;\r\n this.searchModel.media = true;\r\n this.storageService.setSearchModel(this.searchModel);\r\n if (this.searchResultMedia.media.length == 0) {\r\n this.searchMc();\r\n }\r\n }\r\n }\r\n\r\n async searchMc() {\r\n if (this.searchModel.stories) {\r\n this.loaderStory = true;\r\n this.searchModel.languageId = Number(localStorage.getItem(\"lng\"));\r\n this.searchModel.page = 1;\r\n this.searchModel.pageSize = 12;\r\n\r\n const response = await this.algoliaService.searchStories(\r\n this.searchModel.searchText,\r\n this.searchModel.page\r\n );\r\n const hits: AlgoliaNewsRecords[] = response.hits;\r\n this.searchResultStories.stories = hits\r\n .map((hit) => AlgoliaNewsRecords.convertToWebNewsModel(hit))\r\n .filter((story) => story?.fullHDUrl || story?.thumbUrl);\r\n this.maxPageStories = response.nbPages;\r\n for (const result of this.searchResultStories.stories) {\r\n if (result.featuredEmbeddedCode) {\r\n result.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n result.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n this.checkMustBeRegistered(\r\n this.searchResultStories?.mustRegisterToAccess\r\n );\r\n this.storageService.setSearchModel(this.searchModel);\r\n }\r\n\r\n if (this.searchModel.media) {\r\n this.loaderMedia = true;\r\n this.searchModel.page = 1;\r\n this.searchModel.pageSize = 12;\r\n\r\n const response = await this.algoliaService.searchMedia(\r\n this.searchModel.searchText,\r\n this.searchModel.page\r\n );\r\n const hits: AlgoliaMediaRecords[] = response.hits;\r\n this.searchResultMedia.media = hits.map((hit) =>\r\n AlgoliaMediaRecords.convertToWebManageMediaModel(hit)\r\n );\r\n this.maxPageMedia = response.nbPages;\r\n this.checkMustBeRegistered(this.searchResultMedia?.mustRegisterToAccess);\r\n this.storageService.setSearchModel(this.searchModel);\r\n }\r\n\r\n this.resultStories = this.searchResultStories;\r\n this.resultMedia = this.searchResultMedia;\r\n }\r\n\r\n checkMustBeRegistered(mustRegisterToAccess) {\r\n if (\r\n mustRegisterToAccess === true &&\r\n localStorage.getItem(\"Token\") == null\r\n ) {\r\n this.loader = false;\r\n sessionStorage.setItem(\"redirectUrl\", \"/\" + window.location.pathname);\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n if (this.searchModel.media)\r\n this.storageService.setSearchItemMedia(this.searchResultMedia);\r\n else this.storageService.setSearchItemStories(this.searchResultStories);\r\n this.loader = false;\r\n }\r\n }\r\n\r\n updateMedia(e) {\r\n for (const media of this.resultMedia.media) {\r\n if (media.id === e.id) {\r\n media.downloads = e.downloads;\r\n media.shares = e.shares;\r\n media.views = e.views;\r\n }\r\n }\r\n }\r\n\r\n openPopup(id: number) {\r\n this.popup = true;\r\n this.mediaId = id;\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.getDimensions();\r\n }\r\n\r\n ngOnInit() {\r\n this.cart = this.myFilesService.getMyFiles();\r\n this.loaderMedia = true;\r\n this.loaderStory = true;\r\n this.headerFooter = JSON.parse(localStorage.getItem(\"headerfooter\"));\r\n if (this.headerFooter != null && this.headerFooter != undefined) {\r\n this.headerFooter.headerLinks.forEach((x) => (x.active = false));\r\n this.headerFooter.footerLinks.forEach((x) => (x.active = false));\r\n }\r\n this.storageService.getSearchModel().subscribe((searchModel) => {\r\n this.searchModel = searchModel;\r\n });\r\n\r\n this.user = TokenManagerService.getUser();\r\n\r\n this.storageService.getSearchItemStories().subscribe((term) => {\r\n //aca agarro nuevos resultados de busqueda desde el search, entonces arranco de 0\r\n this.resultStories = term;\r\n this.searchResultStories = term;\r\n if (this.resultStories.maxPages)\r\n this.maxPageStories = this.resultStories.maxPages;\r\n // if (!this.resultStories?.stories) {\r\n this.storyGroups = [[]];\r\n // }\r\n this.groupStories();\r\n this.loaderStory = false;\r\n });\r\n\r\n this.storageService.getSearchItemMedia().subscribe((term) => {\r\n //aca agarro nuevos resultados de busqueda desde el search, entonces arranco de 0\r\n this.resultMedia = term;\r\n this.searchResultMedia = term;\r\n if (this.resultMedia.maxPages)\r\n this.maxPageMedia = this.resultMedia.maxPages;\r\n // if (!this.resultMedia?.media) {\r\n this.mediaGroups = [[]];\r\n // }\r\n this.groupMedia();\r\n this.loaderMedia = false;\r\n });\r\n }\r\n\r\n groupStories() {\r\n let count = 0;\r\n if (this.searchResultStories?.stories || this.resultStories?.stories)\r\n for (const story of this.resultStories?.stories) {\r\n if (this.storyGroups[count].length >= 4) count++;\r\n if (!this.storyGroups[count]) this.storyGroups[count] = [];\r\n this.storyGroups[count].push(story);\r\n }\r\n }\r\n\r\n groupMedia() {\r\n let count = 0;\r\n if (this.searchResultMedia?.media || this.resultMedia?.media)\r\n for (const media of this.resultMedia?.media) {\r\n if (this.mediaGroups[count].length >= 4) count++;\r\n if (!this.mediaGroups[count]) this.mediaGroups[count] = [];\r\n this.mediaGroups[count].push(media);\r\n }\r\n }\r\n\r\n getDimensions() {\r\n const mediaPosition = document.getElementById(\r\n \"media-wrapper\"\r\n ) as HTMLElement;\r\n this.mediaTop = mediaPosition?.offsetTop;\r\n if (window.outerWidth < 768) {\r\n this.searchResults = 6;\r\n } else {\r\n this.searchResults = 10;\r\n }\r\n }\r\n\r\n showSubCategory(news) {\r\n news.subCategory = !news.subCategory;\r\n }\r\n\r\n getStoryUrl(storyId) {\r\n return (\r\n this.currentUrl.replace(\"results\", \"story\") +\r\n \"/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.resultStories.stories.find((x) => x.staggingStoryId == storyId)\r\n .storyTitle\r\n )\r\n );\r\n }\r\n\r\n readMore(id) {\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.router.navigate([\r\n \"/story/\" +\r\n id.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.resultStories.stories.find(\r\n (x) => x.staggingStoryId == id.staggingStoryId\r\n ).storyTitle\r\n ),\r\n ]);\r\n }\r\n\r\n openDropdown(id) {\r\n for (const x of this.resultStories.stories) {\r\n if (x.storyId === id) {\r\n x.dropdown = !x.dropdown;\r\n }\r\n }\r\n }\r\n\r\n openMediaPopup(media) {\r\n this.autoplay = false;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n this.location.replaceState(media.relativeShareUrl);\r\n }\r\n\r\n openMediaPopupAutplay(media) {\r\n this.autoplay = true;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n this.location.replaceState(media.relativeShareUrl);\r\n }\r\n\r\n async changePageStories(page) {\r\n this.pageStories = page;\r\n this.searchModel.page = page;\r\n const response = await this.algoliaService.searchStories(\r\n this.searchModel.searchText,\r\n this.searchModel.page\r\n );\r\n const hits: AlgoliaNewsRecords[] = response.hits;\r\n this.searchResultStories.stories = hits.map((hit) =>\r\n AlgoliaNewsRecords.convertToWebNewsModel(hit)\r\n );\r\n this.maxPageStories = response.nbPages;\r\n\r\n if (this.resultStories.socialSharing != null) {\r\n this.socials = this.resultStories.socialSharing;\r\n }\r\n this.resultStories.stories = this.resultStories.stories.concat(\r\n response.stories\r\n );\r\n this.groupStories();\r\n this.lazyLoadingLoader = false;\r\n }\r\n\r\n async changePageMedia(page) {\r\n this.pageMedia = page;\r\n this.searchModel.page = page;\r\n\r\n const response = await this.algoliaService.searchMedia(\r\n this.searchModel.searchText,\r\n this.searchModel.page\r\n );\r\n const hits: AlgoliaMediaRecords[] = response.hits;\r\n this.searchResultMedia.media = hits.map((hit) =>\r\n AlgoliaMediaRecords.convertToWebManageMediaModel(hit)\r\n );\r\n this.maxPageMedia = response.nbPages;\r\n\r\n if (response.media) {\r\n for (let f of response.media) {\r\n if (f.mediaType === \"Audio\" || f.mediaType === \"Video\") {\r\n f.mediaLengthMin = Math.floor(f.mediaLenght / 60);\r\n f.mediaLengthSec = f.mediaLenght - f.mediaLengthMin * 60;\r\n }\r\n }\r\n }\r\n\r\n if (response.socialSharing != null) {\r\n this.socials = response.socialSharing;\r\n }\r\n if (response.media != undefined) {\r\n const niz = response.media;\r\n for (const x of niz) {\r\n if (x.mediaType === \"Document\") {\r\n x.thumbUrl = \"assets/images/document_default.png\";\r\n } else if (x.mediaType === \"Audio\") {\r\n x.thumbUrl = \"assets/images/audio_default.png\";\r\n }\r\n }\r\n this.resultMedia.media = this.resultMedia.media.concat(response.media);\r\n }\r\n this.groupMedia();\r\n this.lazyLoadingLoader = false;\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.less']\r\n})\r\nexport class DropdownComponent implements OnInit {\r\n @Input() dropdownLabel: string;\r\n @ViewChild ('dropDownList') dropDownList: ElementRef;\r\n @ViewChild ('dropdownPop') dropdownPop: ElementRef;\r\n @Output() filtered = new EventEmitter();\r\n @Input() dropdownSize: string;\r\n @Input() dropdownStyle: boolean;\r\n @Input() sourceList: any;\r\n\r\n dropdown = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event['value'] === true) {\r\n this.dropdown = false;\r\n }\r\n }\r\n\r\n toggleDropdown() {\r\n this.dropdown = !this.dropdown;\r\n }\r\n\r\n changeLabel(s) {\r\n this.dropdownLabel = s.label;\r\n this.filtered.emit(s);\r\n // this.filtered = this.sourceList.filter(x => x.id === s.id);\r\n\r\n }\r\n}\r\n","
\r\n {{dropdownLabel}}\r\n
\r\n
\r\n {{s.label}}\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpRequestService } from '../../shared/services/http-request.service';\r\n\r\n@Injectable()\r\nexport class AboutService {\r\n\r\n constructor(private http: HttpRequestService) {\r\n }\r\n\r\n private mediaCenterWebAboutUsUrl = environment.apiUrl + '/MediaCenterWeb/MediaCenterWebAboutUs';\r\n\r\n mediaCenterWebAboutUs() {\r\n return this.http.get(this.mediaCenterWebAboutUsUrl);\r\n }\r\n\r\n}\r\n","import { Component, Input, NgZone, OnInit } from \"@angular/core\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { TokenManagerService } from \"../../services/token-manager.service\";\r\nimport { StorageService } from \"../../services/storage.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { McService } from \"../../services/mc-service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { FontsAndColorsService } from \"../../services/fonts-and-colors.service\";\r\n\r\n@Component({\r\n selector: \"app-loader\",\r\n templateUrl: \"./loader.component.html\",\r\n styleUrls: [\"./loader.component.less\"],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n @Input()\r\n blockScroll: boolean = true;\r\n\r\n styles = new PageStyle();\r\n user: any;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private router: Router,\r\n private http: HttpClient,\r\n ngZone: NgZone,\r\n private sService: StorageService,\r\n private fontsAndColorsService: FontsAndColorsService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n }\r\n\r\n ngOnInit() {\r\n this.user = TokenManagerService.getUser();\r\n if (this.blockScroll) {\r\n window.scrollTo(0, 0);\r\n document.body.classList.add(\"noScroll\");\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.blockScroll) document.body.classList.remove(\"noScroll\");\r\n }\r\n\r\n setColor(e) {\r\n setTimeout(() => {\r\n const element = document.getElementsByClassName(\r\n \"current\"\r\n ) as HTMLCollectionOf;\r\n element[0].style.backgroundColor =\r\n \"\" + this.styles.style.mainIdentifyingColor;\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export class Consent {\r\n public facebookSocialPlugins: boolean = false;\r\n public googleAnalytics: boolean = false;\r\n public googleFonts: boolean = false;\r\n public googleMaps: boolean = false;\r\n public googleTagManager: boolean = false;\r\n public UsercentricsConsentManagementPlatform: boolean = false;\r\n public jquery: boolean = false;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class MCLanguageService {\r\n public language: Subject = new Subject();\r\n\r\n mcLanguage: any = null;\r\n\r\n constructor() {}\r\n\r\n getMCLanguage() {\r\n // if (!this.mcLanguage)\r\n // this.pageLanguage = new Language();\r\n return this.mcLanguage;\r\n }\r\n\r\n setMCLanguage(mcLanguage: Language) {\r\n this.mcLanguage = mcLanguage;\r\n this.language.next(mcLanguage);\r\n }\r\n}\r\n","import { Component, Input, NgZone, OnInit } from \"@angular/core\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { TokenManagerService } from \"../../services/token-manager.service\";\r\nimport { StorageService } from \"../../services/storage.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { McService } from \"../../services/mc-service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { FontsAndColorsService } from \"../../services/fonts-and-colors.service\";\r\n\r\n@Component({\r\n selector: \"app-loadersmall\",\r\n templateUrl: \"./loader.component.html\",\r\n styleUrls: [\"./loader.component.less\"],\r\n})\r\nexport class LoadersmallComponent implements OnInit {\r\n @Input() class = \"\";\r\n styles = new PageStyle();\r\n user: any;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private router: Router,\r\n private http: HttpClient,\r\n ngZone: NgZone,\r\n private sService: StorageService,\r\n private fontsAndColorsService: FontsAndColorsService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n }\r\n\r\n ngOnInit() {\r\n // this.getStyle();\r\n this.user = TokenManagerService.getUser();\r\n //window.scrollTo(0, 0);\r\n }\r\n\r\n setColor(e) {\r\n setTimeout(() => {\r\n const element = document.getElementsByClassName(\r\n \"current\"\r\n ) as HTMLCollectionOf;\r\n element[0].style.backgroundColor =\r\n \"\" + this.styles.style.mainIdentifyingColor;\r\n });\r\n }\r\n\r\n // getStyle() {\r\n // this.mcService.getStyle()\r\n // .subscribe((response) => {\r\n // //\r\n // this.styles = response;\r\n //\r\n // },\r\n // (error) => {\r\n // //\r\n // });\r\n // }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export class TermsModel {\r\n public terms: string;\r\n public condition: string;\r\n public mustRegisterToAccess: boolean;\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rerender]'\r\n})\r\nexport class RerenderDirective {\r\n constructor(\r\n private templateRef: TemplateRef,\r\n private viewContainer: ViewContainerRef\r\n ) { }\r\n\r\n @Input() set rerender(val) {\r\n this.viewContainer.clear();\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n}","import { UrlsModel } from \"../../models/links/urls.model\";\r\n\r\nexport class AboutUsModel {\r\n public aboutUsH1Text: string;\r\n public aboutUsH2Text: string;\r\n public aboutUsH3Text: string;\r\n public aboutUsText: string;\r\n public aboutUsFinalText: string;\r\n public aboutUsQuoteText: string;\r\n public aboutUsSignature: string;\r\n public aboutUsBeforeStoreButtonsText: string;\r\n public aboutUsAfterStoreButtonsText: string;\r\n public aboutUsHeroImageUrl: string;\r\n public mustRegisterToDownload: boolean;\r\n public mustRegisterToAccess: boolean;\r\n public aboutUsLinks: UrlsModel[];\r\n public ourTeam: TeamModel[];\r\n\r\n constructor() {\r\n this.aboutUsH1Text = '';\r\n this.aboutUsH2Text = '';\r\n this.aboutUsH3Text = '';\r\n this.aboutUsQuoteText = '';\r\n this.aboutUsSignature = '';\r\n this.aboutUsText = '';\r\n this.aboutUsHeroImageUrl = '';\r\n this.aboutUsAfterStoreButtonsText = '';\r\n this.aboutUsBeforeStoreButtonsText = '';\r\n }\r\n}\r\nexport class TeamModel {\r\n public name: string;\r\n public position: string;\r\n public thumbUrl: string;\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {CustomValidators} from 'ng2-validation';\r\nimport {McService} from '../../shared/services/mc-service';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {TokenManagerService} from '../../shared/services/token-manager.service';\r\nimport {ProfileModel, UserManageModel} from './profile-model';\r\nimport {StorageService} from '../../shared/services/storage.service';\r\nimport {FontsAndColorsService} from '../../shared/services/fonts-and-colors.service';\r\nimport {PageStyle} from '../../models/style/style.model';\r\nimport {Language} from \"../../models/language/language.model\";\r\nimport {LanguageService} from \"../../shared/services/language.service\";\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.less']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n addDropdown: boolean;\r\n isPasswordSet: boolean;\r\n\r\n @Input() dropdownStyle: boolean;\r\n dropdownLabel: string;\r\n dropdownLabel2: string;\r\n dropdownLabel3: string;\r\n list: string[];\r\n list2: string[];\r\n list3: string[];\r\n patternPassword = /^\\S*$/;\r\n confirmError = false;\r\n facebook = false;\r\n twitter = false;\r\n instagram = false;\r\n linkedin = false;\r\n youtube = false;\r\n loader: boolean;\r\n wordpress = false;\r\n dropdown = false;\r\n languageDropDown: boolean;\r\n categoryDropdown: boolean;\r\n valForm: FormGroup;\r\n userId: number;\r\n categories: any[] = [];\r\n languages: any[] = [];\r\n updateMessage: string;\r\n oldPassword: boolean;\r\n showPw: boolean;\r\n enterPw: boolean;\r\n mediaUser: boolean;\r\n users: any[] = [];\r\n allUsers: string[] = [];\r\n userType: string[] = [];\r\n usersToShow: any[] = [];\r\n noMediaUserType: boolean;\r\n styles = new PageStyle();\r\n language: Language;\r\n userFilled: boolean;\r\n userFilledValid: boolean;\r\n\r\n registerResponseModel = new ProfileModel();\r\n\r\n constructor(private mcService: McService, private fb: FormBuilder,private languageService: LanguageService, private sService: StorageService, public fontsAndColorsService: FontsAndColorsService) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.userId = TokenManagerService.getUser().id;\r\n this.isPasswordSet = TokenManagerService.getUser().isPasswordSet;\r\n // this.sService.getPw().subscribe(term => {\r\n // this.isPasswordSet = term;\r\n // });\r\n this.getUpdate();\r\n this.valForm = this.fb.group({\r\n 'firstname': [null, Validators.compose([Validators.required, Validators.maxLength(50)])],\r\n 'lastname': [null, Validators.compose([Validators.required, Validators.maxLength(50)])],\r\n 'telephone': [null],\r\n 'newsletter': [null],\r\n 'confirmPassword': [null],\r\n 'oldPassword': [null],\r\n 'facebook': [null],\r\n 'twitter': [null],\r\n 'instagram': [null],\r\n 'linkedin': [null],\r\n 'youtube': [null],\r\n 'wordpress': [null],\r\n 'password': [null, Validators.compose([Validators.maxLength(50), Validators.minLength(8), Validators.pattern(this.patternPassword)])],\r\n 'email': [null, Validators.compose([Validators.required, CustomValidators.email])],\r\n 'company': [null]\r\n });\r\n\r\n // this.valForm.controls['firstname'].setValidators(Validators.required);\r\n // this.valForm.controls['lastname'].setValidators(Validators.required);\r\n // this.valForm.controls['email'].setValidators(Validators.required);\r\n // this.valForm.controls['password'].setValidators(Validators.compose([Validators.maxLength(50), Validators.minLength(4), Validators.pattern(this.patternPassword)]));\r\n // this.valForm.updateValueAndValidity();\r\n\r\n\r\n this.addDropdown = false;\r\n this.dropdownLabel = 'Select media category';\r\n this.dropdownLabel2 = 'Select categories';\r\n this.dropdownLabel3 = 'Select your languages';\r\n this.list = ['dummy', 'dumyy'];\r\n this.list2 = ['dummy', 'dumyy'];\r\n this.list3 = ['dummy', 'dumyy'];\r\n }\r\n\r\n getUpdate() {\r\n this.loader = true;\r\n this.mcService.getUpdate(this.userId)\r\n .subscribe((response: any) => {\r\n this.registerResponseModel = response;\r\n this.loader = false;\r\n this.userType = this.registerResponseModel.mediaUserModel.mediaUserTypes;\r\n\r\n for (const x of this.registerResponseModel.userGroups) {\r\n for (const y of this.userType) {\r\n if (x.id === y) {\r\n x.checked = true;\r\n this.usersToShow.push(x.id);\r\n this.users.push(x.id);\r\n }\r\n }\r\n }\r\n this.allUsers = this.users;\r\n if (this.registerResponseModel.mediaUserModel.facebookLink != '' && this.registerResponseModel.mediaUserModel.facebookLink !== undefined) {\r\n this.facebook = true;\r\n }\r\n if (this.registerResponseModel.mediaUserModel.twitterLink != '' && this.registerResponseModel.mediaUserModel.twitterLink !== undefined) {\r\n this.twitter = true;\r\n }\r\n if (this.registerResponseModel.mediaUserModel.instagramLink != '' && this.registerResponseModel.mediaUserModel.instagramLink !== undefined) {\r\n this.instagram = true;\r\n }\r\n if (this.registerResponseModel.mediaUserModel.youTubeLink != '' && this.registerResponseModel.mediaUserModel.youTubeLink !== undefined) {\r\n this.youtube = true;\r\n }\r\n if (this.registerResponseModel.mediaUserModel.linkedInLink != '' && this.registerResponseModel.mediaUserModel.linkedInLink !== undefined) {\r\n this.linkedin = true;\r\n }\r\n if (this.registerResponseModel.mediaUserModel.wordPressLink != '' && this.registerResponseModel.mediaUserModel.wordPressLink !== undefined) {\r\n this.wordpress = true;\r\n }\r\n for (const x of this.registerResponseModel.mediaUserModel.languageIds) {\r\n for (const y of this.registerResponseModel.languages) {\r\n if (x === y.id) {\r\n y.checked = true;\r\n this.languages.push(y.label);\r\n }\r\n }\r\n }\r\n for (const x of this.registerResponseModel.mediaUserModel.customCategoryIds) {\r\n for (const y of this.registerResponseModel.customCatogories) {\r\n if (x === y.id) {\r\n y.marked = true;\r\n this.categories.push(y.label);\r\n }\r\n }\r\n\r\n }\r\n\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n\r\n addLanguage(lang) {\r\n const index = this.registerResponseModel.mediaUserModel.languageIds.indexOf(lang.id);\r\n lang.checked = !lang.checked;\r\n if (lang.checked) {\r\n this.registerResponseModel.mediaUserModel.languageIds.push(lang.id);\r\n this.languages.push(lang.label);\r\n }\r\n else {\r\n this.registerResponseModel.mediaUserModel.languageIds.splice(index, 1);\r\n this.languages.splice(index, 1);\r\n }\r\n }\r\n\r\n addCategory(category, event) {\r\n const index = this.registerResponseModel.mediaUserModel.customCategoryIds.indexOf(category.id);\r\n category.marked = !category.marked;\r\n if (category.marked) {\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.push(category.id);\r\n this.categories.push(category.label);\r\n }\r\n else {\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.splice(index, 1);\r\n this.categories.splice(index, 1);\r\n }\r\n if (event) {\r\n event.target.style.backgroundColor = event.target.checked ? this.styles.style.mainIdentifyingColor : '';\r\n }\r\n }\r\n\r\n\r\n addUser(user, event) {\r\n event.stopPropagation();\r\n const index = this.users.indexOf(user.id);\r\n user.checked = !user.checked;\r\n\r\n\r\n if (user.checked) {\r\n this.users.push(user.id);\r\n this.usersToShow.push(user.id);\r\n this.noMediaUserType = true;\r\n this.userFilled = true;\r\n }\r\n else {\r\n this.users.splice(index, 1);\r\n this.usersToShow.splice(index, 1);\r\n }\r\n if (this.users.length == 0) {\r\n this.noMediaUserType = false;\r\n }\r\n this.registerResponseModel.mediaUserModel.mediaUserTypes = this.users;\r\n event.target.style.backgroundColor = event.target.checked ? this.styles.style.mainIdentifyingColor : '';\r\n\r\n }\r\n\r\n\r\n\r\n // addUser(user) {\r\n // const index = this.registerResponseModel.userGroups.indexOf(user);\r\n // user.checked = !user.checked;\r\n // if (user.checked) {\r\n // this.users.push(user.id);\r\n // this.usersToShow.push(user.id);\r\n // this.allUsers.push(user.id);\r\n // }\r\n // else {\r\n // let indexOfUsers = -1;\r\n // for (let i = 0; i < this.users.length; i++) {\r\n // if (this.users[i] == index + 1) {\r\n // indexOfUsers = i;\r\n // break;\r\n // }\r\n // }\r\n // if (indexOfUsers !== -1) {\r\n // this.users.splice(indexOfUsers, 1);\r\n // this.usersToShow.splice(indexOfUsers, 1);\r\n // }\r\n // }\r\n\r\n // if (this.users.length == 0) {\r\n // this.noMediaUserType = false;\r\n // }\r\n // this.registerResponseModel.mediaUserModel.mediaUserTypes = this.allUsers;\r\n // }\r\n\r\n checkIfEmpty() {\r\n if (this.valForm.controls['email'].value.length === 0) {\r\n this.valForm.controls['email'].setValidators(Validators.required);\r\n }\r\n this.valForm.controls['email'].setValidators(CustomValidators.email);\r\n }\r\n\r\n openAddDropdown() {\r\n this.addDropdown = !this.addDropdown;\r\n }\r\n\r\n checkPassword() {\r\n if (this.valForm.controls['password'].value === this.valForm.controls['confirmPassword'].value) {\r\n this.confirmError = false;\r\n }\r\n\r\n }\r\n\r\n ifEmpty() {\r\n if (this.valForm.controls['oldPassword'].value != '') {\r\n this.showPw = true;\r\n this.enterPw = false;\r\n }\r\n if (this.valForm.controls['password'].value === '' && this.valForm.controls['oldPassword'].value != '') {\r\n this.oldPassword = true;\r\n }\r\n\r\n if (this.valForm.controls['oldPassword'].value == '' || this.valForm.controls['oldPassword'].value == null) {\r\n this.enterPw = false;\r\n }\r\n\r\n if (this.valForm.controls['oldPassword'].value == '' || this.valForm.controls['oldPassword'].value == null) {\r\n this.oldPassword = false;\r\n }\r\n }\r\n\r\n setConfirmError() {\r\n if (this.valForm.controls['password'].value !== this.valForm.controls['confirmPassword'].value) {\r\n this.confirmError = true;\r\n }\r\n if (this.valForm.controls['password'].value !== '' && this.valForm.controls['oldPassword'].value != '') {\r\n this.oldPassword = false;\r\n }\r\n if (this.valForm.controls['password'].value == '' && this.valForm.controls['oldPassword'].value != '') {\r\n this.oldPassword = true;\r\n }\r\n if (this.valForm.controls['password'].value !== '' && this.valForm.controls['oldPassword'].value == '') {\r\n this.enterPw = true;\r\n }\r\n\r\n // if (this.valForm.controls['password'].value === '') {\r\n // this.confirmError = false;\r\n // }\r\n\r\n }\r\n\r\n update() {\r\n window.scrollTo(0, 0);\r\n this.mcService.update(this.registerResponseModel.mediaUserModel)\r\n .subscribe((response) => {\r\n\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n\r\n newsletterCheck() {\r\n this.registerResponseModel.mediaUserModel.receiveNewsletter = !this.registerResponseModel.mediaUserModel.receiveNewsletter;\r\n }\r\n\r\n toggleDropdown() {\r\n this.dropdown = !this.dropdown;\r\n }\r\n\r\n onSubmit(e) {\r\n e.stopPropagation();\r\n if (this.valForm.controls['oldPassword'].value == '' && this.valForm.controls['password'].value != '') {\r\n this.enterPw = true;\r\n }\r\n if (this.valForm.controls['oldPassword'].value == '' && this.valForm.controls['password'].value == '') {\r\n this.enterPw = false;\r\n this.oldPassword = false;\r\n }\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n\r\n if (this.registerResponseModel.mediaUserModel.mediaUserTypes.length === 0) {\r\n this.userFilled = false;\r\n } else{\r\n this.userFilled = true;\r\n }\r\n\r\n if (this.valForm.valid && !this.oldPassword && !this.enterPw && this.userFilled) {\r\n this.update();\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 \r\n {{ language.firstNameRequired }}\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.lastNameRequired }}\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.emailNameRequired }}\r\n {{ language.invalidEmail }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.max50Characters }}\r\n \r\n {{ language.min4Characters }}\r\n \r\n {{ language.passwordNoSpaces }}\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.confirmPasswordRequired }}\r\n {{ language.passwordsNoMatch }}\r\n
\r\n
\r\n \r\n \r\n {{ language.mustEnterFirstPassword }}\r\n {{ language.mustEnterOldPassword }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{ language.languages }}\r\n
\r\n \r\n
{{ lan }}{{ isLast ? \"\" : \", \" }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{ lang.label }}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Users\r\n
\r\n \r\n
{{ user }}{{ isLast ? \"\" : \", \" }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{ user.name }}
\r\n
\r\n
\r\n
\r\n
\r\n {{ language.mediaUserTypeRequired }}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{ language.add }}
\r\n
\r\n
\r\n
\r\n \r\n
Facebook
\r\n
\r\n
\r\n \r\n
Twitter
\r\n
\r\n
\r\n \r\n
Linkedin
\r\n
\r\n
\r\n \r\n
Instagram
\r\n
\r\n
\r\n \r\n
Youtube
\r\n
\r\n
\r\n \r\n
WordPress
\r\n
\r\n
\r\n {{ language.done }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {{ language.iWantNewsletter }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { McService } from \"../../../shared/services/mc-service\";\r\nimport { WebNewsDetailsMediaModel, WebNewsDetailsModel } from \"../news-model\";\r\nimport { Router, ActivatedRoute, Params } from \"@angular/router\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { saveAs } from \"file-saver\";\r\nimport * as JSZip from \"jszip\";\r\nimport * as JSZipUtils from \"jszip-utils\";\r\nimport { StorageService } from \"../../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../../shared/helpers/url-helper\";\r\nimport {\r\n SearchModel,\r\n SearchResultModel,\r\n WebSearchModel,\r\n} from \"../../../header/search/search-model\";\r\nimport { TokenManagerService } from \"../../../shared/services/token-manager.service\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../../shared/services/fonts-and-colors.service\";\r\nimport { DownloadAddToModel } from \"../../media/media-model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../../shared/services/language.service\";\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport {\r\n DomSanitizer,\r\n Meta,\r\n MetaDefinition,\r\n Title,\r\n} from \"@angular/platform-browser\";\r\nimport { MyFilesService } from \"../../../shared/services/my-files.service\";\r\nimport { ButtonsHelper } from \"../../../shared/helpers/buttons-helper\";\r\nimport { SavedStoryService } from \"../../../shared/services/saved-story.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { WebpHelperService } from \"../../../shared/services/webp-helper.service\";\r\n\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-news-detail-4\",\r\n templateUrl: \"./news-detail-4.component.html\",\r\n styleUrls: [\"./news-detail-4.component.less\"],\r\n})\r\nexport class NewsDetailComponent4 implements OnInit {\r\n urlSubscription: Subscription;\r\n\r\n popup: boolean;\r\n loginPopup: boolean;\r\n media: any[];\r\n\r\n filtered: WebNewsDetailsMediaModel[] = [];\r\n imageMedia: WebNewsDetailsMediaModel[] = [];\r\n audioMedia: WebNewsDetailsMediaModel[] = [];\r\n videoMedia: WebNewsDetailsMediaModel[] = [];\r\n documentMedia: WebNewsDetailsMediaModel[] = [];\r\n cartItems: any[] = [];\r\n image: number[] = [];\r\n video: number[] = [];\r\n audio: number[] = [];\r\n activeSubTab: number;\r\n storyId: number;\r\n url: string;\r\n forDownload: any[] = [];\r\n downloadIds: any[] = [];\r\n blob: any;\r\n loader: boolean;\r\n disabledButton: boolean;\r\n mediaId: number;\r\n autoplay: boolean;\r\n allFiles: number;\r\n share: boolean;\r\n all: boolean;\r\n imageTab: boolean;\r\n videoTab: boolean;\r\n documentTab: boolean;\r\n audioTab: boolean;\r\n user: any;\r\n styles = new PageStyle();\r\n activeAllTab = false;\r\n activeTab = \"all\";\r\n activeImageTab = false;\r\n activeVideoTab = false;\r\n activeDocumentsTab = false;\r\n activeAudioTab = false;\r\n activeFb = false;\r\n activeMail = false;\r\n activeTw = false;\r\n activeIn = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n allActive = false;\r\n imageActive = false;\r\n videoActive = false;\r\n docActive = false;\r\n audioActive = false;\r\n language: Language;\r\n sLng: number;\r\n token: string;\r\n relatedStoriesTabOpened = true;\r\n mediaTabOpened = true;\r\n isMediaUser: boolean;\r\n buttonsHelper = ButtonsHelper;\r\n publisher: string;\r\n\r\n private scrolled25: boolean = false;\r\n private scrolled50: boolean = false;\r\n private scrolled75: boolean = false;\r\n private scrolled90: boolean = false;\r\n private scrolled100: boolean = false;\r\n\r\n webNewsDetailsResponse: WebNewsDetailsModel;\r\n filters: any;\r\n\r\n constructor(\r\n private myFilesService: MyFilesService,\r\n private languageService: LanguageService,\r\n private mcService: McService,\r\n private meta: Meta,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private http: HttpClient,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private sanitizer: DomSanitizer,\r\n private titleService: Title,\r\n private savedStoryService: SavedStoryService,\r\n private storageService: StorageService,\r\n public webPHelperService: WebpHelperService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n this.token = localStorage.getItem(\"Token\");\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n onLogin(state) {\r\n if (state) {\r\n this.download({}, \"text\");\r\n }\r\n }\r\n\r\n activeallC(name) {\r\n if (name == \"all\") {\r\n if (this.activeAllTab) {\r\n this.allActive = true;\r\n } else {\r\n this.activeAllTab = true;\r\n }\r\n } else if (name == \"image\") {\r\n if (this.activeImageTab) {\r\n this.imageActive = true;\r\n } else {\r\n this.activeImageTab = true;\r\n }\r\n } else if (name == \"video\") {\r\n if (this.activeVideoTab) {\r\n this.videoActive = true;\r\n } else {\r\n this.activeVideoTab = true;\r\n }\r\n } else if (name == \"document\") {\r\n if (this.activeDocumentsTab) {\r\n this.docActive = true;\r\n } else {\r\n this.activeDocumentsTab = true;\r\n }\r\n } else if (name == \"audio\") {\r\n if (this.activeAudioTab) {\r\n this.audioActive = true;\r\n } else {\r\n this.activeAudioTab = true;\r\n }\r\n }\r\n }\r\n\r\n activeallCOut(name) {\r\n if (name == \"all\") {\r\n if (!this.allActive) {\r\n this.activeAllTab = false;\r\n }\r\n } else if (name == \"image\") {\r\n if (!this.imageActive) {\r\n this.activeImageTab = false;\r\n }\r\n } else if (name == \"video\") {\r\n if (!this.videoActive) {\r\n this.activeVideoTab = false;\r\n }\r\n } else if (name == \"document\") {\r\n if (!this.docActive) {\r\n this.activeDocumentsTab = false;\r\n }\r\n } else if (name == \"audio\") {\r\n if (!this.audioActive) {\r\n this.activeAudioTab = false;\r\n }\r\n }\r\n }\r\n\r\n showCart() {\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToDownload &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n window.scrollTo(0, 0);\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n if (this.cartItems.length > 0) {\r\n this.router.navigateByUrl(\"/download\");\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n addDownload() {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n let niz = new DownloadAddToModel();\r\n niz.storyMediaIds = this.downloadIds;\r\n niz.publishedMediaIds = [];\r\n niz.userId = this.user.id;\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.urlSubscription = this.route.params.subscribe((params: Params) => {\r\n this.getData();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.urlSubscription.unsubscribe();\r\n }\r\n\r\n getData() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.user = TokenManagerService.getUser();\r\n\r\n if (this.user.role === \"MediaUser\") {\r\n this.isMediaUser = false;\r\n } else if (this.user.role && this.user.role !== \"MediaUser\") {\r\n this.isMediaUser = true;\r\n } else {\r\n this.isMediaUser = false;\r\n }\r\n\r\n this.storyId = +this.router.routerState.snapshot.url.split(\"/\")[2];\r\n this.getNewsDetails();\r\n window.scrollTo(0, 0);\r\n this.popup = false;\r\n this.filtered = this.media;\r\n this.share = false;\r\n this.currentUrl = window.location.href;\r\n\r\n let mediaFromRoute = this.route.snapshot.paramMap.get(\"media\");\r\n if (mediaFromRoute != undefined) {\r\n let tempMedia = { id: mediaFromRoute };\r\n this.openMediaPopup(tempMedia);\r\n }\r\n }\r\n\r\n showSubCategory(story) {\r\n story.categoryDropdown = !story.categoryDropdown;\r\n }\r\n\r\n showSubCategoryRandom(story) {\r\n story.categoryDropdown = !story.categoryDropdown;\r\n }\r\n\r\n getNewsDetails() {\r\n this.loader = true;\r\n if (this.sLng == 0) {\r\n this.sLng = 1;\r\n }\r\n this.mcService\r\n .getNewsDetail(this.storyId, this.sLng, this.isMediaUser)\r\n .subscribe(\r\n (response: any) => {\r\n this.webNewsDetailsResponse = response;\r\n console.log(\"story\", this.webNewsDetailsResponse);\r\n this.titleService.setTitle(response?.storyTitle.substring(0, 65));\r\n this.meta.updateTag({\r\n name: \"keywords\",\r\n content: response?.storyTitle.substring(0, 65),\r\n });\r\n this.meta.updateTag({\r\n name: \"description\",\r\n content: response?.shortDescription.substring(0, 100),\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:title\",\r\n content: response?.storyTitle.substring(0, 65),\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:description\",\r\n content: response?.shortDescription.substring(0, 100),\r\n });\r\n\r\n this.webNewsDetailsResponse.alsoMayLike =\r\n this.webNewsDetailsResponse.alsoMayLike.slice(0, 4);\r\n for (const media of this.webNewsDetailsResponse.media) {\r\n media.shareUrl =\r\n UrlHelper.getCurrentUrlHostOnly() +\r\n \"/content-files/\" +\r\n this.webNewsDetailsResponse.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(this.webNewsDetailsResponse.storyTitle) +\r\n \"/\" +\r\n media.id;\r\n //\r\n }\r\n\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToAccess &&\r\n !this.webNewsDetailsResponse.anonymousShare &&\r\n !this.token\r\n ) {\r\n sessionStorage.setItem(\r\n \"redirectUrl\",\r\n \"/\" + window.location.pathname\r\n );\r\n this.router.navigateByUrl(\"/sign-in\");\r\n }\r\n\r\n if (this.webNewsDetailsResponse.featuredEmbeddedCode) {\r\n this.webNewsDetailsResponse.embeddedCode =\r\n this.sanitizer.bypassSecurityTrustHtml(\r\n this.webNewsDetailsResponse.featuredEmbeddedCode\r\n );\r\n }\r\n\r\n for (const story of this.webNewsDetailsResponse.alsoMayLike) {\r\n if (story.featuredEmbeddedCode) {\r\n story.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n story.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n\r\n if (this.webNewsDetailsResponse.socialSharing != null) {\r\n this.socials = this.webNewsDetailsResponse.socialSharing;\r\n }\r\n\r\n this.allFiles =\r\n this.webNewsDetailsResponse.images +\r\n this.webNewsDetailsResponse.video +\r\n this.webNewsDetailsResponse.document +\r\n this.webNewsDetailsResponse.audio;\r\n this.filtered = response.media;\r\n this.loader = false;\r\n\r\n for (const f of this.filtered) {\r\n if (f.mediaType === \"Audio\" || f.mediaType === \"Video\") {\r\n f.mediaLengthMin = Math.floor(f.mediaLenght / 60);\r\n f.mediaLengthSec = f.mediaLenght - f.mediaLengthMin * 60;\r\n }\r\n }\r\n\r\n this.groupMedia();\r\n\r\n if (localStorage.getItem(\"cart\") != null) {\r\n this.cartItems = JSON.parse(localStorage.getItem(\"cart\"));\r\n }\r\n // this.meta.updateTag({name: 'keywords', content: response.thumbUrl});\r\n this.meta.updateTag({\r\n name: \"description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:title\",\r\n content: response.storyTitle,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:text:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:image\",\r\n content: response.thumbUrl,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:card\",\r\n content: \"summary_large_image\",\r\n });\r\n this.meta.updateTag({\r\n property: \"og:image\",\r\n content: response.thumbUrl,\r\n });\r\n this.meta.updateTag({\r\n property: \"og:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n property: \"og:title\",\r\n content: response.storyTitle,\r\n });\r\n setTimeout(() => {\r\n $(\"#bodytext a\").attr(\"target\", \"_blank\");\r\n }, 1000);\r\n\r\n this.filters = [\r\n {\r\n key: \"all\",\r\n text: this.language.allFiles,\r\n faClass: \"fal fa-archive\",\r\n amount: this.allFiles,\r\n },\r\n {\r\n key: \"image\",\r\n text: this.language.imageFiles,\r\n faClass: \"fal fa-camera-retro\",\r\n amount: this.webNewsDetailsResponse.images,\r\n },\r\n {\r\n key: \"video\",\r\n text: this.language.videoFiles,\r\n faClass: \"fal fa-video\",\r\n amount: this.webNewsDetailsResponse.video,\r\n },\r\n {\r\n key: \"document\",\r\n text: this.language.documents,\r\n faClass: \"fal fa-file\",\r\n amount: this.webNewsDetailsResponse.document,\r\n },\r\n {\r\n key: \"audio\",\r\n text: this.language.audioFiles,\r\n faClass: \"fal fa-volume-up\",\r\n amount: this.webNewsDetailsResponse.audio,\r\n },\r\n ];\r\n },\r\n (error2) => {\r\n this.router.navigateByUrl(\"/home\");\r\n //\r\n }\r\n );\r\n }\r\n\r\n groupMedia() {\r\n this.imageMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"image\"\r\n );\r\n this.audioMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"audio\"\r\n );\r\n this.videoMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"video\"\r\n );\r\n this.documentMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"document\"\r\n );\r\n }\r\n\r\n openMediaPopup(media) {\r\n this.autoplay = false;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n }\r\n\r\n openMediaPopupAutplay(media) {\r\n this.autoplay = true;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n }\r\n\r\n openShare() {\r\n this.share = !this.share;\r\n }\r\n\r\n openDropdown(id) {\r\n for (const x of this.webNewsDetailsResponse.alsoMayLike) {\r\n if (x.storyId === id) {\r\n x.shareDropdown = !x.shareDropdown;\r\n }\r\n }\r\n }\r\n openMediaDropdown(media) {\r\n media.mediaDropdown = !media.mediaDropdown;\r\n event.stopPropagation();\r\n }\r\n\r\n onClickOutside(event: Object, media) {\r\n if (event && event[\"value\"] === true) {\r\n media.mediaDropdown = false;\r\n }\r\n }\r\n\r\n readMore(id) {\r\n window.scrollTo(0, 0);\r\n this.user = TokenManagerService.getUser();\r\n this.storyId = id.staggingStoryId;\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n\r\n this.router.navigate([\r\n \"/story/\" +\r\n id.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(id.storyTitle),\r\n ]);\r\n this.loader = true;\r\n\r\n this.getNewsDetails();\r\n }\r\n\r\n mediaChecked(media, e) {\r\n e.stopPropagation();\r\n let component = this;\r\n const index = this.forDownload.indexOf(media);\r\n media.checked = !media.checked;\r\n if (component.forDownload.indexOf(media) == -1 && media.checked) {\r\n component.forDownload.push(media.downloadLink);\r\n component.downloadIds.push(media.id);\r\n } else if (!media.checked) {\r\n component.forDownload.splice(index, 1);\r\n component.downloadIds.splice(index, 1);\r\n }\r\n }\r\n\r\n downloadingAll = false;\r\n downloadingImage = false;\r\n downloadingVideo = false;\r\n downloadingDocument = false;\r\n downloadingAudio = false;\r\n\r\n downloadAll(list = null, mediaType) {\r\n if (mediaType == \"all\") this.downloadingAll = true;\r\n else if (mediaType == \"image\") this.downloadingImage = true;\r\n else if (mediaType == \"video\") this.downloadingVideo = true;\r\n else if (mediaType == \"document\") this.downloadingDocument = true;\r\n else if (mediaType == \"audio\") this.downloadingAudio = true;\r\n let component = this;\r\n if (list === null) list = this.filtered;\r\n list.forEach(function (media) {\r\n component.forDownload.push(media.downloadLink);\r\n component.downloadIds.push(media.id);\r\n });\r\n this.download({}, \"text\", mediaType);\r\n }\r\n\r\n sendToCart() {\r\n let component = this;\r\n this.filtered.forEach(function (value) {\r\n if (component.cartItems.indexOf(value.id) == -1 && value.checked) {\r\n component.cartItems.push(value.id);\r\n value.addedToCart = true;\r\n value.checked = false;\r\n component.myFilesService.pushMyFiles(value.id);\r\n }\r\n });\r\n }\r\n\r\n sendAllToCart(list = null) {\r\n let component = this;\r\n if (list === null) list = this.filtered;\r\n list.forEach(function (value) {\r\n if (component.cartItems.indexOf(value.id) == -1) {\r\n component.cartItems.push(value.id);\r\n value.addedToCart = true;\r\n value.checked = false;\r\n component.myFilesService.pushMyFiles(value.id);\r\n }\r\n });\r\n }\r\n\r\n addDownloadClientSide() {\r\n for (const x of this.webNewsDetailsResponse.media) {\r\n for (const y of this.forDownload) {\r\n if (x.downloadLink == y) {\r\n x.downloads++;\r\n }\r\n }\r\n }\r\n }\r\n\r\n download(element, text, mediaType = null) {\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToDownload &&\r\n !this.webNewsDetailsResponse.anonymousShare &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n window.scrollTo(0, 0);\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n var urls = this.forDownload;\r\n let component = this;\r\n var zip = new JSZip();\r\n var count = 0;\r\n var zipFilename = \"download.zip\";\r\n\r\n if (this.forDownload.length > 1) {\r\n element.textContent = text;\r\n component.disabledButton = true;\r\n urls.forEach(function (url) {\r\n var filename = url.split(\"/\")[8];\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n if (err) {\r\n throw err;\r\n }\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n if (count == urls.length) {\r\n zip.generateAsync({ type: \"blob\" }).then(function (content) {\r\n saveAs(content, zipFilename);\r\n\r\n component.disabledButton = false;\r\n element.textContent = \"Download\";\r\n\r\n if (mediaType == \"all\") component.downloadingAll = false;\r\n else if (mediaType == \"image\") component.downloadingImage = false;\r\n else if (mediaType == \"video\") component.downloadingVideo = false;\r\n else if (mediaType == \"document\") component.downloadingDocument = false;\r\n else if (mediaType == \"audio\") component.downloadingAudio = false;\r\n\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n this.addDownloadClientSide();\r\n } else {\r\n for (const x of this.forDownload) {\r\n component.disabledButton = true;\r\n element.textContent = text;\r\n this.http\r\n .get(x, { responseType: \"blob\" })\r\n .toPromise()\r\n .then(\r\n (blob: Blob) => {\r\n let filename = x.split(\"/\")[8];\r\n saveAs(blob, filename);\r\n component.disabledButton = false;\r\n element.textContent = \"Download\";\r\n\r\n if (mediaType == \"all\") component.downloadingAll = false;\r\n else if (mediaType == \"image\") component.downloadingImage = false;\r\n else if (mediaType == \"video\") component.downloadingVideo = false;\r\n else if (mediaType == \"document\") component.downloadingDocument = false;\r\n else if (mediaType == \"audio\") component.downloadingAudio = false;\r\n\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n },\r\n (error) => { }\r\n );\r\n this.addDownloadClientSide();\r\n }\r\n }\r\n this.forDownload = [];\r\n }\r\n }\r\n\r\n getStoryUrl(storyId) {\r\n return (\r\n this.currentUrl.slice(0, this.currentUrl.lastIndexOf(\"story/\")) +\r\n \"story/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.webNewsDetailsResponse.alsoMayLike.find(\r\n (x) => x.staggingStoryId == storyId\r\n ).storyTitle\r\n )\r\n );\r\n }\r\n\r\n getMediaUrl(mediaId: number) {\r\n const currentUrlArray = this.currentUrl.split(\"/\");\r\n if (currentUrlArray.length > 6) {\r\n return window.location.href;\r\n } else {\r\n return window.location.href + \"/\" + mediaId;\r\n }\r\n }\r\n\r\n changeTab(tab: string) {\r\n this.activeTab = tab;\r\n if (tab == \"all\") this.filtered = this.webNewsDetailsResponse.media;\r\n else {\r\n tab = tab.replace(/\\b\\w/g, (l) => l.toUpperCase());\r\n this.filtered = this.webNewsDetailsResponse.media.filter(\r\n (x) => x.mediaType === tab\r\n );\r\n }\r\n }\r\n\r\n scrollToMedias() {\r\n document.getElementById(\"medias\").scrollIntoView();\r\n }\r\n\r\n toggleSavedStory(storyId) {\r\n if (this.inSavedStories(storyId))\r\n this.savedStoryService\r\n .remove(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n else\r\n this.savedStoryService\r\n .add(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n inSavedStories(storyId) {\r\n return this.savedStoryService.inSavedStories(storyId);\r\n }\r\n\r\n @HostListener(\"window:scroll\", [\"$event\"])\r\n onWindowScroll($event) {\r\n var percentage: number = Math.round(this.getScrollPercentage());\r\n if (percentage == 25 && !this.scrolled25) {\r\n this.scrolled25 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 50 && !this.scrolled50) {\r\n this.scrolled50 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 75 && !this.scrolled75) {\r\n this.scrolled75 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 90 && !this.scrolled90) {\r\n this.scrolled90 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 100 && !this.scrolled100) {\r\n this.scrolled100 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n }\r\n\r\n getWindowHeight() {\r\n return (\r\n window.innerHeight ||\r\n document.documentElement.clientHeight ||\r\n document.body.clientHeight ||\r\n 0\r\n );\r\n }\r\n getWindowYscroll() {\r\n return (\r\n window.pageYOffset ||\r\n document.body.scrollTop ||\r\n document.documentElement.scrollTop ||\r\n 0\r\n );\r\n }\r\n getDocHeight() {\r\n return Math.max(\r\n document.body.scrollHeight || 0,\r\n document.documentElement.scrollHeight || 0,\r\n document.body.offsetHeight || 0,\r\n document.documentElement.offsetHeight || 0,\r\n document.body.clientHeight || 0,\r\n document.documentElement.clientHeight || 0\r\n );\r\n }\r\n getScrollPercentage() {\r\n return (\r\n ((this.getWindowYscroll() + this.getWindowHeight()) /\r\n this.getDocHeight()) *\r\n 100\r\n );\r\n }\r\n\r\n searchByCategory(category) {\r\n console.log(category);\r\n this.loader = true;\r\n let searchResultResponse = new SearchResultModel();\r\n const searchModel = new WebSearchModel();\r\n searchModel.languageId = Number(localStorage.getItem(\"lng\"));\r\n searchModel.stories = true;\r\n searchModel.media = false;\r\n searchModel.images = false;\r\n searchModel.video = false;\r\n searchModel.document = false;\r\n searchModel.audio = false;\r\n searchModel.page = 1;\r\n searchModel.pageSize = 12;\r\n if (category.isCustom) {\r\n searchModel.customCategoryIds = [category.id];\r\n } else {\r\n searchModel.mainCategoryIds = [category.id];\r\n }\r\n\r\n this.mcService.searchMcStories(searchModel).subscribe(\r\n (response: any) => {\r\n searchResultResponse = response;\r\n for (const result of searchResultResponse.stories) {\r\n if (result.featuredEmbeddedCode) {\r\n result.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n result.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n if (\r\n searchResultResponse.mustRegisterToAccess &&\r\n localStorage.getItem(\"Token\") == null\r\n ) {\r\n this.loader = false;\r\n sessionStorage.setItem(\"redirectUrl\", \"/\" + window.location.pathname);\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n this.storageService.setSearchItemStories(searchResultResponse);\r\n this.storageService.setSearchModel(searchModel);\r\n this.loader = false;\r\n this.router.navigateByUrl(\"/results\");\r\n }\r\n },\r\n (error) => {\r\n searchModel.stories = 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
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{ language.storyPublisher }}
\r\n
\r\n {{ webNewsDetailsResponse?.publishedDate | date : \" dd MMMM yyyy\" }}\r\n
\r\n
\r\n
\r\n
{{ language.storyDate }}
\r\n
\r\n {{ webNewsDetailsResponse?.publishedDate | date : \" dd MMMM yyyy\" }}\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
1 ? 'has-child' : ''\">\r\n
\r\n {{category?.name}}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ webNewsDetailsResponse?.storyTitle }}\r\n

\r\n

\r\n {{ webNewsDetailsResponse?.shortDescription }}\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 {{ language.media }}\r\n
\r\n \r\n \r\n
\r\n

\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.images }} ({{ imageMedia.length }})
\r\n
\r\n {{ downloadingImage ? language.downloading : language.downloadAllImages }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.videos }} ({{ videoMedia.length }})
\r\n
\r\n {{ language.downloadAllVideos }} \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
\r\n {{ language.documents }} ({{ documentMedia.length }})\r\n
\r\n
\r\n {{ language.downloadAllDocuments }} \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.audios }} ({{ audioMedia.length }})
\r\n
\r\n {{ language.downloadAllAudios }} \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

\r\n {{ language.youMayAlsoLike }}\r\n

\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 {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n NgZone,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { NewsModel } from \"../../models/news/news.model\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport {\r\n FeaturedStoriesModel,\r\n HomeModel,\r\n LatestMediaModel,\r\n LatestStoriesModel,\r\n} from \"./home-model\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { Meta } from \"@angular/platform-browser\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Location } from \"@angular/common\";\r\n\r\ndeclare var $: any;\r\n\r\nimport { MetaModel } from \"../../models/meta/meta\";\r\nimport { FacebookService } from \"ngx-facebook\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { CommunicationService } from \"../../shared/services/communication.service\";\r\nimport { MCLanguageService } from \"../../shared/services/mc-language.service\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { WebpHelperService } from \"../../shared/services/webp-helper.service\";\r\nimport { BrandsManageModel } from \"../brands/brands-model\";\r\n\r\n@Component({\r\n selector: \"app-homepage-3\",\r\n templateUrl: \"./homepage-3.component.html\",\r\n styleUrls: [\"./homepage-3.component.less\"],\r\n})\r\nexport class HomepageComponent3 implements OnInit {\r\n news: NewsModel[];\r\n picture: SafeHtml;\r\n visibleNews: NewsModel[];\r\n searchText = \"\";\r\n dropdown = false;\r\n grid: string;\r\n latestCategoryGrid: string;\r\n activeSubTab: number;\r\n filtered: LatestMediaModel[] = [];\r\n category: string;\r\n mediaId: number;\r\n popup = false;\r\n p = 1;\r\n subcategory = false;\r\n twitterActive: boolean;\r\n facebookActive: boolean;\r\n instagramActive: boolean;\r\n linkedinActive: boolean;\r\n loader: boolean;\r\n image: string;\r\n audio: number;\r\n video: number;\r\n document: number;\r\n images: number;\r\n twitter: any[];\r\n facebook: any[];\r\n linkedin: any;\r\n homeModelResponse = new HomeModel();\r\n storyGroupings: LatestStoriesModel[][] = [[]];\r\n items: Array = [];\r\n backgroundUrl = \"\";\r\n videoUrl = \"\";\r\n thumbUrl = \"\";\r\n autoplay: boolean;\r\n selectedFs: any = {};\r\n activeSlide: number = 0;\r\n all = true;\r\n imageTab = false;\r\n videoTab = false;\r\n documentTab = false;\r\n audioTab = false;\r\n styles = new PageStyle();\r\n showVideos = false;\r\n showImages = false;\r\n showAudios = false;\r\n showDocuments = false;\r\n countAll = 0;\r\n countVideos = 0;\r\n countImages = 0;\r\n countAudios = 0;\r\n countDocuments = 0;\r\n user: any;\r\n activeAllTab = false;\r\n activeTab = false;\r\n activeImageTab = false;\r\n activeVideoTab = false;\r\n activeDocumentsTab = false;\r\n activeAudioTab = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n activeAll: boolean = true;\r\n activeImage: boolean = false;\r\n activeVideo: boolean = false;\r\n activeDoc: boolean = false;\r\n activeAudio: boolean = false;\r\n fStories: FeaturedStoriesModel[];\r\n nextFStories: FeaturedStoriesModel[] = [];\r\n filterDropdown: boolean;\r\n metadatas: MetaModel;\r\n newsHeadlineLength: number;\r\n newsGridResponse: HomeModel;\r\n shortDescriptionLength: number;\r\n allActive = false;\r\n imageActive = false;\r\n videoActive = false;\r\n docActive = false;\r\n audioActive = false;\r\n language: Language;\r\n mcLanguage = [];\r\n sLng: number;\r\n loading = false;\r\n xDown = null;\r\n yDown = null;\r\n featuredEmbeddedCode: SafeHtml;\r\n buttonsHelper = ButtonsHelper;\r\n mediaLoaded = false;\r\n initialLoaded = false;\r\n latestStoriesLoaded = false;\r\n storiesCategoryLoaded = false;\r\n showCategory = true;\r\n brands: BrandsManageModel[] = [];\r\n brandsCurrentScroll: number = 0;\r\n brandsMaxScroll: number = 0;\r\n innerWidth: number = 0;\r\n @ViewChild(\"brandsContainer\")\r\n brandsContainer: ElementRef;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private sService: StorageService,\r\n private meta: Meta,\r\n private titleService: Title,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private languageService: LanguageService,\r\n private mcLanguageService: MCLanguageService,\r\n private fbo: FacebookService,\r\n private route: ActivatedRoute,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private location: Location,\r\n private communicationService: CommunicationService,\r\n private sanitizer: DomSanitizer,\r\n public webPHelper: WebpHelperService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n this.mcLanguageService.language.subscribe((language) => {\r\n this.getHomeTexts(language);\r\n });\r\n this.route.params.subscribe((params: Params) => {\r\n const id: string = params[\"id\"];\r\n const title: string = params[\"title\"];\r\n let media: string = params[\"media\"];\r\n\r\n if (media && media.indexOf(\"?\") > -1)\r\n media = media.substr(0, media.indexOf(\"?\"));\r\n\r\n if (media) {\r\n this.openPopup(+media);\r\n }\r\n });\r\n this.route.queryParams.subscribe((params) => {\r\n if (params[\"parentBrandUrl\"]) {\r\n this.communicationService.setFromBrands(decodeURI(params[\"parentBrandUrl\"]));\r\n }\r\n });\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.resize();\r\n }\r\n\r\n getHomeTexts(mcLanguage) {\r\n if (mcLanguage) {\r\n let homeKeywords = [\r\n \"SearchBoxTitle\",\r\n \"SearchBoxText\",\r\n \"SearchBoxSubtitle\",\r\n ];\r\n let homeKeywordIds = [];\r\n let homeIdToKeyword = [];\r\n for (const keyword of mcLanguage.keywords) {\r\n if (homeKeywords.includes(keyword.label)) {\r\n homeKeywordIds.push(keyword.id);\r\n homeIdToKeyword[keyword.id] = keyword.label;\r\n }\r\n }\r\n let lngId = localStorage.getItem(\"lng\");\r\n for (const mccl of mcLanguage.mediaCenterChosenLanguages) {\r\n if (\r\n homeKeywordIds.includes(mccl.keywordId) &&\r\n mccl.languageId == lngId\r\n ) {\r\n this.mcLanguage[homeIdToKeyword[mccl.keywordId]] = mccl.translation;\r\n }\r\n }\r\n }\r\n }\r\n\r\n openPopup(id) {\r\n this.mediaId = id;\r\n this.popup = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.showCategory = localStorage.getItem(\"hideCategories\") != \"1\";\r\n this.language = this.languageService.getLanguage();\r\n this.getHomeTexts(this.mcLanguageService.getMCLanguage());\r\n document.addEventListener(\r\n \"touchstart\",\r\n (evt) => {\r\n this.xDown = evt.touches[0].clientX;\r\n this.yDown = evt.touches[0].clientY;\r\n },\r\n false\r\n );\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n window.scrollTo(0, 0);\r\n\r\n this.getHomepage();\r\n this.user = TokenManagerService.getUser();\r\n this.currentUrl = window.location.href;\r\n\r\n this.facebook = [];\r\n this.getBrands();\r\n }\r\n\r\n getBrands() {\r\n this.mcService.getBrands().subscribe(\r\n (response: any) => {\r\n this.brands = response.clients;\r\n setTimeout(() => {\r\n this.brandsMaxScroll = this.brandsContainer?.nativeElement?.offsetWidth;\r\n }, 1000);\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n handleTouchStart(evt) {\r\n this.xDown = evt.touches[0].clientX;\r\n this.yDown = evt.touches[0].clientY;\r\n }\r\n\r\n resize() {\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns2\") {\r\n this.newsHeadlineLength = 155;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 120;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n }\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns3\") {\r\n this.newsHeadlineLength = 90;\r\n this.shortDescriptionLength = 140;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 65;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 120;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 75;\r\n this.shortDescriptionLength = 75;\r\n }\r\n }\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns4\") {\r\n this.newsHeadlineLength = 60;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 15;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 100;\r\n }\r\n }\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n getStoryUrl(storyId, stories) {\r\n return (\r\n this.currentUrl.replace(\"home\", \"story\") +\r\n \"/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n stories.find((x) => x.staggingStoryId == storyId).storyTitle\r\n )\r\n );\r\n }\r\n\r\n homepageLoaded() {\r\n if (this.latestStoriesLoaded && this.initialLoaded) {\r\n this.resize();\r\n this.loader = false;\r\n }\r\n }\r\n\r\n getHomepage() {\r\n this.loader = true;\r\n this.mcService.getHomepageInitial(this.sLng).subscribe(\r\n (response: any) => {\r\n console.log(\"Initial Load\");\r\n this.initialLoaded = true;\r\n this.homeModelResponse.featuredStories = response.featuredStories;\r\n this.homeModelResponse.mustRegisterToAccess =\r\n response.mustRegisterToAccess;\r\n this.homeModelResponse.mustRegisterToDownload =\r\n response.mustRegisterToDownload;\r\n this.homeModelResponse.hideCounters = response.hideCounters;\r\n this.homeModelResponse.latesStoryGridType = response.latesStoryGridType;\r\n this.grid = this.homeModelResponse.latesStoryGridType;\r\n this.homeModelResponse.title = response.title;\r\n this.homeModelResponse.bodyText = response.bodyText;\r\n this.homeModelResponse.additionalBodyText = response.additionalBodyText;\r\n this.homeModelResponse.socialSharing = response.socialSharing;\r\n\r\n this.fStories = response.featuredStories;\r\n this.selectedFs = this.homeModelResponse.featuredStories[0];\r\n for (let i = 1; i < this.fStories.length && i <= 3; i++) {\r\n this.nextFStories.push(this.fStories[i]);\r\n }\r\n if (this.nextFStories.length < 3) {\r\n this.nextFStories.push(this.fStories[0]);\r\n }\r\n for (const x of this.homeModelResponse.featuredStories) {\r\n this.images = x.images;\r\n this.video = x.video;\r\n this.audio = x.audio;\r\n this.document = x.document;\r\n }\r\n this.backgroundUrl =\r\n this.homeModelResponse?.featuredStories[0]?.fullHDUrl || \"\";\r\n\r\n for (const x of this.fStories) {\r\n if (x.fullHDUrl === \"\") {\r\n this.thumbUrl = x.thumbUrl;\r\n }\r\n }\r\n\r\n for (const featuredStory of this.homeModelResponse.featuredStories) {\r\n if (featuredStory.featuredEmbeddedCode) {\r\n featuredStory.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n featuredStory.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n if (this.homeModelResponse.socialSharing != null) {\r\n this.socials = this.homeModelResponse.socialSharing;\r\n }\r\n this.homepageLoaded();\r\n },\r\n (error) => { }\r\n );\r\n this.mcService.getHomepageLatestStories(this.sLng).subscribe(\r\n (response: any) => {\r\n console.log(\"Latest Stories\");\r\n this.latestStoriesLoaded = true;\r\n this.homeModelResponse.latestStories = response.latestStories;\r\n for (const latestStory of this.homeModelResponse.latestStories) {\r\n if (latestStory.featuredEmbeddedCode) {\r\n latestStory.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n latestStory.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n this.loadStoryGroupings();\r\n this.homepageLoaded();\r\n },\r\n (error) => { }\r\n );\r\n }\r\n\r\n loadStoryGroupings() {\r\n let count = 0;\r\n for (const story of this.homeModelResponse.latestStories) {\r\n if (this.storyGroupings[count].length >= 4) count++;\r\n if (!this.storyGroupings[count]) this.storyGroupings[count] = [];\r\n this.storyGroupings[count].push(story);\r\n }\r\n }\r\n\r\n changeStory(story: FeaturedStoriesModel, i) {\r\n this.videoUrl = \"\";\r\n this.images = story.images;\r\n this.video = story.video;\r\n this.audio = story.audio;\r\n this.document = story.document;\r\n this.selectedFs = story;\r\n if (story.mediaType == \"Image\") {\r\n this.backgroundUrl = story.fullHDUrl;\r\n this.featuredEmbeddedCode = null;\r\n }\r\n if (story.mediaType == \"Video\") {\r\n this.videoUrl = story.fullHDUrl;\r\n this.featuredEmbeddedCode = null;\r\n }\r\n if (story.featuredEmbeddedCode) {\r\n this.selectedFs.mediaType = null;\r\n this.backgroundUrl = \"\";\r\n this.featuredEmbeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n story.featuredEmbeddedCode\r\n );\r\n }\r\n this.activeSlide = i;\r\n }\r\n\r\n moveLeftBrands() {\r\n const moveAmount = window.innerWidth;\r\n this.brandsCurrentScroll = this.brandsCurrentScroll - moveAmount;\r\n if (this.brandsCurrentScroll < 0) this.brandsCurrentScroll = 0;\r\n }\r\n\r\n moveRightBrands() {\r\n const moveAmount = window.innerWidth;\r\n this.brandsCurrentScroll = this.brandsCurrentScroll + moveAmount;\r\n if (this.brandsCurrentScroll > this.brandsMaxScroll - this.innerWidth)\r\n this.brandsCurrentScroll = this.brandsMaxScroll - this.innerWidth;\r\n }\r\n\r\n prevSlide() {\r\n this.featuredEmbeddedCode = null;\r\n if (this.activeSlide != 0) {\r\n this.activeSlide = this.activeSlide - 1;\r\n } else {\r\n this.activeSlide = this.fStories.length - 1;\r\n }\r\n this.changeSlide();\r\n }\r\n\r\n nextSlide() {\r\n this.featuredEmbeddedCode = null;\r\n if (this.activeSlide != this.fStories.length - 1) {\r\n this.activeSlide = this.activeSlide + 1;\r\n } else {\r\n this.activeSlide = 0;\r\n }\r\n this.changeSlide();\r\n }\r\n\r\n changeSlide() {\r\n this.selectedFs = this.fStories[this.activeSlide];\r\n this.backgroundUrl = this.fStories[this.activeSlide].fullHDUrl;\r\n for (const x of this.fStories) {\r\n if (x.mediaType == \"Video\") {\r\n this.videoUrl = this.fStories[this.activeSlide].fullHDUrl;\r\n }\r\n }\r\n\r\n if (this.selectedFs.featuredEmbeddedCode) {\r\n this.featuredEmbeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n this.selectedFs.featuredEmbeddedCode\r\n );\r\n this.selectedFs.mediaType = null;\r\n this.backgroundUrl = \"\";\r\n }\r\n this.nextFStories = [];\r\n for (let i = this.activeSlide + 1; this.nextFStories.length < 3; i++) {\r\n if (i >= this.fStories.length) i = 0;\r\n this.nextFStories.push(this.fStories[i]);\r\n }\r\n }\r\n\r\n readMore(id, title) {\r\n localStorage.setItem(\"storyId\", JSON.stringify(id));\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.googleAnalytics.emitArticleEvent(\"homepage\", id.staggingStoryId);\r\n this.googleAnalytics.emitReadMoreEvent(\r\n \"slider\",\r\n title,\r\n \"/story/\" + id.staggingStoryId + \"/\" + UrlHelper.getUrlTitle(title)\r\n );\r\n this.router.navigate([\r\n \"/story/\" + id.staggingStoryId + \"/\" + UrlHelper.getUrlTitle(title),\r\n ]);\r\n }\r\n\r\n goToMc(url, clientId) {\r\n this.mcService.redirectToMc(clientId).subscribe(\r\n (response: any) => {\r\n const token = response.token;\r\n if (url)\r\n window.location.href = url + '&token=' + token;\r\n },\r\n (error) => {\r\n if (url)\r\n window.location.href = url;\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ selectedFs?.images }}\r\n \r\n
\r\n
\r\n {{ selectedFs?.publishedDate | date : \" MMMM dd, yyyy\" }}\r\n
\r\n
\r\n
1 ? 'has-child' : ''\">\r\n
\r\n {{ selectedFs?.category[0] }}\r\n
\r\n
\r\n
1\">\r\n
\r\n {{ category }}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ selectedFs?.storyTitle }}\r\n

\r\n \r\n
\r\n
\r\n {{ language.readMore }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{ language.latestStory }}\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
0\" class=\"brands\">\r\n
\r\n

\r\n {{ language.brands }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\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 {Injectable} from '@angular/core';\r\nimport {TokenManagerService} from './token-manager.service';\r\nimport {ActivatedRouteSnapshot, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {Observable} from 'rxjs';\r\nimport {McService} from './mc-service';\r\nimport {stat} from 'fs';\r\nimport {StorageService} from \"./storage.service\";\r\n\r\n@Injectable()\r\nexport class AuthGuardService {\r\n headerFooter: any;\r\n\r\n constructor(private tokenManagerService: TokenManagerService, private router: Router) {\r\n }\r\n\r\n\r\n canActivate(route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n const headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n return this.tokenManagerService.isAuthenticated()\r\n .then(\r\n (authenticated: boolean) => {\r\n if (authenticated) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/sign-in'], {replaceUrl: true});\r\n }\r\n }\r\n );\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n headerFooter: any;\r\n\r\n constructor(private tokenManagerService: TokenManagerService, private router: Router, private mcService: McService) {\r\n }\r\n\r\n\r\n canActivate(route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n let headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n if (!headerFooter) {\r\n this.mcService.getHeaderFooter(1)\r\n .subscribe((response) => {\r\n localStorage.setItem('headerfooter', JSON.stringify(response));\r\n headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n this.checkRoute(state, headerFooter);\r\n },\r\n (error) => {\r\n //\r\n });\r\n } else {\r\n this.checkRoute(state, headerFooter);\r\n }\r\n return true;\r\n }\r\n\r\n checkRoute(state, headerFooter) {\r\n let url = false;\r\n for (const x of headerFooter.footerLinks) {\r\n if (x.url.toLowerCase() === state.url.split('/')[1]) {\r\n url = true;\r\n break;\r\n }\r\n }\r\n for (const y of headerFooter.headerLinks) {\r\n if (y.url.toLowerCase() === state.url.split('/')[1]) {\r\n url = true;\r\n break;\r\n }\r\n }\r\n\r\n if (url) {\r\n return true;\r\n } else {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n\r\n}\r\n\r\n@Injectable()\r\nexport class MustRegisterGuard {\r\n headerFooter: any;\r\n\r\n constructor(private tokenManagerService: TokenManagerService, private router: Router, private storageService: StorageService) {\r\n }\r\n\r\n\r\n canActivate(route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n\r\n if (TokenManagerService.getToken()) return true;\r\n\r\n sessionStorage.setItem('redirectUrl', '/' + state.url);\r\n\r\n if (sessionStorage.getItem('mustRegister')) {\r\n const mustRegister = JSON.parse(sessionStorage.getItem('mustRegister'));\r\n\r\n this.storageService.setMustRegister(mustRegister);\r\n\r\n if (!mustRegister) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/sign-in']);\r\n }\r\n\r\n } else {\r\n this.tokenManagerService.mustRegister()\r\n .subscribe(\r\n (result) => {\r\n\r\n const model: any = result;\r\n\r\n sessionStorage.setItem('mustRegister', model.mustRegister);\r\n sessionStorage.setItem('anonymousShare', model.anonymousShare);\r\n\r\n this.storageService.setMustRegister(model.mustRegister);\r\n this.storageService.setAnonymousShare(model.anonymousShare);\r\n\r\n if (!model.mustRegister) {\r\n this.router.navigate([state.url]);\r\n return;\r\n } else {\r\n this.router.navigate(['/sign-in']);\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class AnonymousShareGuard {\r\n headerFooter: any;\r\n\r\n constructor(private tokenManagerService: TokenManagerService, private router: Router, private storageService: StorageService) {\r\n }\r\n\r\n\r\n canActivate(route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n\r\n if (TokenManagerService.getToken()) return true;\r\n\r\n sessionStorage.setItem('redirectUrl', '/' + state.url);\r\n\r\n if (sessionStorage.getItem('mustRegister') && sessionStorage.getItem('anonymousShare')) {\r\n const mustRegister = JSON.parse(sessionStorage.getItem('mustRegister'));\r\n const anonymousShare = JSON.parse(sessionStorage.getItem('anonymousShare'));\r\n\r\n this.storageService.setMustRegister(mustRegister);\r\n this.storageService.setAnonymousShare(anonymousShare);\r\n\r\n if (anonymousShare) {\r\n return true;\r\n }\r\n\r\n if (!mustRegister) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/sign-in']);\r\n }\r\n\r\n } else {\r\n this.tokenManagerService.mustRegister()\r\n .subscribe(\r\n (result) => {\r\n\r\n const model:any = result;\r\n\r\n sessionStorage.setItem('mustRegister', model.mustRegister);\r\n sessionStorage.setItem('anonymousShare', model.anonymousShare);\r\n\r\n this.storageService.setMustRegister(model.mustRegister);\r\n this.storageService.setAnonymousShare(model.anonymousShare);\r\n\r\n if (model.anonymousShare) {\r\n this.router.navigate([state.url]);\r\n return;\r\n }\r\n\r\n if (!model.mustRegister) {\r\n this.router.navigate([state.url]);\r\n return;\r\n } else {\r\n this.router.navigate(['/sign-in']);\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n }\r\n}\r\n","export const environment = {\r\n production: false,\r\n cmsUrl: 'https://devcms.moonideas.com/redirected?token=',\r\n apiUrlRoot: \"https://dna-api-development.azurewebsites.net\",\r\n apiUrl: \"https://dna-api-development.azurewebsites.net/api\",\r\n signalrUrl: \"https://signalr-develop.digitalnewsagency.com:5002\",\r\n mediaUrl: \"https://dnamediastorage.blob.core.windows.net/\",\r\n facebookAppId: \"137527330414505\",\r\n facebookAppSecret: \"9142cc75dfbbe38e5a8104c057fc7bea\",\r\n algoliaApplicationId: \"0KMDPEZ84J\",\r\n algoliaApiKey: \"e44d0540379aa8b931318b3275dc2b7e\",\r\n algoliaStoriesIndex: 'dev_stories',\r\n algoliaMediaIndex: 'dev_media',\r\n};\r\n","export class Language {\r\n public myFiles: string;\r\n public myFilesNoFiles: string;\r\n public logInMyFiles: string;\r\n public delete: string;\r\n public filterOrSearch: string;\r\n public loadMore: string;\r\n public deleteAll: string;\r\n public share: string;\r\n public itemsInBox: string;\r\n public cancel: string;\r\n public back: string;\r\n public next: string;\r\n public searchBoxTitle: string;\r\n public searchBoxText: string;\r\n public searchBoxSubtitle: string;\r\n public aboutUs: string;\r\n public brands: string;\r\n public contactUs: string;\r\n public media: string;\r\n public news: string;\r\n public testimonials: string;\r\n public search: string;\r\n public searchResults: string;\r\n public applyFilters: string;\r\n public clearFilters: string;\r\n public signIn: string;\r\n public register: string;\r\n public readMore: string;\r\n public whatStory: string;\r\n public featuredStories: string;\r\n public latestStory: string;\r\n public latestFrom: string;\r\n public latestFromMedia: string;\r\n public allFiles: string;\r\n public videoFiles: string;\r\n public imageFiles: string;\r\n public documents: string;\r\n public audioFiles: string;\r\n public sendToCart: string;\r\n public download: string;\r\n public youMayAlsoLike: string;\r\n public availableFormats: string;\r\n public alsoAvailableIn: string;\r\n public downloadBox: string;\r\n public downloadVideoInFormat: string;\r\n public shareCart: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public phone: string;\r\n public password: string;\r\n public confirmPassword: string;\r\n public companyName: string;\r\n public categoriesOfInterest: string;\r\n public languages: string;\r\n public socialHandles: string;\r\n public add: string;\r\n public iHaveRead: string;\r\n public iWantNewsletter: string;\r\n public submit: string;\r\n public signInFb: string;\r\n public signInTw: string;\r\n public forgotPassword: string;\r\n public searchFrom: string;\r\n public selectMedia: string;\r\n public selectDate: string;\r\n public from: string;\r\n public to: string;\r\n public searchHere: string;\r\n public categories: string;\r\n public send: string;\r\n public ourTeam: string;\r\n public home: string;\r\n public downloading: string;\r\n public addToMyFiles: string;\r\n public addedToMyFiles: string;\r\n public competition: string;\r\n public storyDate: string;\r\n public storyPublisher: string;\r\n public filterBy: string;\r\n public visit: string;\r\n public seeStories: string;\r\n public newsAlert: string;\r\n public signUpToday: string;\r\n public legal: string;\r\n public privacySettings: string;\r\n public addStoryToFav: string;\r\n public selectCategory: string;\r\n public addToFiles: string;\r\n public expand: string;\r\n public enterEmail: string;\r\n public enterPassword: string;\r\n public myAccount: string;\r\n public redirectToCms: string;\r\n public logOut: string;\r\n public noDownloadBoxes: string;\r\n public savedStories: string;\r\n public noStoriesSaved: string;\r\n public images: string;\r\n public downloadAllImages: string;\r\n public selectBrand: string;\r\n public downloadAllVideos: string;\r\n public videos: string;\r\n public downloadAllDocuments: string;\r\n public audios: string;\r\n public downloadAllAudios: string;\r\n public downloadAll: string;\r\n public items: string;\r\n public viewArticle: string;\r\n public searchForTerm: string;\r\n public searchNoResults: string;\r\n public termsAndConditions: string;\r\n public privacyPolicy: string;\r\n public newsletter: string;\r\n public suscribeConfirmation: string;\r\n public noBrandsInCustomCategory: string;\r\n public current: string;\r\n public files: string;\r\n public firstNameRequired: string;\r\n public lastNameRequired: string;\r\n public emailNameRequired: string;\r\n public invalidEmail: string;\r\n public telephone: string;\r\n public max50Characters: string;\r\n public min4Characters: string;\r\n public passwordNoSpaces: string;\r\n public confirmPasswordRequired: string;\r\n public passwordsNoMatch: string;\r\n public currentPassword: string;\r\n public mustEnterFirstPassword: string;\r\n public mustEnterOldPassword: string;\r\n public done: string;\r\n public userType: string;\r\n public mediaUserTypeRequired: string;\r\n public deleteAccount: string;\r\n public deleteAccountConfirmation: string;\r\n public incorrectPassword: string;\r\n public emailSentSuccess: string;\r\n public messageRequired: string;\r\n public maxLength50: string;\r\n public or: string;\r\n public downloadMediaLogIn: string;\r\n public latestDownloads: string;\r\n public noDownloads: string;\r\n public unsupportedVideoBrowser: string;\r\n public registrationSuccess: string;\r\n public activationEmailSent: string;\r\n public activationEmailInstructions: string;\r\n public lookForwardMessage: string;\r\n public thankYou: string;\r\n public disclaimer: string;\r\n public mediaCentreTitle: string;\r\n public mediaCentreSubtitle: string;\r\n\r\n\r\n constructor() {\r\n this.competition = \"Competition\";\r\n this.addToMyFiles = \"Add to my files\";\r\n this.addedToMyFiles = \"Added!\";\r\n this.filterOrSearch = \"Filter or Search\";\r\n this.loadMore = \"Load More\";\r\n this.delete = \"Delete\";\r\n this.myFilesNoFiles = \"You have no files selected\";\r\n this.logInMyFiles = \"You must log in to your account to see your files\";\r\n this.deleteAll = \"Delete All\";\r\n this.share = \"Share\";\r\n this.itemsInBox = \"Items in my box\";\r\n this.myFiles = \"My Files\";\r\n this.cancel = \"Cancel\";\r\n this.next = \"Next\";\r\n this.back = \"Back\";\r\n this.search = \"Search\";\r\n this.searchResults = \"Showing results for: \";\r\n this.applyFilters = \"Apply Filters\";\r\n this.clearFilters = \"Clear Filters\";\r\n this.signIn = \"Sign In\";\r\n this.register = \"Register\";\r\n this.readMore = \"Read More\";\r\n this.whatStory = \"What Story Are You Looking For?\";\r\n this.featuredStories = \"Featured Stories\";\r\n this.latestStory = \"Latest Stories\";\r\n this.latestFrom = \"Latest From\";\r\n this.latestFromMedia = \"Latest From Media\";\r\n this.allFiles = \"All Files\";\r\n this.sendToCart = \"Send To Cart\";\r\n this.download = \"Download\";\r\n this.downloading = \"Downloading\";\r\n this.availableFormats = \"Available formats\";\r\n this.alsoAvailableIn = \"Also available in\";\r\n this.downloadBox = \"Download Box\";\r\n this.downloadVideoInFormat = \"Download all Video files in format\";\r\n this.shareCart = \"Share Download Box\";\r\n this.firstName = \"First Name\";\r\n this.lastName = \"Last Name\";\r\n this.email = \"Email\";\r\n this.phone = \"Phone\";\r\n this.password = \"Password\";\r\n this.confirmPassword = \"Confirm Password\";\r\n this.companyName = \"Company Name\";\r\n this.categoriesOfInterest = \"Categories of interest\";\r\n this.languages = \"Languages\";\r\n this.socialHandles = \"Social handles\";\r\n this.add = \"Add\";\r\n this.iHaveRead = \"I have read and accept the T&C\";\r\n this.iWantNewsletter = \"I want to receive newsletter\";\r\n this.submit = \"Submit\";\r\n this.signInFb = \"Sign in with Facebook\";\r\n this.signInTw = \"Sign in with Twitter\";\r\n this.forgotPassword = \"Forgot password\";\r\n this.searchFrom = \"Search from\";\r\n this.selectMedia = \"Select media\";\r\n this.selectDate = \"Select date\";\r\n this.from = \"From\";\r\n this.to = \"To\";\r\n this.categories = \"Categories\";\r\n this.send = \"Send\";\r\n this.ourTeam = \"Our Team\";\r\n this.aboutUs = \"About Us\";\r\n this.brands = \"Brands\";\r\n this.contactUs = \"Contact Us\";\r\n this.media = \"Media\";\r\n this.news = \"News\";\r\n this.testimonials = \"Testimonials\";\r\n this.home = \"Home\";\r\n //TO DO: Pending translations\r\n this.searchHere = \"What are you looking for today?\";\r\n this.storyDate = \"Published On\";\r\n this.storyPublisher = \"Written By\";\r\n this.youMayAlsoLike = \"Latest Stories\";\r\n this.filterBy = \"Filter by:\";\r\n this.imageFiles = \"Images\";\r\n this.videoFiles = \"Videos\";\r\n this.documents = \"Documents\";\r\n this.audioFiles = \"Audios\";\r\n this.visit = \"Go to Brand Site\";\r\n this.seeStories = \"See Stories\";\r\n this.newsAlert = \"Get the news alerts you want, when you want them.\";\r\n this.signUpToday = \"Sign up today.\";\r\n this.legal = \"Legal\";\r\n this.privacySettings = \"Privacy Settings\";\r\n this.addStoryToFav = \"Add story to favorites\";\r\n this.selectCategory = \"Select a category\";\r\n this.addToFiles = \"Add to my files\";\r\n this.expand = \"Expand\";\r\n this.enterEmail = \"Enter your email\";\r\n this.enterPassword = \"Enter your password\";\r\n this.myAccount = \"My account\";\r\n this.redirectToCms = \"Redirect to cms\";\r\n this.logOut = \"Log out\";\r\n this.noDownloadBoxes = \"No download boxes to show.\";\r\n this.savedStories = \"My Saved Stories\";\r\n this.noStoriesSaved = \"No stories saved. Save stories of interest and come back to them later.\";\r\n this.images = \"Images\";\r\n this.downloadAllImages = \"Download all images\";\r\n this.selectBrand = \"Select a brand\";\r\n this.downloadAllVideos = \"Download all videos\";\r\n this.videos = \"Videos\";\r\n this.downloadAllDocuments = \"Download all documents\";\r\n this.audios = \"Audios\";\r\n this.downloadAllAudios = \"Download all audios\";\r\n this.downloadAll = \"Download all\";\r\n this.items = \"items\";\r\n this.viewArticle = \"View article\";\r\n this.searchForTerm = \"SEARCH FOR A TERM TO SEE RESULTS\";\r\n this.searchNoResults = \"WE COULDN'T FIND A MATCH, PLEASE TRY AGAIN.\";\r\n this.termsAndConditions = \"Terms & Conditions\";\r\n this.privacyPolicy = \"Privacy Policy\";\r\n this.newsletter = \"Newsletter\";\r\n this.suscribeConfirmation = \"Are you sure you want to unsubscribe?\";\r\n this.noBrandsInCustomCategory = \"No brands in this custom category.\";\r\n this.current = \"Current\";\r\n this.files = \"Files\";\r\n this.firstNameRequired = \"First name is required\";\r\n this.lastNameRequired = \"Last name is required\";\r\n this.emailNameRequired = \"Email name is required\";\r\n this.invalidEmail = \"Must be a valid email address\";\r\n this.telephone = \"Telephone number\";\r\n this.max50Characters = \"Max 50 characters\";\r\n this.min4Characters = \"Min 8 characters\";\r\n this.passwordNoSpaces = \"Password cannot contain spaces\";\r\n this.confirmPasswordRequired = \"Confirm password is required\";\r\n this.passwordsNoMatch = \"Passwords do not match.\";\r\n this.currentPassword = \"Current password\";\r\n this.mustEnterFirstPassword = \"You must type your password above first.\";\r\n this.mustEnterOldPassword = \"You must enter your old password.\";\r\n this.done = \"Done\";\r\n this.userType = \"User Type\";\r\n this.mediaUserTypeRequired = \"Media User Type is required\";\r\n this.deleteAccount = \"Delete account\";\r\n this.deleteAccountConfirmation = \"Are you sure you want to delete your account? Please enter your password and confirm your decision.\";\r\n this.incorrectPassword = \"The password is incorrect.\";\r\n this.emailSentSuccess = \"You have successfully sent mail. Thank you for contacting us.\";\r\n this.messageRequired = \"Message is required\";\r\n this.maxLength50 = \"Max length is 50\";\r\n this.or = \"OR\";\r\n this.downloadMediaLogIn = \"To Download Media Content Please Log In\";\r\n this.latestDownloads = \"Latest Downloads\";\r\n this.noDownloads = \"No downloads yet\";\r\n this.unsupportedVideoBrowser = \"Your browser does not support HTML5 video.\";\r\n this.registrationSuccess = \"Registration successful\";\r\n this.activationEmailSent = \"You are just one click away from creating your online account with digitalnewsagency.com. We have sent an activation email to you (please check your spam/junk.)\";\r\n this.activationEmailInstructions = \"Please click the Activate button and you’ll be all set to go. If you have difficulties accessing your account, or have any questions or require any additional information please contact our team on hello@digitalnewsagency.com\";\r\n this.lookForwardMessage = \"We look forward to sharing our content with you.\";\r\n this.thankYou = \"Thank you\";\r\n this.disclaimer = \"Disclaimer\";\r\n this.mediaCentreTitle = \"Media Centre\";\r\n this.mediaCentreSubtitle = \"Welcome to the easyJet media centre, where you'll be able to find all our latest news.\";\r\n }\r\n}\r\n","export class ToastrConfig {\r\n\r\n public static toastrConfig = {\r\n closeButton: true,\r\n timeOut: 2000\r\n };\r\n\r\n public static error = {\r\n closeButton: true,\r\n timeOut: 3000,\r\n toastClass: 'toast-error',\r\n messageClass: 'toast-message',\r\n titleClass: 'toast-title'\r\n };\r\n\r\n public static success = {\r\n closeButton: true,\r\n timeOut: 3000,\r\n toastClass: 'toast-success',\r\n messageClass: 'toast-message',\r\n titleClass: 'toast-title'\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { MyFilesService } from \"../../shared/services/my-files.service\";\r\nimport { DownloadModel } from \"../../download/download-model\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport * as JSZip from \"jszip\";\r\nimport * as JSZipUtils from \"jszip-utils\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { DownloadAddToModel } from \"../../routes/media/media-model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { DownloadBoxService } from \"../../shared/services/download-box.service\";\r\nimport { NumberSymbol } from \"@angular/common\";\r\nimport { StringDecoder } from \"string_decoder\";\r\nimport { WebpHelperService } from \"../../shared/services/webp-helper.service\";\r\n\r\n@Component({\r\n selector: \"app-my-files\",\r\n templateUrl: \"./my-files.component.html\",\r\n styleUrls: [\"./my-files.component.less\"],\r\n})\r\nexport class MyFilesComponent implements OnInit {\r\n @Output()\r\n clickedOutsideEvent: EventEmitter = new EventEmitter();\r\n styles: PageStyle;\r\n buttonsHelper = ButtonsHelper;\r\n cart: any = [];\r\n downloadMediaResponse: DownloadModel;\r\n showLoginMessage: boolean = false;\r\n loader: boolean = false;\r\n downloadUrls: string[] = [];\r\n downloadActive: boolean = false;\r\n cancelDownloads: boolean;\r\n user: any;\r\n downloadSubscription: any;\r\n shareCartUrl: string;\r\n language: Language;\r\n copiedUrl: String = \"\";\r\n\r\n constructor(\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private myFilesService: MyFilesService,\r\n private mcService: McService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private languageService: LanguageService,\r\n private http: HttpClient,\r\n private eRef: ElementRef,\r\n private downloadBoxService: DownloadBoxService,\r\n public webPHelper: WebpHelperService\r\n ) {\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.myFilesService.files.subscribe((myFiles) => {\r\n this.cart = myFiles;\r\n this.getDownloadBox();\r\n });\r\n }\r\n\r\n @HostListener(\"document:click\", [\"$event\"])\r\n clickout(event) {\r\n if (\r\n !this.eRef.nativeElement.contains(event.target) &&\r\n !(\r\n event.target.className == \"my-files-container\" ||\r\n event.target.className == \"my-files-text\" ||\r\n event.target.className == \"far fa-folder\" ||\r\n event.target.className == \"my-files-icon\"\r\n )\r\n ) {\r\n this.clickedOutsideEvent.emit(event);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.language = this.languageService.getLanguage();\r\n this.cart = this.myFilesService.getMyFiles();\r\n this.getDownloadBox();\r\n }\r\n\r\n deleteAll() {\r\n this.myFilesService.clearFiles();\r\n }\r\n\r\n deleteFile(mediaId) {\r\n this.myFilesService.deleteFile(mediaId);\r\n }\r\n\r\n shareCart() {\r\n this.shareCartUrl = `${UrlHelper.getCurrentUrlHostOnly()}/download/share/${localStorage.getItem(\r\n \"cart\"\r\n )}`;\r\n }\r\n\r\n cancelDownload() {\r\n if (this.downloadSubscription) {\r\n this.downloadSubscription.unsubscribe();\r\n }\r\n this.downloadActive = false;\r\n this.cancelDownloads = true;\r\n }\r\n\r\n downloadFinishEvent(downloadFiles) {\r\n let user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n user.id = null;\r\n }\r\n let timeNow = Date.now();\r\n let formattedTime = new Date(timeNow).toUTCString();\r\n this.googleAnalytics.emitEvent('Download Box', 'Downloads', 'Download box', `User: ${user.id} | Time: ${formattedTime} | Files: ${downloadFiles}`);\r\n }\r\n\r\n download() {\r\n let startTime = performance.now();\r\n const component = this;\r\n const urls = this.downloadUrls;\r\n const zip = new JSZip();\r\n let count = 0;\r\n const zipFilename = \"download.zip\";\r\n let downloadFiles = \"\";\r\n if (urls.length > 1) {\r\n component.downloadActive = true;\r\n component.cancelDownloads = false;\r\n\r\n urls.forEach((url) => {\r\n const filename = url.split(\"/\")[8];\r\n\r\n if (component.cancelDownloads) {\r\n return;\r\n }\r\n\r\n // loading a file and add it in a zip file\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n if (component.cancelDownloads) {\r\n return;\r\n }\r\n downloadFiles += `${filename}, `\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n\r\n if (count === urls.length) {\r\n zip.generateAsync({ type: \"blob\" }).then(function (content) {\r\n saveAs(content, zipFilename);\r\n component.downloadActive = false;\r\n component.downloadFinishEvent(downloadFiles);\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n } else {\r\n for (const x of urls) {\r\n component.downloadActive = true;\r\n\r\n this.downloadSubscription = this.http\r\n .get(x, { responseType: \"blob\" })\r\n .subscribe(\r\n (blob: Blob) => {\r\n const filename = x.split(\"/\")[8];\r\n\r\n saveAs(blob, filename);\r\n component.downloadActive = false;\r\n component.downloadFinishEvent(downloadFiles);\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n\r\n },\r\n (error) => {\r\n component.downloadActive = false;\r\n }\r\n );\r\n }\r\n }\r\n this.downloadBoxService.createDownloadBox().subscribe((response) => { }, (error) => console.log(error));\r\n }\r\n\r\n getDownloadBox() {\r\n this.loader = true;\r\n this.mcService.downloadBox(this.cart).subscribe(\r\n (response: any) => {\r\n\r\n this.loader = false;\r\n this.downloadMediaResponse = response;\r\n if (\r\n this.downloadMediaResponse.mustRegisterToDownload &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n this.showLoginMessage = true;\r\n return;\r\n }\r\n let mediaLength = 0;\r\n\r\n for (const item of this.downloadMediaResponse.downloadBoxList) {\r\n for (const media of item.media) {\r\n mediaLength++;\r\n }\r\n }\r\n\r\n // if (this.cart.length > mediaLength) {\r\n // this.cart = [];\r\n\r\n // for (const item of this.downloadMediaResponse.downloadBoxList) {\r\n // for (const media of item.media) {\r\n // this.cart.push(media.media.id);\r\n // }\r\n // }\r\n // this.myFilesService.setMyFiles(this.cart);\r\n // console.error(\r\n // \"Some of the selected media has been removed from the story.\"\r\n // );\r\n // }\r\n for (const item of this.downloadMediaResponse.downloadBoxList) {\r\n for (const media of item.media) {\r\n this.downloadUrls.push(media.downloadLinks[0].downloadUrl);\r\n }\r\n }\r\n\r\n this.initVideoFormats(this);\r\n },\r\n (error2) => {\r\n this.loader = false;\r\n this.showLoginMessage = true;\r\n }\r\n );\r\n }\r\n\r\n initVideoFormats(component) {\r\n component.videoFormats = [];\r\n\r\n for (const download of component.downloadMediaResponse.downloadBoxList) {\r\n for (const media of download.media) {\r\n for (const link of media.downloadLinks) {\r\n if (\r\n media.media.mediaType === \"Video\" &&\r\n !component.videoFormats.find((x) => x.label === link.label)\r\n ) {\r\n component.videoFormats.push({ label: link.label });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n addDownload() {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n const niz = new DownloadAddToModel();\r\n niz.publishedMediaIds = this.cart.publishedMediaIds;\r\n niz.storyMediaIds = this.cart.storyMediaIds;\r\n niz.userId = this.user.id;\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId.toString()\r\n );\r\n });\r\n niz.publishedMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download-pm\",\r\n niz.userId.toString()\r\n );\r\n })\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => { }\r\n );\r\n }\r\n}\r\n","
\r\n 0\">\r\n
\r\n
\r\n {{ language.itemsInBox }} ({{ cart.length || 0 }})\r\n
\r\n \r\n {{ language.deleteAll }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{ dl.media.name | slice : 0 : 10\r\n }}= 10\">...\r\n
\r\n \r\n {{ language.delete }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n {{ language.cancel }}\r\n \r\n \r\n {{ language.share }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ language.logInMyFiles }}\r\n
\r\n
\r\n {{ language.myFilesNoFiles }}\r\n
\r\n\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {GoogleAnalyticsEventsService} from '../shared/services/google-analytics-events.service';\r\nimport {ErrorService} from '../shared/services/error-service';\r\nimport {PageStyle} from '../models/style/style.model';\r\nimport {FontsAndColorsService} from '../shared/services/fonts-and-colors.service';\r\n\r\n@Component({\r\n selector: 'app-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.less']\r\n})\r\nexport class ErrorComponent implements OnInit {\r\n styles = new PageStyle();\r\n\r\n public error: any;\r\n\r\n constructor(public fontsAndColorsService: FontsAndColorsService, private errorService: ErrorService, private googleAnalytics: GoogleAnalyticsEventsService) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.error = this.errorService.getError();\r\n //\r\n if (this.error && this.error.action) {\r\n this.googleAnalytics.emitEvent('error', this.error.action, this.error.message);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \"Error\"\r\n

Ooops sorry, something went wrong!

\r\n

\r\n We are currently working on a fix to have this up and running in no time,\r\n we're
\r\n sorry for any inconvenience and thank you for your patience\r\n

\r\n
\r\n","import {\r\n Component,\r\n Input,\r\n HostListener,\r\n NgZone,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n} from \"@angular/core\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { Location } from \"@angular/common\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { MyFilesService } from \"../../shared/services/my-files.service\";\r\nimport { WebNewsModel } from \"../../routes/news/news-model\";\r\nimport { WebManageMediaModel } from \"../../download/download-model\";\r\nimport { MyFilesModel } from \"../../shared/services/my-files-model\";\r\n\r\n@Component({\r\n selector: \"app-search-results\",\r\n templateUrl: \"./search-results.component.html\",\r\n styleUrls: [\"./search-results.component.less\"],\r\n})\r\nexport class SearchResultsComponent implements OnInit {\r\n @Input() searchResultStories: any;\r\n @Input() searchResultMedia: any;\r\n @Input() searchFrom: any;\r\n @Input() template: number;\r\n @Output() dataEvent = new EventEmitter();\r\n buttonsHelper = ButtonsHelper;\r\n resultStories: any;\r\n resultMedia: any = [];\r\n autoplay: boolean;\r\n mediaId: number;\r\n popup: boolean;\r\n loader: boolean;\r\n storyId: number;\r\n addDropdown: boolean;\r\n user: any;\r\n headerFooter: any;\r\n styles = new PageStyle();\r\n socials: string[] = [];\r\n currentUrl: string;\r\n language: Language;\r\n mediaTop: number;\r\n pageStories = 1;\r\n pageSizeStories = 12;\r\n maxPageStories = 1;\r\n totalCountStories: number;\r\n searchResults: number;\r\n\r\n grid: string;\r\n itemsPerPage = 12;\r\n newsHeadlineLength: number = 120;\r\n pageMedia = 1;\r\n pageSizeMedia = 12;\r\n maxPageMedia = 1;\r\n totalCountMedia: number;\r\n searchModel: any;\r\n loaderMedia = true;\r\n loaderStory = true;\r\n lazyLoadingLoader = false;\r\n showingStories = true;\r\n showLoadMore = true;\r\n cart: MyFilesModel = new MyFilesModel([], []);\r\n\r\n constructor(\r\n private mcService: McService,\r\n private router: Router,\r\n private languageService: LanguageService,\r\n private storageService: StorageService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private location: Location,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private http: HttpClient,\r\n ngZone: NgZone,\r\n private myFilesService: MyFilesService\r\n ) {\r\n this.myFilesService.files.subscribe((myFiles) => {\r\n this.cart = myFiles;\r\n });\r\n this.newsHeadlineLength = 90;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 65;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 12;\r\n }\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.route.params.subscribe((params: Params) => {\r\n const id: string = params[\"id\"];\r\n const title: string = params[\"title\"];\r\n let media: string = params[\"media\"];\r\n\r\n if (media && media.indexOf(\"?\") > -1)\r\n media = media.substr(0, media.indexOf(\"?\"));\r\n\r\n if (media) {\r\n this.openPopup(+media);\r\n }\r\n });\r\n\r\n window.onresize = (e) => {\r\n ngZone.run(() => {\r\n this.getDimensions();\r\n });\r\n };\r\n }\r\n\r\n addToMyFiles(media) {\r\n let component = this;\r\n if (component.cart.isInMyFiles(media.id, media.isPublished)) {\r\n component.myFilesService.pushMyFiles(media.id, media.isPublished);\r\n }\r\n }\r\n\r\n download(media) {\r\n media.downloading = true;\r\n this.getMediaDetail(media);\r\n }\r\n\r\n allResults() {\r\n this.router.navigateByUrl(\"/results\");\r\n }\r\n\r\n getMediaDetail(media) {\r\n let language = Number(localStorage.getItem(\"lng\"));\r\n let mediaDetailResponseModel;\r\n this.mcService.getMediaDetail(media.id, language).subscribe(\r\n (response: any) => {\r\n mediaDetailResponseModel = response;\r\n if (\r\n mediaDetailResponseModel.mustRegisterToAccess &&\r\n !mediaDetailResponseModel.anonymousShare &&\r\n !localStorage.getItem(\"Token\")\r\n ) {\r\n sessionStorage.setItem(\"redirectUrl\", \"/\" + window.location.pathname);\r\n this.router.navigateByUrl(\"/sign-in\");\r\n }\r\n if (mediaDetailResponseModel.downloadLinks.length > 0) {\r\n this.downloadMedia(\r\n mediaDetailResponseModel.downloadLinks[0],\r\n mediaDetailResponseModel,\r\n media\r\n );\r\n }\r\n },\r\n (error) => {\r\n media.downloading = false;\r\n }\r\n );\r\n }\r\n\r\n downloadMedia(download, mediaDetailResponseModel, media) {\r\n const iOS =\r\n !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\r\n\r\n if (iOS) {\r\n try {\r\n (window as any).webkit.messageHandlers.downloadClicked.postMessage({\r\n url: download.downloadUrl,\r\n });\r\n } catch (err) {\r\n media.downloading = false;\r\n }\r\n\r\n return;\r\n }\r\n const component = this;\r\n download.downloadActive = true;\r\n this.http.get(download.downloadUrl, { responseType: \"blob\" }).subscribe(\r\n (blob: Blob) => {\r\n const filename = download.downloadUrl.split(\"/\")[8];\r\n saveAs(blob, filename);\r\n media.downloading = false;\r\n if (component.user.cmsUser == null) {\r\n component.addDownload(media.id);\r\n }\r\n },\r\n (error) => {\r\n media.downloading = false;\r\n }\r\n );\r\n }\r\n\r\n addDownload(mediaId) {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n let niz: any = {};\r\n niz.mediaIds = [mediaId];\r\n niz.userId = this.user.id;\r\n niz.mediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n updateMedia(e) {\r\n for (const media of this.resultMedia.media) {\r\n if (media.id === e.id) {\r\n media.downloads = e.downloads;\r\n media.shares = e.shares;\r\n media.views = e.views;\r\n }\r\n }\r\n }\r\n\r\n receiveDataFromChild(event) {\r\n this.dataEvent.emit(event);\r\n }\r\n\r\n openPopup(id: number) {\r\n this.popup = true;\r\n this.mediaId = id;\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.getDimensions();\r\n }\r\n\r\n ngOnInit() {\r\n this.cart = this.myFilesService.getMyFiles();\r\n this.loaderMedia = true;\r\n this.loaderStory = true;\r\n this.headerFooter = JSON.parse(localStorage.getItem(\"headerfooter\"));\r\n if (this.headerFooter != null && this.headerFooter != undefined) {\r\n this.headerFooter.headerLinks.forEach((x) => (x.active = false));\r\n this.headerFooter.footerLinks.forEach((x) => (x.active = false));\r\n }\r\n this.storageService.getSearchModel().subscribe((searchModel) => {\r\n this.searchModel = searchModel;\r\n this.grid = this.searchModel.stories ? \"Columns3\" : \"Columns4\";\r\n if (window.innerWidth <= 1100) {\r\n this.grid = \"Columns2\";\r\n }\r\n });\r\n\r\n this.user = TokenManagerService.getUser();\r\n\r\n this.storageService.getSearchItemStories().subscribe((term) => {\r\n this.loaderStory = true;\r\n this.pageStories = this.searchModel.page;\r\n this.currentUrl = window.location.href;\r\n this.resultStories = term;\r\n this.maxPageStories = Math.ceil(term.totalCount / this.pageSizeStories);\r\n if (this.resultStories.socialSharing != null) {\r\n this.socials = this.resultStories.socialSharing;\r\n }\r\n this.loaderStory = false;\r\n // setTimeout(() => {\r\n // }, 3000);\r\n });\r\n\r\n this.storageService.getSearchItemMedia().subscribe((term) => {\r\n this.loaderMedia = true;\r\n this.pageMedia = this.searchModel.page;\r\n this.currentUrl = window.location.href;\r\n this.resultMedia = term;\r\n this.maxPageMedia = Math.ceil(term.totalCount / this.itemsPerPage);\r\n if (this.resultMedia.media) {\r\n for (let f of this.resultMedia.media) {\r\n if (f.mediaType === \"Audio\" || f.mediaType === \"Video\") {\r\n f.mediaLengthMin = Math.floor(f.mediaLenght / 60);\r\n f.mediaLengthSec = f.mediaLenght - f.mediaLengthMin * 60;\r\n }\r\n }\r\n }\r\n\r\n if (this.resultMedia.socialSharing != null) {\r\n this.socials = this.resultMedia.socialSharing;\r\n }\r\n if (this.resultMedia.media != undefined) {\r\n const niz = this.resultMedia.media;\r\n for (const x of niz) {\r\n if (x.mediaType === \"Document\") {\r\n x.thumbUrl = \"assets/images/document_default.png\";\r\n } else if (x.mediaType === \"Audio\") {\r\n x.thumbUrl = \"assets/images/audio_default.png\";\r\n }\r\n }\r\n } else {\r\n // setTimeout(() => {\r\n this.loaderMedia = false;\r\n // }, 3000);\r\n\r\n return;\r\n }\r\n // setTimeout(() => {\r\n this.loaderMedia = false;\r\n this.getDimensions();\r\n // }, 3000);\r\n });\r\n }\r\n\r\n getDimensions() {\r\n const mediaPosition = document.getElementById(\r\n \"media-wrapper\"\r\n ) as HTMLElement;\r\n this.mediaTop = mediaPosition?.offsetTop;\r\n if (window.outerWidth < 768) {\r\n this.searchResults = 6;\r\n } else {\r\n this.searchResults = 10;\r\n }\r\n }\r\n\r\n showSubCategory(news) {\r\n news.subCategory = !news.subCategory;\r\n }\r\n\r\n getStoryUrl(storyId) {\r\n return (\r\n this.currentUrl.replace(\"results\", \"story\") +\r\n \"/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.resultStories.stories.find((x) => x.staggingStoryId == storyId)\r\n .storyTitle\r\n )\r\n );\r\n }\r\n\r\n readMore(id) {\r\n //window.scrollTo(0, 0);\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.router.navigate([\r\n \"/story/\" +\r\n id.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.resultStories.stories.find(\r\n (x) => x.staggingStoryId == id.staggingStoryId\r\n ).storyTitle\r\n ),\r\n ]);\r\n }\r\n\r\n openDropdown(id) {\r\n for (const x of this.resultStories.stories) {\r\n if (x.storyId === id) {\r\n x.dropdown = !x.dropdown;\r\n }\r\n }\r\n }\r\n\r\n openMediaPopup(media) {\r\n this.autoplay = false;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n this.location.replaceState(media.relativeShareUrl);\r\n }\r\n\r\n openMediaPopupAutplay(media) {\r\n this.autoplay = true;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n this.location.replaceState(media.relativeShareUrl);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

Stories

\r\n

\r\n {{ language.searchNoResults }}\r\n

\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

Media Library

\r\n

\r\n {{ language.searchNoResults }}\r\n

\r\n
\r\n \r\n
\r\n \r\n \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\nimport { throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Component, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { McService } from '../../services/mc-service';\r\nimport { TokenManagerService } from '../../services/token-manager.service';\r\nimport { StorageService } from '../../services/storage.service';\r\nimport { fbModel, LoginModel } from '../../../login/login-model';\r\nimport { FacebookService, LoginResponse } from 'ngx-facebook';\r\nimport { CustomValidators } from 'ng2-validation';\r\nimport { Router } from '@angular/router';\r\nimport { LayoutModel } from \"../../../layout/layout-model\";\r\nimport { FontsAndColorsService } from '../../services/fonts-and-colors.service';\r\nimport { PageStyle } from '../../../models/style/style.model';\r\nimport { LanguageService } from '../../../shared/services/language.service';\r\nimport { Language } from '../../../models/language/language.model';\r\nimport { SavedStoryService } from '../../services/saved-story.service';\r\nimport { MyFilesService } from '../../services/my-files.service';\r\n\r\n@Component({\r\n selector: 'app-loginpopup',\r\n templateUrl: './loginpopup.component.html',\r\n styleUrls: ['./loginpopup.component.less']\r\n})\r\nexport class LoginpopupComponent implements OnInit {\r\n @Input() layoutResponseModel: LayoutModel;\r\n\r\n @Input() loginPopup: boolean;\r\n @Output() loginPopupChange = new EventEmitter();\r\n @Output() loginSuccessfulChange = new EventEmitter();\r\n loggedUserName: string;\r\n loginModel = new LoginModel();\r\n response: any;\r\n loader: boolean;\r\n valForm: FormGroup;\r\n fbData = new fbModel();\r\n token: string;\r\n styles = new PageStyle();\r\n language: Language;\r\n\r\n\r\n constructor(private mcService: McService,\r\n private languageService: LanguageService,\r\n private fb: FacebookService,\r\n private form: FormBuilder,\r\n private authLoginService: TokenManagerService,\r\n private router: Router,\r\n private sService: StorageService,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private savedStoryService: SavedStoryService,\r\n private myFilesService: MyFilesService) {\r\n //\r\n this.valForm = this.form.group({\r\n 'password': [null, Validators.required],\r\n 'username': [null, Validators.compose([Validators.required, CustomValidators.email])],\r\n });\r\n\r\n const headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n\r\n fb.init({\r\n appId: headerFooter.facebookAppId,\r\n version: 'v6.0'\r\n });\r\n const token = JSON.parse(localStorage.getItem('Token'));\r\n this.token = token && token.token;\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n }\r\n\r\n @HostListener('document:keyup', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.keyCode === 27) {\r\n this.close();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n // if(localStorage.getItem('Token') !== null){\r\n // this.router.navigateByUrl('/Home');\r\n // }\r\n window.scrollTo(0, 0);\r\n\r\n this.sService.getLogin().subscribe(term => {\r\n this.layoutResponseModel = term;\r\n });\r\n }\r\n\r\n login() {\r\n this.fb.login()\r\n .then((res: LoginResponse) => {\r\n this.mcService.logInFb(res.authResponse.accessToken)\r\n .subscribe((response: any) => {\r\n //\r\n const token = response.token;\r\n if (token) {\r\n this.token = token;\r\n\r\n if (response.user.role === 3 || response.user.role === 4 || response.user.role === 5 || response.user.role === 6) {\r\n return observableThrowError('Wrong email or password!');\r\n }\r\n localStorage.setItem('Token', JSON.stringify({ token: token }));\r\n localStorage.setItem('User', JSON.stringify({ user: response.user }));\r\n const files = this.myFilesService.getFiles();\r\n this.myFilesService.setMyFiles(files);\r\n this.sService.setName(response.user.fullName);\r\n this.router.navigate(['/']);\r\n } else {\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n //\r\n });\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n st() {\r\n this.fb.api('/me?fields=email,first_name,last_name').then(\r\n (response) => {\r\n //\r\n this.fbData.email = response.email;\r\n this.fbData.facebookId = response.id;\r\n this.fbData.firstName = response.first_name;\r\n this.fbData.lastName = response.last_name;\r\n // this.loginModel.email=response.email;\r\n // this.loginModel.password='';\r\n this.mcService.logInFb(this.fbData)\r\n .subscribe((response: any) => {\r\n\r\n const token = response.token;\r\n if (token) {\r\n this.token = token;\r\n \r\n\r\n if (response.user.role === 3 || response.user.role === 4 || response.user.role === 5 || response.user.role === 6) {\r\n return observableThrowError('Wrong email or password!');\r\n }\r\n localStorage.setItem('Token', JSON.stringify({ token: token }));\r\n localStorage.setItem('User', JSON.stringify({ user: response.user }));\r\n const files = this.myFilesService.getFiles();\r\n this.myFilesService.setMyFiles(files);\r\n this.sService.setName(response.user.fullName);\r\n this.router.navigate(['/']);\r\n } else {\r\n return false;\r\n }\r\n\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n )\r\n .catch(this.handleError);\r\n }\r\n\r\n\r\n registerPage() {\r\n this.router.navigateByUrl('/register');\r\n }\r\n\r\n\r\n private handleError(error) {\r\n console.error('Error processing action', error);\r\n }\r\n\r\n submitLoginForm(e) {\r\n e.stopPropagation();\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n if (this.valForm.valid) {\r\n this.loader = true;\r\n this.authLoginService.login(this.loginModel)\r\n .subscribe((response: any) => {\r\n this.response = response;\r\n this.loader = false;\r\n this.loggedUserName = TokenManagerService.getUser().fullName;\r\n // this.isPassowordSet = TokenManagerService.getUser().isPasswordSet;\r\n this.sService.setName(this.loggedUserName);\r\n // this.sService.setPw(this.isPassowordSet);\r\n // this.router.navigate(['/Home']);\r\n const files = this.myFilesService.getFiles();\r\n this.myFilesService.setMyFiles(files);\r\n this.loginSuccessfulChange.emit(true);\r\n\r\n this.close();\r\n\r\n this.savedStoryService.getIds();\r\n\r\n // const toast: Toast = {\r\n // type: 'success',\r\n // body: 'Logged in successfully!',\r\n // showCloseButton: true,\r\n // closeHtml: '
'\r\n //\r\n // };\r\n // this.toasterService.pop(toast);\r\n // setTimeout(() => {\r\n // this.toasterService.clear(toast.toastId, toast.toastContainerId);\r\n // }, 2000)\r\n },\r\n (error) => {\r\n this.loader = false;\r\n //\r\n });\r\n }\r\n }\r\n\r\n close() {\r\n this.loginPopupChange.emit(false);\r\n }\r\n\r\n forgotPassword() {\r\n this.router.navigateByUrl('/forgotpassword');\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ language.downloadMediaLogIn }}
\r\n
{{language.signIn}}
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.emailNameRequired }}\r\n \r\n Must\r\n be a valid email address\r\n
\r\n
\r\n \r\n \r\n \r\n Password is required\r\n \r\n
\r\n
{{language.forgotPassword}}
\r\n
\r\n \r\n \r\n
{{ language.or }}
\r\n
\r\n \r\n {{language.signInFb}}\r\n
\r\n
\r\n \r\n\r\n
{{ language.or }}
\r\n
{{language.signInTw}}
\r\n
\r\n
\r\n
\r\n
or {{language.register}}
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n","export class TestimonialsViewModel {\r\n public testimonials: TestimonialsModel[];\r\n public mustRegisterToDownload: boolean;\r\n public mustRegisterToAccess: boolean;\r\n}\r\n\r\nexport class TestimonialsModel{\r\n public imageUrl: string;\r\n public name: string;\r\n public clientLogoUrl: string;\r\n public text: string;\r\n public date: string;\r\n}\r\n","import { McService } from \"../../shared/services/mc-service\";\r\nimport { ContactModel } from \"./contact-model\";\r\nimport { MapsAPILoader } from \"@agm/core\";\r\n\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { CustomValidators } from \"ng2-validation\";\r\nimport { Router } from \"@angular/router\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Language } from \"../../models/language/language.model\";\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: \"app-contact\",\r\n templateUrl: \"./contact.component.html\",\r\n styleUrls: [\"./contact.component.less\"],\r\n})\r\nexport class ContactComponent implements OnInit {\r\n london = true;\r\n newYork = false;\r\n loader: boolean;\r\n lat: number;\r\n lng: number = 7.809007;\r\n lata: number;\r\n lnga: number;\r\n latf: number;\r\n lngf: number;\r\n lats: number;\r\n lngs: number;\r\n address: any;\r\n address2: any;\r\n zoom = 14;\r\n locationCity: string;\r\n message = false;\r\n mailSent: boolean;\r\n styles = new PageStyle();\r\n valForm: FormGroup;\r\n language: Language;\r\n\r\n mapStyle = [\r\n {\r\n elementType: \"geometry\",\r\n stylers: [\r\n {\r\n color: \"#f5f5f5\",\r\n },\r\n ],\r\n },\r\n {\r\n elementType: \"labels.icon\",\r\n stylers: [\r\n {\r\n visibility: \"off\",\r\n },\r\n ],\r\n },\r\n {\r\n elementType: \"labels.text.fill\",\r\n stylers: [\r\n {\r\n color: \"#616161\",\r\n },\r\n ],\r\n },\r\n {\r\n elementType: \"labels.text.stroke\",\r\n stylers: [\r\n {\r\n color: \"#f5f5f5\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"administrative\",\r\n elementType: \"labels.text\",\r\n stylers: [\r\n {\r\n visibility: \"off\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"administrative.country\",\r\n elementType: \"labels.text\",\r\n stylers: [\r\n {\r\n visibility: \"off\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"administrative.land_parcel\",\r\n elementType: \"labels.text.fill\",\r\n stylers: [\r\n {\r\n color: \"#bdbdbd\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"landscape\",\r\n elementType: \"geometry.fill\",\r\n stylers: [\r\n {\r\n color: \"#ffffff\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"landscape.natural\",\r\n elementType: \"geometry.fill\",\r\n stylers: [\r\n {\r\n color: \"#e7f3d5\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi\",\r\n stylers: [\r\n {\r\n visibility: \"on\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi\",\r\n elementType: \"geometry\",\r\n stylers: [\r\n {\r\n color: \"#eeeeee\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi\",\r\n elementType: \"labels.text.fill\",\r\n stylers: [\r\n {\r\n color: \"#757575\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.attraction\",\r\n elementType: \"labels.icon\",\r\n stylers: [\r\n {\r\n visibility: \"on\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.business\",\r\n elementType: \"labels.icon\",\r\n stylers: [\r\n {\r\n visibility: \"on\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.medical\",\r\n elementType: \"geometry.fill\",\r\n stylers: [\r\n {\r\n color: \"#f8edf1\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.medical\",\r\n elementType: \"labels.icon\",\r\n stylers: [\r\n {\r\n visibility: \"on\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.park\",\r\n elementType: \"geometry\",\r\n stylers: [\r\n {\r\n color: \"#e5e5e5\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.park\",\r\n elementType: \"geometry.fill\",\r\n stylers: [\r\n {\r\n color: \"#e7f3d5\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.park\",\r\n elementType: \"geometry.stroke\",\r\n stylers: [\r\n {\r\n color: \"#d7e9b7\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.park\",\r\n elementType: \"labels.text.fill\",\r\n stylers: [\r\n {\r\n color: \"#9e9e9e\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"poi.school\",\r\n elementType: \"labels.icon\",\r\n stylers: [\r\n {\r\n visibility: \"on\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"road\",\r\n elementType: \"geometry\",\r\n stylers: [\r\n {\r\n color: \"#ffffff\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"road\",\r\n elementType: \"geometry.fill\",\r\n stylers: [\r\n {\r\n color: \"#eaeaea\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"road.arterial\",\r\n elementType: \"labels.text.fill\",\r\n stylers: [\r\n {\r\n color: \"#757575\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"road.highway\",\r\n elementType: \"geometry\",\r\n stylers: [\r\n {\r\n color: \"#dadada\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"road.highway\",\r\n elementType: \"labels.text.fill\",\r\n stylers: [\r\n {\r\n color: \"#616161\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"road.local\",\r\n elementType: \"labels.text.fill\",\r\n stylers: [\r\n {\r\n color: \"#9e9e9e\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"transit.line\",\r\n elementType: \"geometry\",\r\n stylers: [\r\n {\r\n color: \"#e5e5e5\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"transit.station\",\r\n elementType: \"geometry\",\r\n stylers: [\r\n {\r\n color: \"#eeeeee\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"water\",\r\n elementType: \"geometry\",\r\n stylers: [\r\n {\r\n color: \"#c9c9c9\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"water\",\r\n elementType: \"geometry.fill\",\r\n stylers: [\r\n {\r\n color: \"#eaf7fa\",\r\n },\r\n ],\r\n },\r\n {\r\n featureType: \"water\",\r\n elementType: \"labels.text.fill\",\r\n stylers: [\r\n {\r\n color: \"#9e9e9e\",\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n contactUsResponse = new ContactModel();\r\n\r\n constructor(\r\n private mcService: McService,\r\n private mapsAPILoader: MapsAPILoader,\r\n private fb: FormBuilder,\r\n private languageService: LanguageService,\r\n private router: Router,\r\n private fontsAndColorsService: FontsAndColorsService\r\n ) {\r\n this.valForm = this.fb.group({\r\n firstname: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(50)]),\r\n ],\r\n lastname: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(50)]),\r\n ],\r\n telephone: [null],\r\n company: [null],\r\n email: [\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n CustomValidators.email,\r\n Validators.maxLength(50),\r\n ]),\r\n ],\r\n message: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(500)]),\r\n ],\r\n });\r\n\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.loader = true;\r\n this.getContactUs();\r\n\r\n this.valForm.controls[\"firstname\"].setValidators(Validators.required);\r\n this.valForm.controls[\"lastname\"].setValidators(Validators.required);\r\n this.valForm.controls[\"message\"].setValidators(Validators.required);\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n geocodeLatLng(geocoder, lat, lng) {\r\n let latlng = { lng: lng, lat: lat };\r\n geocoder.geocode({ location: latlng }, (results, status) => {\r\n if (status === \"OK\") {\r\n if (results[0]) {\r\n for (let i = 0; results[0].address_components.length > i; i++) {\r\n if (results[0].address_components[i].types[0] === \"route\") {\r\n this.address = results[2].formatted_address;\r\n }\r\n }\r\n } else {\r\n }\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n geocodeLatLng2(geocoder, lat, lng) {\r\n let latlng = { lng: lng, lat: lat };\r\n geocoder.geocode({ location: latlng }, (results, status) => {\r\n if (status === \"OK\") {\r\n if (results[0]) {\r\n for (let i = 0; results[0].address_components.length > i; i++) {\r\n if (results[0].address_components[i].types[0] === \"street_number\") {\r\n this.address2 = results[0].address_components[i].long_name;\r\n }\r\n if (results[0].address_components[i].types[0] === \"route\") {\r\n this.address2 += \" \" + results[0].address_components[i].long_name;\r\n }\r\n\r\n if (results[0].address_components[i].types[0] === \"locality\") {\r\n this.address2 +=\r\n \", \" + results[0].address_components[i].long_name;\r\n }\r\n if (\r\n results[0].address_components[i].types[0] ===\r\n \"administrative_area_level_1\"\r\n ) {\r\n this.address2 +=\r\n \", \" + results[0].address_components[i].short_name;\r\n }\r\n if (results[0].address_components[i].types[0] === \"postal_code\") {\r\n this.address2 += \" \" + results[0].address_components[i].long_name;\r\n }\r\n }\r\n } else {\r\n }\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n getMap() {\r\n this.mapsAPILoader.load().then(() => {\r\n let geocoder = new google.maps.Geocoder();\r\n this.geocodeLatLng(geocoder, this.latf, this.lngf);\r\n this.geocodeLatLng2(geocoder, this.lats, this.lngs);\r\n });\r\n }\r\n\r\n getContactUs() {\r\n this.loader = true;\r\n this.mcService.getContactUs(1).subscribe(\r\n (response: any) => {\r\n this.contactUsResponse = response;\r\n this.loader = false;\r\n this.latf = response.latitude;\r\n this.lngf = response.longitude;\r\n this.lnga = this.lngf;\r\n this.lata = this.latf;\r\n this.lats = response.latitude2;\r\n this.lngs = response.longitude2;\r\n this.getMap();\r\n },\r\n (error) => {\r\n //\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n\r\n sendEmail() {\r\n this.message = false;\r\n this.mailSent = true;\r\n this.mcService.sendEmail(this.contactUsResponse.emailModel).subscribe(\r\n (response) => {\r\n this.message = true;\r\n this.mailSent = false;\r\n this.valForm.reset();\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n switchLondon() {\r\n this.london = true;\r\n this.newYork = false;\r\n }\r\n\r\n switchNewYork() {\r\n this.london = false;\r\n this.newYork = true;\r\n }\r\n\r\n changeCord(lng, lat, sity) {\r\n this.lnga = lng;\r\n this.lata = lat;\r\n if (sity == \"london\") {\r\n this.london = true;\r\n this.newYork = false;\r\n } else {\r\n this.newYork = true;\r\n this.london = false;\r\n }\r\n }\r\n\r\n onSubmit(e) {\r\n e.stopPropagation();\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n\r\n if (this.valForm.valid) {\r\n this.sendEmail();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n

\r\n {{ contactUsResponse.title }}\r\n

\r\n

{{ contactUsResponse.subtitle }}

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ language.firstNameRequired }}\r\n
\r\n
\r\n \r\n \r\n {{ language.lastNameRequired }}\r\n
\r\n
\r\n \r\n {{ language.emailNameRequired }}\r\n {{ language.invalidEmail }}\r\n \r\n {{ language.maxLength50 }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{ language.messageRequired }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

\r\n {{ language.emailSentSuccess }}\r\n

\r\n
\r\n \r\n
","import{Pipe,PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name:'shorten'\r\n})\r\n\r\nexport class ShortenPipe implements PipeTransform{\r\n transform(value:any,limit:number){\r\n if(value.length>limit){\r\n return value.substr(0,limit) + ' ...';\r\n }\r\n return value;\r\n }\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { McService } from '../shared/services/mc-service';\r\nimport { deleteModel, DownloadMediaModel, DownloadModel } from './download-model';\r\nimport { saveAs } from 'file-saver';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport * as JSZip from 'jszip';\r\nimport * as JSZipUtils from 'jszip-utils';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TokenManagerService } from '../shared/services/token-manager.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DownloadAddToModel } from '../routes/media/media-model';\r\nimport { PageStyle } from '../models/style/style.model';\r\nimport { FontsAndColorsService } from '../shared/services/fonts-and-colors.service';\r\nimport { GoogleAnalyticsEventsService } from '../shared/services/google-analytics-events.service';\r\nimport { LanguageService } from '../shared/services/language.service';\r\nimport { Language } from '../models/language/language.model';\r\nimport { UrlHelper } from '../shared/helpers/url-helper';\r\nimport { ToastrConfig } from '../shared/helpers/toastr-config';\r\nimport { WebpHelperService } from '../shared/services/webp-helper.service';\r\nimport { MyFilesService } from '../shared/services/my-files.service';\r\nimport { MyFilesModel } from '../shared/services/my-files-model';\r\n\r\n@Component({\r\n selector: 'app-download',\r\n templateUrl: './download.component.html',\r\n styleUrls: ['./download.component.less']\r\n})\r\nexport class DownloadComponent implements OnInit {\r\n @Input() dropdownSize: string;\r\n\r\n loginPopup: boolean;\r\n popup: boolean;\r\n loader: boolean;\r\n autoplay: boolean;\r\n isUrlCopied: boolean;\r\n disabledButton = false;\r\n dropdown = false;\r\n downloadActive = false;\r\n cancelDownloads = false;\r\n\r\n mediaId: number;\r\n categoryLabel: string;\r\n shareCartUrl: string;\r\n\r\n styles: PageStyle;\r\n videoFormats: DownloadMediaModel[] = [];\r\n deleteModel: deleteModel[] = [];\r\n downloadMediaResponse: DownloadModel;\r\n language: Language;\r\n\r\n cartItems: MyFilesModel;\r\n forDownload: any[] = [];\r\n publishedDownloadIds: any[] = [];\r\n storyDownloadIds: any[] = [];\r\n user: any;\r\n downloadSubscription: any;\r\n\r\n constructor(private route: ActivatedRoute, private mcService: McService, private http: HttpClient, private languageService: LanguageService,\r\n private router: Router, private toastr: ToastrService, public fontsAndColorsService: FontsAndColorsService,\r\n private googleAnalytics: GoogleAnalyticsEventsService, public webPHelper: WebpHelperService, private myFilesService: MyFilesService) {\r\n\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n\r\n this.route.params.subscribe(params => {\r\n if (params.ids) {\r\n // \r\n const cartIds = JSON.parse(decodeURIComponent(params.ids));\r\n localStorage.setItem('cart', JSON.stringify(cartIds));\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.user = TokenManagerService.getUser();\r\n this.getDownloadBox();\r\n window.scrollTo(0, 0);\r\n this.popup = false;\r\n this.categoryLabel = this.language.availableFormats;\r\n }\r\n\r\n getDownloadBox() {\r\n this.loader = true;\r\n this.cartItems = this.myFilesService.getMyFiles();\r\n\r\n this.mcService.downloadBox(this.cartItems)\r\n .subscribe((response: any) => {\r\n this.downloadMediaResponse = response;\r\n if (this.downloadMediaResponse.mustRegisterToDownload && localStorage.getItem('Token') === null) {\r\n window.scrollTo(0, 0);\r\n this.loginPopup = true;\r\n return;\r\n }\r\n // if (response.mustRegisterToAccess && localStorage.getItem('Token') == null) {\r\n // this.router.navigateByUrl('/register');\r\n // }\r\n\r\n let mediaLength = 0;\r\n\r\n for (const item of this.downloadMediaResponse.downloadBoxList) {\r\n for (const media of item.media) {\r\n mediaLength++;\r\n }\r\n }\r\n\r\n if (this.cartItems.length > mediaLength) {\r\n\r\n this.cartItems = new MyFilesModel([], []);\r\n\r\n for (const item of this.downloadMediaResponse.downloadBoxList) {\r\n for (const media of item.media) {\r\n if (media.media.isPublished) {\r\n this.cartItems.publishedMediaIds.push(media.media.id);\r\n } else {\r\n this.cartItems.storyMediaIds.push(media.media.id);\r\n }\r\n }\r\n\r\n }\r\n\r\n this.myFilesService.setMyFiles(this.cartItems);\r\n\r\n this.toastr.error('Some of the selected media has been removed from the story.', 'Error', ToastrConfig.error);\r\n\r\n }\r\n\r\n this.loader = false;\r\n\r\n this.initVideoFormats(this);\r\n },\r\n (error2) => {\r\n //\r\n });\r\n }\r\n\r\n mediaChecked(media, dl, event) {\r\n const component = this;\r\n media.checked = !media.checked;\r\n const index = this.forDownload.indexOf(media);\r\n if (component.forDownload.indexOf(media) === -1 && media.checked) {\r\n component.forDownload.push(media.downloadUrl);\r\n if (dl.isPublished) {\r\n component.publishedDownloadIds.push(dl.id);\r\n } else {\r\n component.storyDownloadIds.push(dl.id);\r\n }\r\n const delModel = new deleteModel();\r\n delModel.id = dl.id;\r\n delModel.url = media.downloadUrl;\r\n component.deleteModel.push(delModel);\r\n\r\n } else if (!media.checked) {\r\n component.forDownload.splice(index, 1);\r\n if (dl.isPublished) {\r\n component.publishedDownloadIds.splice(component.publishedDownloadIds.indexOf(dl.id), 1);\r\n } else {\r\n component.storyDownloadIds.splice(component.storyDownloadIds.indexOf(dl.id), 1);\r\n }\r\n }\r\n event.target.style.backgroundColor = event.target.checked ? this.styles.style.mainIdentifyingColor : '';\r\n }\r\n\r\n openMediaPopup(media) {\r\n this.autoplay = false;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n }\r\n\r\n openMediaPopupAutoplay(media) {\r\n this.autoplay = true;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n }\r\n\r\n downloadVideoType(vt) {\r\n const component = this;\r\n // component.disabledButton = true;\r\n const zip = new JSZip();\r\n let count = 0;\r\n const zipFilename = 'download.zip';\r\n const urls = [];\r\n\r\n this.loader = true;\r\n\r\n for (let i = 0; i < component.downloadMediaResponse.downloadBoxList.length; i++) {\r\n\r\n const mediaDeleteList = [];\r\n\r\n for (let y = 0; y < component.downloadMediaResponse.downloadBoxList[i].media.length; y++) {\r\n for (let z = 0; z < component.downloadMediaResponse.downloadBoxList[i].media[y].downloadLinks.length; z++) {\r\n if (component.downloadMediaResponse.downloadBoxList[i].media[y].downloadLinks[z].label === vt.label &&\r\n component.downloadMediaResponse.downloadBoxList[i].media[y].media.mediaType === 'Video') {\r\n const split = component.downloadMediaResponse.downloadBoxList[i].media[y].downloadLinks[z].downloadUrl.split('/');\r\n const filename = split[split.length - 1];\r\n\r\n urls.push(component.downloadMediaResponse.downloadBoxList[i].media[y].downloadLinks[z].downloadUrl);\r\n\r\n mediaDeleteList.push(this.downloadMediaResponse.downloadBoxList[i].media[y]);\r\n }\r\n }\r\n }\r\n\r\n for (let x = 0; x < mediaDeleteList.length; x++) {\r\n this.downloadMediaResponse.downloadBoxList[i].media\r\n .splice(this.downloadMediaResponse.downloadBoxList[i].media.indexOf(mediaDeleteList[x]), 1);\r\n }\r\n\r\n }\r\n\r\n\r\n urls.forEach(function (url) {\r\n const filename = url.split('/')[8];\r\n\r\n // loading a file and add it in a zip file\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n if (err) {\r\n throw err; // or handle the error\r\n }\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n if (count === urls.length) {\r\n\r\n zip.generateAsync({ type: 'blob' }).then(function (content) {\r\n\r\n saveAs(content, zipFilename);\r\n component.loader = false;\r\n component.resetDownloadArrays(component);\r\n\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n addDownload() {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem('Token') === null) {\r\n this.user.id = null;\r\n }\r\n const niz = new DownloadAddToModel();\r\n niz.publishedMediaIds = this.publishedDownloadIds;\r\n niz.storyMediaIds = this.storyDownloadIds;\r\n niz.userId = this.user.id;\r\n niz.storyMediaIds.forEach(mediaId => {\r\n this.googleAnalytics.emitEvent('media/' + mediaId, 'download', niz.userId.toString());\r\n });\r\n niz.publishedMediaIds.forEach(mediaId => {\r\n this.googleAnalytics.emitEvent('media/' + mediaId, 'download-pm', niz.userId.toString());\r\n });\r\n this.mcService.addDownloadToMedia(niz)\r\n .subscribe((response) => {\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n\r\n cancelDownload() {\r\n if (this.downloadSubscription) {\r\n this.downloadSubscription.unsubscribe();\r\n }\r\n\r\n this.downloadActive = false;\r\n this.disabledButton = false;\r\n this.cancelDownloads = true;\r\n }\r\n\r\n download() {\r\n const component = this;\r\n const urls = this.forDownload;\r\n const zip = new JSZip();\r\n let count = 0;\r\n const zipFilename = 'download.zip';\r\n\r\n if (this.forDownload.length > 1) {\r\n\r\n for (let i = 0; i < this.downloadMediaResponse.downloadBoxList.length; i++) {\r\n\r\n const mediaDeleteList = [];\r\n\r\n for (let j = 0; j < this.downloadMediaResponse.downloadBoxList[i].media.length; j++) {\r\n for (let c = 0; c < this.deleteModel.length; c++) {\r\n if (this.downloadMediaResponse.downloadBoxList[i].media[j].media.id === this.deleteModel[c].id) {\r\n const index = this.downloadMediaResponse.downloadBoxList[i].media\r\n .indexOf(this.downloadMediaResponse.downloadBoxList[i].media[j]);\r\n\r\n mediaDeleteList.push(this.downloadMediaResponse.downloadBoxList[i].media[j]);\r\n if (this.downloadMediaResponse.downloadBoxList[i].media[j].media.isPublished) {\r\n this.cartItems.publishedMediaIds.splice(index, 1);\r\n } else {\r\n this.cartItems.storyMediaIds.splice(index, 1);\r\n }\r\n\r\n this.myFilesService.setMyFiles(this.cartItems);\r\n\r\n }\r\n }\r\n }\r\n\r\n for (let x = 0; x < mediaDeleteList.length; x++) {\r\n this.downloadMediaResponse.downloadBoxList[i].media\r\n .splice(this.downloadMediaResponse.downloadBoxList[i].media.indexOf(mediaDeleteList[x]), 1);\r\n }\r\n }\r\n\r\n\r\n component.disabledButton = true;\r\n component.downloadActive = true;\r\n component.cancelDownloads = false;\r\n\r\n urls.forEach(url => {\r\n const filename = url.split('/')[8];\r\n\r\n if (component.cancelDownloads) {\r\n return;\r\n }\r\n\r\n // loading a file and add it in a zip file\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n\r\n if (component.cancelDownloads) {\r\n return;\r\n }\r\n\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n\r\n if (count === urls.length) {\r\n zip.generateAsync({ type: 'blob' }).then(function (content) {\r\n\r\n saveAs(content, zipFilename);\r\n\r\n component.resetDownloadArrays(component);\r\n\r\n component.disabledButton = false;\r\n component.downloadActive = false;\r\n\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n\r\n });\r\n }\r\n });\r\n });\r\n } else {\r\n for (const x of this.forDownload) {\r\n\r\n component.disabledButton = true;\r\n component.downloadActive = true;\r\n\r\n for (let i = 0; i < this.downloadMediaResponse.downloadBoxList.length; i++) {\r\n\r\n const mediaDeleteList = [];\r\n\r\n for (let j = 0; j < this.downloadMediaResponse.downloadBoxList[i].media.length; j++) {\r\n for (let c = 0; c < this.deleteModel.length; c++) {\r\n if (this.downloadMediaResponse.downloadBoxList[i].media[j].media.id === this.deleteModel[c].id) {\r\n const index = this.downloadMediaResponse.downloadBoxList[i].media\r\n .indexOf(this.downloadMediaResponse.downloadBoxList[i].media[j]);\r\n\r\n mediaDeleteList.push(this.downloadMediaResponse.downloadBoxList[i].media[j]);\r\n\r\n if (this.downloadMediaResponse.downloadBoxList[i].media[j].media.isPublished) {\r\n this.cartItems.publishedMediaIds.splice(index, 1);\r\n } else {\r\n this.cartItems.storyMediaIds.splice(index, 1);\r\n }\r\n this.myFilesService.setMyFiles(this.cartItems);\r\n }\r\n }\r\n }\r\n\r\n for (let item = 0; x < mediaDeleteList.length; item++) {\r\n this.downloadMediaResponse.downloadBoxList[i].media\r\n .splice(this.downloadMediaResponse.downloadBoxList[i].media.indexOf(mediaDeleteList[item]), 1);\r\n }\r\n\r\n }\r\n\r\n this.downloadSubscription = this.http.get(x, { responseType: 'blob' })\r\n .subscribe((blob: Blob) => {\r\n\r\n const filename = x.split('/')[8];\r\n\r\n saveAs(blob, filename);\r\n\r\n component.resetDownloadArrays(component);\r\n\r\n component.disabledButton = false;\r\n component.downloadActive = false;\r\n\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n },\r\n (error) => {\r\n component.disabledButton = false;\r\n component.downloadActive = false;\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n resetDownloadArrays(component) {\r\n component.forDownload = [];\r\n component.deleteModel = [];\r\n component.initVideoFormats(component);\r\n }\r\n\r\n initVideoFormats(component) {\r\n component.videoFormats = [];\r\n\r\n for (const download of component.downloadMediaResponse.downloadBoxList) {\r\n for (const media of download.media) {\r\n for (const link of media.downloadLinks) {\r\n if (media.media.mediaType === 'Video' && !component.videoFormats.find(x => x.label === link.label)) {\r\n component.videoFormats.push({ label: link.label });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n shareCart() {\r\n this.shareCartUrl = `${UrlHelper.getCurrentUrlHostOnly()}/download/share/${localStorage.getItem('cart')}`;\r\n }\r\n\r\n closeLoader() {\r\n this.loader = false;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ language.downloadBox }}\r\n

\r\n
\r\n {{ language.downloadVideoInFormat }}:\r\n
\r\n \r\n
\r\n
\r\n {{ language.shareCart }}\r\n
\r\n
\r\n
{{ shareCartUrl }}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ dl.storyTitle }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \"Download\r\n \r\n \"dl.media.name\"\r\n\r\n \"dl.media.name\"\r\n\r\n \"dl.media.name\"\r\n
\r\n
\r\n
\r\n {{ dl.media.name | slice : 0 : 10\r\n }}= 10\">...\r\n
\r\n
\r\n
\r\n \"Image\"\r\n \"Video\"\r\n \"Document\"\r\n \"Audio\"\r\n
\r\n
\r\n {{ label.label }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","export class ContactModel {\r\n public emailsContactForm: string;\r\n public longitude: number;\r\n public latitude: number;\r\n public positionName: string;\r\n public longitude2: number;\r\n public latitude2: number;\r\n public positionName2: string;\r\n public newBusinessEnquires: boolean;\r\n public title: string;\r\n public subtitle: string;\r\n public person1Name: string;\r\n public telephone: string;\r\n public telephone2: string;\r\n public email1: string;\r\n public email2: string;\r\n public person1Position: string;\r\n public person1Email: string;\r\n public person2Name: string;\r\n public person2Position;\r\n public person2Email: string;\r\n public emailModel: EmailModel;\r\n public mustRegisterToDownload: boolean;\r\n public mustRegisterToAccess: boolean;\r\n public newBusinessEnquiresTitle: string;\r\n\r\n constructor(){\r\n this.emailModel = new EmailModel();\r\n }\r\n\r\n}\r\n\r\nexport class EmailModel{\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public telephone: string;\r\n public company: string;\r\n public message: string;\r\n}\r\n","import { SafeHtml } from \"@angular/platform-browser\";\r\n\r\nexport class WebNewsListModel {\r\n public newsGridType: string;\r\n public maxNewsPerPage: number;\r\n public news: WebNewsModel[];\r\n public stories: WebNewsModel[];\r\n public mustRegisterToAccess: boolean;\r\n public mustRegisterToDownload: boolean;\r\n public socialSharing: string[];\r\n public totalCount: number;\r\n public logoUrl: string;\r\n public hideCounter: boolean;\r\n}\r\n\r\nexport class WebNewsModel {\r\n public storyId: number;\r\n public staggingStoryId: number;\r\n public audio: number;\r\n public video: number;\r\n public images: number;\r\n public document: number;\r\n public publishedDate: string;\r\n public category: string[];\r\n public storyTitle: string;\r\n public shortDescription: string;\r\n public thumbUrl: string;\r\n public fullHDUrl?: string;\r\n public featuredEmbeddedCode: string;\r\n public embeddedCode: SafeHtml;\r\n public views: number;\r\n public shared: number;\r\n public hideStoryDate: boolean;\r\n\r\n //added new properties\r\n public shareDropdown: boolean;\r\n public categoryDropdown: boolean;\r\n public subCategory: boolean;\r\n}\r\n\r\nexport class WebNewsDetailsModel {\r\n public smallHeroImage: boolean;\r\n public youMayAlsoLikeSection: boolean;\r\n public storyId: number;\r\n public audio: number;\r\n public video: number;\r\n public images: number;\r\n public document: number;\r\n public publishedDate: string;\r\n public socialSharing: string[];\r\n public featuredMediaType: string;\r\n public mustRegisterToDownload: boolean;\r\n public mustRegisterToAccess: boolean;\r\n public anonymousShare: boolean;\r\n public category: WebNewsDetailsCategoryModel[];\r\n public storyTitle: string;\r\n public shortDescription: string;\r\n public text: string;\r\n public thumbUrl: string;\r\n public featuredEmbeddedCode: string;\r\n public embeddedCode: SafeHtml;\r\n public views: number;\r\n public shared: number;\r\n public media: WebNewsDetailsMediaModel[];\r\n public alsoMayLike: WebNewsModel[];\r\n public isMobileCrop: boolean;\r\n public hideCounters: boolean;\r\n public hideStoryDate: boolean;\r\n //added new properties\r\n public sharedDropdown: boolean;\r\n public categoryDropdown: boolean;\r\n public staggingStoryId?: number;\r\n public mediaId: number;\r\n}\r\n\r\nexport class WebNewsDetailsCategoryModel {\r\n public id: number;\r\n public name: string;\r\n public isCustom: boolean;\r\n}\r\n\r\nexport class WebNewsDetailsMediaModel {\r\n public id: number;\r\n public staggingStoryId: number;\r\n public thumbUrl: string;\r\n public fullHDUrl?: string;\r\n public name: string;\r\n public downloadLink: string;\r\n public mediaType: string;\r\n public views: number;\r\n public downloads: number;\r\n public lastDownloads: string[];\r\n public shareUrl: any;\r\n public mediaLenght: number;\r\n public isPublished: boolean;\r\n public relativeShareUrl: string;\r\n\r\n //added new properties\r\n public checked = false;\r\n public addedToCart: boolean;\r\n public mediaDropdown: boolean;\r\n public shares?: number;\r\n\r\n public mediaLengthMin: number;\r\n public mediaLengthSec: number;\r\n}\r\n\r\nexport class NewsViewModel {\r\n public newsId: number;\r\n public userId: number;\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {McService} from '../../shared/services/mc-service';\r\nimport {Router, ActivatedRoute} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-redirect-old',\r\n template: ''\r\n})\r\nexport class RedirectOldComponent implements OnInit {\r\n\r\n id: number;\r\n type: string;\r\n url: string;\r\n\r\n constructor(private router: Router, private route: ActivatedRoute){\r\n this.route.params.subscribe();\r\n }\r\n\r\n // https://digitalnewsagency.com/media/254056/share\r\n // {path: 'media/:id/share', component: RedirectOldComponent},\r\n\r\n // https://digitalnewsagency.com//users/49390/reset_password/f30373a60686b05d10b2c594d973666f4bf9f740\r\n // {path: 'users/:id/reset_password/:hash', component: RedirectOldComponent},\r\n\r\n ngOnInit() {\r\n this.url = 'http://dna3.digitalnewsagency.com/';\r\n this.type = this.route.snapshot.url[0].toString();\r\n\r\n for (let a of this.route.snapshot.url) {\r\n this.url += a + '/';\r\n }\r\n\r\n //\r\n\r\n document.location.href = this.url;\r\n\r\n // //\r\n\r\n // if (this.type == 'users') {\r\n // document.location.href = this.url;\r\n // }\r\n // else {\r\n\r\n // this.id = parseInt(this.route.snapshot.paramMap.get('id'));\r\n\r\n // //\r\n // //\r\n\r\n\r\n // this.router.navigate(['/story/' + this.id + '/title']);\r\n // }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PasswordCheckService {\r\n\r\n constructor() { }\r\n\r\n hasPasswordHardening() {\r\n return localStorage.getItem('hasPasswordHardening') === 'true';\r\n }\r\n\r\n passwordCheckSpecial(password) {\r\n if (!password) return false;\r\n const pecialCharacters = \"!\\\"#$%&'()*+,-./:;<=>?@[\\\\]^_`{|}~\";\r\n for (let i = 0; i < password.length; i++) {\r\n if (pecialCharacters.indexOf(password[i]) > -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n passwordCheckCase(password) {\r\n if (!password) return false;\r\n const upperCase = /[A-Z]/;\r\n const lowerCase = /[a-z]/;\r\n if (upperCase.test(password) && lowerCase.test(password)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n passwordCheckLength(password) {\r\n if (!password) return false;\r\n if (password.length >= 8) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n passwordCheckNumber(password) {\r\n if (!password) return false;\r\n const numbers = /[0-9]/;\r\n if (numbers.test(password)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkAll(password) {\r\n return this.passwordCheckSpecial(password)\r\n && this.passwordCheckCase(password)\r\n && this.passwordCheckLength(password)\r\n && this.passwordCheckNumber(password);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from \"@angular/router\";\r\nimport { PageStyle } from '../../../models/style/style.model';\r\nimport { FontsAndColorsService } from '../../services/fonts-and-colors.service';\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport { LanguageService } from \"../../services/language.service\";\r\n\r\n@Component({\r\n selector: 'app-register-popup',\r\n templateUrl: './register-popup.component.html',\r\n styleUrls: ['./register-popup.component.less']\r\n})\r\nexport class RegisterPopupComponent implements OnInit {\r\n @Input() registerPopup: boolean;\r\n styles = new PageStyle();\r\n language: Language;\r\n\r\n @Output() registerPopupClose = new EventEmitter();\r\n constructor(private router: Router, public fontsAndColorsService: FontsAndColorsService, private languageService: LanguageService,\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n close() {\r\n this.registerPopupClose.emit(false);\r\n this.router.navigateByUrl('/sign-in', { replaceUrl: 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 {{ language.registrationSuccess }}\r\n
\r\n\r\n
\r\n Hi,

\r\n Thank you for completing the sign-up process.\r\n

\r\n {{ language.activationEmailSent }}\r\n

\r\n {{ language.activationEmailInstructions }}\r\n

\r\n {{ language.lookForwardMessage }}\r\n

\r\n {{ language.thankYou }},
\r\n DNA Team\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { WebNewsDetailsMediaModel } from \"../../news/news-model\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-media-group\",\r\n templateUrl: \"./media-group.component.html\",\r\n styleUrls: [\"./media-group.component.less\"],\r\n})\r\nexport class MediaGroupComponent implements OnInit {\r\n @Input() group: WebNewsDetailsMediaModel[];\r\n @Input() config: any;\r\n @Input() mirrored: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {}\r\n}\r\n","
\r\n
\r\n 0\" [media]=\"group[0]\" [config]=\"config\" [full]=\"true\"\r\n [customClasses]=\"'two-thirds'\">\r\n 3\" [media]=\"group[3]\" [config]=\"config\" [full]=\"true\"\r\n [customClasses]=\"'one-third'\">\r\n
\r\n
\r\n 1\" [media]=\"group[1]\" [config]=\"config\" [full]=\"true\"\r\n [customClasses]=\"'one-half'\">\r\n 2\" [media]=\"group[2]\" [config]=\"config\" [full]=\"true\"\r\n [customClasses]=\"'one-half'\">\r\n
\r\n
","import { Component, HostListener, NgZone, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { WebNewsListModel, WebNewsModel } from \"../news/news-model\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-news\",\r\n templateUrl: \"./brand-stories.component.html\",\r\n styleUrls: [\"./brand-stories.component.less\"],\r\n})\r\nexport class BrandStoriesComponent implements OnInit {\r\n news: any[];\r\n grid: string;\r\n dropdown = false;\r\n loader: boolean;\r\n subcategory = false;\r\n styles = new PageStyle();\r\n user: any;\r\n showPagination = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n newsHeadlineLength = 10;\r\n webListResponse = new WebNewsListModel();\r\n p = 1;\r\n itemsPerPage: number;\r\n shortDescriptionLength: number;\r\n language: Language;\r\n sLng: number;\r\n clientName: string;\r\n storyGroups: WebNewsModel[][] = [[]];\r\n\r\n constructor(\r\n private router: Router,\r\n private mcService: McService,\r\n private languageService: LanguageService,\r\n ngZone: NgZone,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n this.clientName = params[\"brand\"];\r\n });\r\n\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n window.onresize = (e) => {\r\n ngZone.run(() => {\r\n if (window.innerWidth <= 1100 && window.innerWidth >= 800) {\r\n this.grid = \"Columns3\";\r\n } else if (window.innerWidth <= 800) {\r\n this.grid = \"Columns2\";\r\n } else {\r\n this.grid = this.webListResponse.newsGridType;\r\n }\r\n // //\r\n });\r\n };\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.resize();\r\n }\r\n ngOnInit() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.currentUrl = window.location.href;\r\n this.loader = true;\r\n window.scrollTo(0, 0);\r\n this.user = TokenManagerService.getUser();\r\n this.getBrandStories(this.p);\r\n // this.getStyle();\r\n }\r\n\r\n changeColorr(e) {\r\n e.target.style.background = this.styles.style.mainButton3HoverColor;\r\n }\r\n\r\n changeColor(e) {\r\n e.target.style.background = this.styles.style.mainButton3DefaultColor;\r\n }\r\n\r\n getStoryUrl(storyId) {\r\n return (\r\n this.currentUrl.replace(\"News\", \"story\") +\r\n \"/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.webListResponse.news.find((x) => x.staggingStoryId == storyId)\r\n .storyTitle\r\n )\r\n );\r\n }\r\n\r\n getStyle() {\r\n this.mcService.getStyle().subscribe(\r\n (response: any) => {\r\n //\r\n this.styles = response;\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n getBrandStories(page) {\r\n this.loader = true;\r\n if (this.sLng == 0) {\r\n this.sLng = 1;\r\n }\r\n this.mcService.getBrandStories(this.clientName, page, this.sLng).subscribe(\r\n (response: any) => {\r\n this.webListResponse = response;\r\n if (this.webListResponse.socialSharing != null) {\r\n this.socials = this.webListResponse.socialSharing;\r\n }\r\n this.groupStories();\r\n this.resize();\r\n\r\n this.itemsPerPage = this.webListResponse.maxNewsPerPage;\r\n this.loader = false;\r\n\r\n setTimeout(() => {\r\n const element = document.getElementsByClassName(\r\n \"current\"\r\n ) as HTMLCollectionOf;\r\n if (element[0]) {\r\n element[0].style.backgroundColor =\r\n \"\" + this.styles.style.mainIdentifyingColor;\r\n }\r\n });\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n groupStories() {\r\n let count = 0;\r\n this.storyGroups = [[]];\r\n for (const story of this.webListResponse.news) {\r\n if (this.storyGroups[count].length >= 4) count++;\r\n if (!this.storyGroups[count]) this.storyGroups[count] = [];\r\n this.storyGroups[count].push(story);\r\n }\r\n }\r\n\r\n resize() {\r\n if (this.webListResponse.newsGridType === \"Columns2\") {\r\n this.newsHeadlineLength = 155;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 120;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n }\r\n if (this.webListResponse.newsGridType === \"Columns3\") {\r\n this.newsHeadlineLength = 90;\r\n this.shortDescriptionLength = 140;\r\n\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 65;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 120;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 75;\r\n this.shortDescriptionLength = 75;\r\n }\r\n }\r\n if (this.webListResponse.newsGridType === \"Columns4\") {\r\n this.newsHeadlineLength = 60;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 15;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 100;\r\n }\r\n }\r\n }\r\n\r\n setColor(e?) {\r\n setTimeout(() => {\r\n const element = document.getElementsByClassName(\r\n \"current\"\r\n ) as HTMLCollectionOf;\r\n if (element[0]) {\r\n element[0].style.backgroundColor =\r\n \"\" + this.styles.style.mainIdentifyingColor;\r\n }\r\n }, 100);\r\n }\r\n\r\n showSubCategory(news) {\r\n news.subCategory = !news.subCategory;\r\n }\r\n\r\n openDropdown(id) {\r\n for (const x of this.webListResponse.news) {\r\n if (x.storyId === id) {\r\n x.shareDropdown = !x.shareDropdown;\r\n }\r\n }\r\n }\r\n\r\n readMore(id) {\r\n localStorage.setItem(\"storyId\", JSON.stringify(id));\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n // this.mcService.addViewToNews(id.storyId, this.user.id)\r\n // .subscribe((response) => {\r\n //\r\n // },\r\n // (error2 => {\r\n // //\r\n // }));\r\n }\r\n this.router.navigate([\r\n \"/story/\" +\r\n id.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.webListResponse.news.find(\r\n (x) => x.staggingStoryId == id.staggingStoryId\r\n ).storyTitle\r\n ),\r\n ]);\r\n }\r\n\r\n twoGrid() {\r\n if (\r\n (this.grid === \"Columns3\" && this.itemsPerPage === 3) ||\r\n (this.grid === \"Columns4\" && this.itemsPerPage === 4)\r\n ) {\r\n this.grid = \"Columns2\";\r\n this.itemsPerPage = 2;\r\n }\r\n if (\r\n (this.grid === \"Columns3\" && this.itemsPerPage === 6) ||\r\n (this.grid === \"Columns4\" && this.itemsPerPage === 8)\r\n ) {\r\n this.grid = \"Columns2\";\r\n this.itemsPerPage = 4;\r\n }\r\n if (\r\n (this.grid === \"Columns3\" && this.itemsPerPage === 9) ||\r\n (this.grid === \"Columns4\" && this.itemsPerPage === 12)\r\n ) {\r\n this.grid = \"Columns2\";\r\n this.itemsPerPage = 6;\r\n }\r\n if (\r\n (this.grid === \"Columns3\" && this.itemsPerPage === 12) ||\r\n (this.grid === \"Columns4\" && this.itemsPerPage === 3)\r\n ) {\r\n this.grid = \"Columns2\";\r\n this.itemsPerPage = 8;\r\n }\r\n this.setColor();\r\n this.newsHeadlineLength = 155;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 120;\r\n }\r\n }\r\n\r\n threeGrid() {\r\n if (\r\n (this.grid === \"Columns2\" && this.itemsPerPage === 2) ||\r\n (this.grid === \"Columns4\" && this.itemsPerPage === 4)\r\n ) {\r\n this.grid = \"Columns3\";\r\n this.itemsPerPage = 3;\r\n }\r\n if (\r\n (this.grid === \"Columns2\" && this.itemsPerPage === 4) ||\r\n (this.grid === \"Columns4\" && this.itemsPerPage === 8)\r\n ) {\r\n this.grid = \"Columns3\";\r\n this.itemsPerPage = 6;\r\n }\r\n if (\r\n (this.grid === \"Columns2\" && this.itemsPerPage === 6) ||\r\n (this.grid === \"Columns4\" && this.itemsPerPage === 12)\r\n ) {\r\n this.grid = \"Columns3\";\r\n this.itemsPerPage = 9;\r\n }\r\n if (\r\n (this.grid === \"Columns2\" && this.itemsPerPage === 8) ||\r\n (this.grid === \"Columns4\" && this.itemsPerPage === 16)\r\n ) {\r\n this.grid = \"Columns3\";\r\n this.itemsPerPage = 12;\r\n }\r\n this.setColor();\r\n this.newsHeadlineLength = 90;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 65;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 12;\r\n }\r\n }\r\n\r\n fourGrid() {\r\n if (\r\n (this.grid === \"Columns2\" && this.itemsPerPage === 2) ||\r\n (this.grid === \"Columns3\" && this.itemsPerPage === 3)\r\n ) {\r\n this.grid = \"Columns4\";\r\n this.itemsPerPage = 4;\r\n }\r\n if (\r\n (this.grid === \"Columns2\" && this.itemsPerPage === 4) ||\r\n (this.grid === \"Columns3\" && this.itemsPerPage === 6)\r\n ) {\r\n this.grid = \"Columns4\";\r\n this.itemsPerPage = 8;\r\n }\r\n if (\r\n (this.grid === \"Columns2\" && this.itemsPerPage === 6) ||\r\n (this.grid === \"Columns3\" && this.itemsPerPage === 9)\r\n ) {\r\n this.grid = \"Columns4\";\r\n this.itemsPerPage = 12;\r\n }\r\n if (\r\n (this.grid === \"Columns2\" && this.itemsPerPage === 8) ||\r\n (this.grid === \"Columns3\" && this.itemsPerPage === 12)\r\n ) {\r\n this.grid = \"Columns4\";\r\n this.itemsPerPage = 16;\r\n }\r\n this.setColor();\r\n this.newsHeadlineLength = 60;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 42;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 42;\r\n }\r\n }\r\n\r\n changePage(page) {\r\n this.p = page;\r\n this.getBrandStories(this.p);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

{{ clientName }}

\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n","export class LoginModel {\r\n public email: string;\r\n public password: string;\r\n}\r\n\r\nexport class UserModel {\r\n public id: number;\r\n public fullName: string;\r\n public role: string;\r\n public isPasswordSet: boolean;\r\n public cmsUser: CmsModel;\r\n}\r\n\r\nexport class CmsModel{\r\n public id: number;\r\n public fullName: string;\r\n public role: string;\r\n public imageUrl: string;\r\n}\r\n\r\nexport class EmailModel{\r\n public email: string;\r\n}\r\n\r\n\r\nexport class NewPasswordModel {\r\n public resetCode: string;\r\n public newPassword: string;\r\n public confirmPassword: string;\r\n}\r\n\r\nexport class UserAuthModel{\r\n public code: string;\r\n}\r\n\r\nexport class fbModel {\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public facebookId:string;\r\n constructor(){\r\n this.email='';\r\n this.facebookId='';\r\n this.firstName='';\r\n this.lastName='';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LoginAttempts } from '../../models/login-attempts/login-attempts-model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginAttemptsService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n getLoginAttempts(userId: number, data): Observable {\r\n const url = environment.apiUrl + '/CmsLoginAttempts/List?cmsUserId=' + userId + '&page=' + data.page + '&pageSize=' + data.pageSize;\r\n return this.http.get(url);\r\n }\r\n\r\n getLoginAttempt(id: number): Observable {\r\n const url = environment.apiUrl + '/UserLoginAttempts/get?id=' + id;\r\n return this.http.get(url);\r\n }\r\n\r\n createLoginAttempts(loginAttempts: LoginAttempts): Observable {\r\n const url = environment.apiUrl + '/UserLoginAttempts/add';\r\n return this.http.post(url, loginAttempts);\r\n }\r\n\r\n deleteLoginAttempts(id: number): Observable {\r\n const url = environment.apiUrl + '/UserLoginAttempts/delete?id=' + id;\r\n return this.http.delete(url);\r\n }\r\n\r\n updateLoginAttempts(loginAttempts: LoginAttempts): Observable {\r\n const url = environment.apiUrl + '/UserLoginAttempts/update';\r\n return this.http.post(url, loginAttempts);\r\n }\r\n\r\n\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n NgZone,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { NewsModel } from \"../../models/news/news.model\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport {\r\n FeaturedStoriesModel,\r\n HomeModel,\r\n LatestMediaModel,\r\n LatestStoriesModel,\r\n} from \"./home-model\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { Meta } from \"@angular/platform-browser\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Location } from \"@angular/common\";\r\n\r\ndeclare var $: any;\r\n\r\nimport { MetaModel } from \"../../models/meta/meta\";\r\nimport { FacebookService } from \"ngx-facebook\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { CommunicationService } from \"../../shared/services/communication.service\";\r\nimport { MCLanguageService } from \"../../shared/services/mc-language.service\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { WebpHelperService } from \"../../shared/services/webp-helper.service\";\r\nimport { BrandsManageModel } from \"../brands/brands-model\";\r\n\r\n@Component({\r\n selector: \"app-homepage-2\",\r\n templateUrl: \"./homepage-2.component.html\",\r\n styleUrls: [\"./homepage-2.component.less\"],\r\n})\r\nexport class HomepageComponent2 implements OnInit {\r\n news: NewsModel[];\r\n picture: SafeHtml;\r\n visibleNews: NewsModel[];\r\n searchText = \"\";\r\n dropdown = false;\r\n grid: string;\r\n latestCategoryGrid: string;\r\n activeSubTab: number;\r\n filtered: LatestMediaModel[] = [];\r\n category: string;\r\n mediaId: number;\r\n popup = false;\r\n p = 1;\r\n subcategory = false;\r\n twitterActive: boolean;\r\n facebookActive: boolean;\r\n instagramActive: boolean;\r\n linkedinActive: boolean;\r\n loader: boolean;\r\n image: string;\r\n audio: number;\r\n video: number;\r\n document: number;\r\n images: number;\r\n twitter: any[];\r\n facebook: any[];\r\n linkedin: any;\r\n homeModelResponse = new HomeModel();\r\n storyGroupings: LatestStoriesModel[][] = [[]];\r\n items: Array = [];\r\n backgroundUrl = \"\";\r\n videoUrl = \"\";\r\n thumbUrl = \"\";\r\n autoplay: boolean;\r\n selectedFs: any = {};\r\n activeSlide: number = 0;\r\n all = true;\r\n imageTab = false;\r\n videoTab = false;\r\n documentTab = false;\r\n audioTab = false;\r\n styles = new PageStyle();\r\n showVideos = false;\r\n showImages = false;\r\n showAudios = false;\r\n showDocuments = false;\r\n countAll = 0;\r\n countVideos = 0;\r\n countImages = 0;\r\n countAudios = 0;\r\n countDocuments = 0;\r\n user: any;\r\n activeAllTab = false;\r\n activeTab = false;\r\n activeImageTab = false;\r\n activeVideoTab = false;\r\n activeDocumentsTab = false;\r\n activeAudioTab = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n activeAll: boolean = true;\r\n activeImage: boolean = false;\r\n activeVideo: boolean = false;\r\n activeDoc: boolean = false;\r\n activeAudio: boolean = false;\r\n fStories: FeaturedStoriesModel[];\r\n nextFStories: FeaturedStoriesModel[] = [];\r\n filterDropdown: boolean;\r\n metadatas: MetaModel;\r\n newsHeadlineLength: number;\r\n newsGridResponse: HomeModel;\r\n shortDescriptionLength: number;\r\n allActive = false;\r\n imageActive = false;\r\n videoActive = false;\r\n docActive = false;\r\n audioActive = false;\r\n language: Language;\r\n mcLanguage = [];\r\n sLng: number;\r\n loading = false;\r\n xDown = null;\r\n yDown = null;\r\n featuredEmbeddedCode: SafeHtml;\r\n buttonsHelper = ButtonsHelper;\r\n mediaLoaded = false;\r\n initialLoaded = false;\r\n latestStoriesLoaded = false;\r\n storiesCategoryLoaded = false;\r\n showCategory = true;\r\n brands: BrandsManageModel[] = [];\r\n brandsCurrentScroll: number = 0;\r\n brandsMaxScroll: number = 0;\r\n innerWidth: number = 0;\r\n @ViewChild(\"brandsContainer\")\r\n brandsContainer: ElementRef;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private sService: StorageService,\r\n private meta: Meta,\r\n private titleService: Title,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private languageService: LanguageService,\r\n private mcLanguageService: MCLanguageService,\r\n private fbo: FacebookService,\r\n private route: ActivatedRoute,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private location: Location,\r\n private communicationService: CommunicationService,\r\n private sanitizer: DomSanitizer,\r\n public webPHelper: WebpHelperService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n this.mcLanguageService.language.subscribe((language) => {\r\n this.getHomeTexts(language);\r\n });\r\n this.route.params.subscribe((params: Params) => {\r\n const id: string = params[\"id\"];\r\n const title: string = params[\"title\"];\r\n let media: string = params[\"media\"];\r\n\r\n if (media && media.indexOf(\"?\") > -1)\r\n media = media.substr(0, media.indexOf(\"?\"));\r\n\r\n if (media) {\r\n this.openPopup(+media);\r\n }\r\n });\r\n this.route.queryParams.subscribe((params) => {\r\n if (params[\"parentBrandUrl\"]) {\r\n this.communicationService.setFromBrands(decodeURI(params[\"parentBrandUrl\"]));\r\n }\r\n });\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.resize();\r\n }\r\n\r\n getHomeTexts(mcLanguage) {\r\n if (mcLanguage) {\r\n let homeKeywords = [\r\n \"SearchBoxTitle\",\r\n \"SearchBoxText\",\r\n \"SearchBoxSubtitle\",\r\n ];\r\n let homeKeywordIds = [];\r\n let homeIdToKeyword = [];\r\n for (const keyword of mcLanguage.keywords) {\r\n if (homeKeywords.includes(keyword.label)) {\r\n homeKeywordIds.push(keyword.id);\r\n homeIdToKeyword[keyword.id] = keyword.label;\r\n }\r\n }\r\n let lngId = localStorage.getItem(\"lng\");\r\n for (const mccl of mcLanguage.mediaCenterChosenLanguages) {\r\n if (\r\n homeKeywordIds.includes(mccl.keywordId) &&\r\n mccl.languageId == lngId\r\n ) {\r\n this.mcLanguage[homeIdToKeyword[mccl.keywordId]] = mccl.translation;\r\n }\r\n }\r\n }\r\n }\r\n\r\n openPopup(id) {\r\n this.mediaId = id;\r\n this.popup = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.showCategory = localStorage.getItem(\"hideCategories\") != \"1\";\r\n this.language = this.languageService.getLanguage();\r\n this.getHomeTexts(this.mcLanguageService.getMCLanguage());\r\n document.addEventListener(\r\n \"touchstart\",\r\n (evt) => {\r\n this.xDown = evt.touches[0].clientX;\r\n this.yDown = evt.touches[0].clientY;\r\n },\r\n false\r\n );\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n window.scrollTo(0, 0);\r\n\r\n this.getHomepage();\r\n this.user = TokenManagerService.getUser();\r\n this.currentUrl = window.location.href;\r\n\r\n this.facebook = [];\r\n this.getBrands();\r\n }\r\n\r\n getBrands() {\r\n this.mcService.getBrands().subscribe(\r\n (response: any) => {\r\n this.brands = response.clients;\r\n setTimeout(() => {\r\n this.brandsMaxScroll = this.brandsContainer?.nativeElement?.offsetWidth;\r\n }, 1000);\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n handleTouchStart(evt) {\r\n this.xDown = evt.touches[0].clientX;\r\n this.yDown = evt.touches[0].clientY;\r\n }\r\n\r\n resize() {\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns2\") {\r\n this.newsHeadlineLength = 155;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 120;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n }\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns3\") {\r\n this.newsHeadlineLength = 90;\r\n this.shortDescriptionLength = 140;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 65;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 120;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 75;\r\n this.shortDescriptionLength = 75;\r\n }\r\n }\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns4\") {\r\n this.newsHeadlineLength = 60;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 15;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 100;\r\n }\r\n }\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n getStoryUrl(storyId, stories) {\r\n return (\r\n this.currentUrl.replace(\"home\", \"story\") +\r\n \"/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n stories.find((x) => x.staggingStoryId == storyId).storyTitle\r\n )\r\n );\r\n }\r\n\r\n homepageLoaded() {\r\n if (this.latestStoriesLoaded && this.initialLoaded) {\r\n this.resize();\r\n this.loader = false;\r\n }\r\n }\r\n\r\n getHomepage() {\r\n this.loader = true;\r\n this.mcService.getHomepageInitial(this.sLng).subscribe(\r\n (response: any) => {\r\n console.log(\"Initial Load\");\r\n this.initialLoaded = true;\r\n this.homeModelResponse.featuredStories = response.featuredStories;\r\n this.homeModelResponse.mustRegisterToAccess =\r\n response.mustRegisterToAccess;\r\n this.homeModelResponse.mustRegisterToDownload =\r\n response.mustRegisterToDownload;\r\n this.homeModelResponse.hideCounters = response.hideCounters;\r\n this.homeModelResponse.latesStoryGridType = response.latesStoryGridType;\r\n this.grid = this.homeModelResponse.latesStoryGridType;\r\n this.homeModelResponse.title = response.title;\r\n this.homeModelResponse.bodyText = response.bodyText;\r\n this.homeModelResponse.additionalBodyText = response.additionalBodyText;\r\n this.homeModelResponse.socialSharing = response.socialSharing;\r\n\r\n this.fStories = response.featuredStories;\r\n this.selectedFs = this.homeModelResponse.featuredStories[0];\r\n for (let i = 1; i < this.fStories.length && i < 3; i++) {\r\n this.nextFStories.push(this.fStories[i]);\r\n }\r\n for (const x of this.homeModelResponse.featuredStories) {\r\n this.images = x.images;\r\n this.video = x.video;\r\n this.audio = x.audio;\r\n this.document = x.document;\r\n }\r\n this.backgroundUrl =\r\n this.homeModelResponse?.featuredStories[0]?.fullHDUrl || \"\";\r\n\r\n for (const x of this.fStories) {\r\n if (x.fullHDUrl === \"\") {\r\n this.thumbUrl = x.thumbUrl;\r\n }\r\n }\r\n\r\n for (const featuredStory of this.homeModelResponse.featuredStories) {\r\n if (featuredStory.featuredEmbeddedCode) {\r\n featuredStory.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n featuredStory.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n if (this.homeModelResponse.socialSharing != null) {\r\n this.socials = this.homeModelResponse.socialSharing;\r\n }\r\n this.homepageLoaded();\r\n },\r\n (error) => { }\r\n );\r\n this.mcService.getHomepageLatestStories(this.sLng).subscribe(\r\n (response: any) => {\r\n console.log(\"Latest Stories\");\r\n this.latestStoriesLoaded = true;\r\n this.homeModelResponse.latestStories = response.latestStories;\r\n for (const latestStory of this.homeModelResponse.latestStories) {\r\n if (latestStory.featuredEmbeddedCode) {\r\n latestStory.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n latestStory.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n this.loadStoryGroupings();\r\n this.homepageLoaded();\r\n },\r\n (error) => { }\r\n );\r\n }\r\n\r\n loadStoryGroupings() {\r\n let count = 0;\r\n for (const story of this.homeModelResponse.latestStories) {\r\n if (this.storyGroupings[count].length >= 4) count++;\r\n if (!this.storyGroupings[count]) this.storyGroupings[count] = [];\r\n this.storyGroupings[count].push(story);\r\n }\r\n }\r\n\r\n changeStory(story: FeaturedStoriesModel, i) {\r\n this.videoUrl = \"\";\r\n this.images = story.images;\r\n this.video = story.video;\r\n this.audio = story.audio;\r\n this.document = story.document;\r\n this.selectedFs = story;\r\n if (story.mediaType == \"Image\") {\r\n this.backgroundUrl = story.fullHDUrl;\r\n this.featuredEmbeddedCode = null;\r\n }\r\n if (story.mediaType == \"Video\") {\r\n this.videoUrl = story.fullHDUrl;\r\n this.featuredEmbeddedCode = null;\r\n }\r\n if (story.featuredEmbeddedCode) {\r\n this.selectedFs.mediaType = null;\r\n this.backgroundUrl = \"\";\r\n this.featuredEmbeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n story.featuredEmbeddedCode\r\n );\r\n }\r\n this.activeSlide = i;\r\n }\r\n\r\n moveLeftBrands() {\r\n const moveAmount = window.innerWidth;\r\n this.brandsCurrentScroll = this.brandsCurrentScroll - moveAmount;\r\n if (this.brandsCurrentScroll < 0) this.brandsCurrentScroll = 0;\r\n }\r\n\r\n moveRightBrands() {\r\n const moveAmount = window.innerWidth;\r\n this.brandsCurrentScroll = this.brandsCurrentScroll + moveAmount;\r\n if (this.brandsCurrentScroll > this.brandsMaxScroll - this.innerWidth)\r\n this.brandsCurrentScroll = this.brandsMaxScroll - this.innerWidth;\r\n }\r\n\r\n prevSlide() {\r\n this.featuredEmbeddedCode = null;\r\n if (this.activeSlide != 0) {\r\n this.activeSlide = this.activeSlide - 1;\r\n } else {\r\n this.activeSlide = this.fStories.length - 1;\r\n }\r\n this.changeSlide();\r\n }\r\n\r\n nextSlide() {\r\n this.featuredEmbeddedCode = null;\r\n if (this.activeSlide != this.fStories.length - 1) {\r\n this.activeSlide = this.activeSlide + 1;\r\n } else {\r\n this.activeSlide = 0;\r\n }\r\n this.changeSlide();\r\n }\r\n\r\n changeSlide() {\r\n this.selectedFs = this.fStories[this.activeSlide];\r\n this.backgroundUrl = this.fStories[this.activeSlide].fullHDUrl;\r\n for (const x of this.fStories) {\r\n if (x.mediaType == \"Video\") {\r\n this.videoUrl = this.fStories[this.activeSlide].fullHDUrl;\r\n }\r\n }\r\n\r\n if (this.selectedFs.featuredEmbeddedCode) {\r\n this.featuredEmbeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n this.selectedFs.featuredEmbeddedCode\r\n );\r\n this.selectedFs.mediaType = null;\r\n this.backgroundUrl = \"\";\r\n }\r\n this.nextFStories = [];\r\n for (let i = this.activeSlide + 1; this.nextFStories.length < 2; i++) {\r\n if (i >= this.fStories.length) i = 0;\r\n this.nextFStories.push(this.fStories[i]);\r\n }\r\n }\r\n\r\n readMore(id, title) {\r\n localStorage.setItem(\"storyId\", JSON.stringify(id));\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.googleAnalytics.emitArticleEvent(\"homepage\", id.staggingStoryId);\r\n this.googleAnalytics.emitReadMoreEvent(\r\n \"slider\",\r\n title,\r\n \"/story/\" + id.staggingStoryId + \"/\" + UrlHelper.getUrlTitle(title)\r\n );\r\n this.router.navigate([\r\n \"/story/\" + id.staggingStoryId + \"/\" + UrlHelper.getUrlTitle(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
1 ? 'has-child' : ''\">\r\n
\r\n {{category}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{ selectedFs?.storyTitle }}\r\n

\r\n

\r\n {{ selectedFs?.shortDescription }}\r\n

\r\n
\r\n
\r\n {{ language.readMore }}\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{ language.latestStory }}\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
0\" class=\"brands\">\r\n
\r\n

\r\n {{ language.brands }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\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 {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport {\r\n WebNewsDetailsMediaModel,\r\n WebNewsDetailsModel,\r\n} from \"../news/news-model\";\r\nimport { Router, ActivatedRoute, Params } from \"@angular/router\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { saveAs } from \"file-saver\";\r\nimport * as JSZip from \"jszip\";\r\nimport * as JSZipUtils from \"jszip-utils\";\r\n\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { DownloadAddToModel } from \"../media/media-model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { DomSanitizer, Meta } from \"@angular/platform-browser\";\r\nimport { MyFilesService } from \"../../shared/services/my-files.service\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { SavedStoryService } from \"../../shared/services/saved-story.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n ValidationErrors,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { CustomValidators } from \"ng2-validation\";\r\nimport { HttpRequestService } from \"../../shared/services/http-request.service\";\r\nimport { ToastrConfig } from \"../../shared/helpers/toastr-config\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-competition-page\",\r\n templateUrl: \"./competition-page.component.html\",\r\n styleUrls: [\"./competition-page.component.less\"],\r\n})\r\nexport class CompetitionPageComponent implements OnInit {\r\n title: string =\r\n \"Plane Amazing! Design the easyJet Aircraft of the Future\";\r\n\r\n url: string;\r\n loader: boolean;\r\n autoplay: boolean;\r\n\r\n user: any;\r\n styles = new PageStyle();\r\n\r\n socials: string[] = [];\r\n currentUrl: string;\r\n\r\n language: Language;\r\n sLng: number;\r\n token: string;\r\n relatedStoriesTabOpened = true;\r\n mediaTabOpened = true;\r\n isMediaUser: boolean;\r\n buttonsHelper = ButtonsHelper;\r\n filters: any;\r\n imageerrorSubmission = false;\r\n valForm: FormGroup;\r\n email: any;\r\n termsAndConditions: boolean;\r\n TC: boolean;\r\n nameOfGuardian: any;\r\n categoryError: boolean = false;\r\n categoryDropdown: boolean = false;\r\n categories = [\r\n { id: 1, label: \"Primary School (7 - 11)\", checked: false },\r\n { id: 2, label: \"Secondary School (12 - 16)\", checked: false },\r\n ];\r\n\r\n submissionModel: any = {};\r\n noFile: boolean = false;\r\n submissionImage = \"\";\r\n saveLayoutUrl =\r\n environment.apiUrl + \"/CompetitionSubmissions/NewCompetitionSubmission\";\r\n tmpSubmissionFile: File[] = [];\r\n file: File[] = [];\r\n constructor(\r\n private languageService: LanguageService,\r\n private fb: FormBuilder,\r\n private toastr: ToastrService,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private httpService: HttpRequestService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n this.token = localStorage.getItem(\"Token\");\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n this.submissionModel.categoryId = 0;\r\n }\r\n\r\n selectCategory(cat, event) {\r\n const index = cat.id;\r\n cat.checked = !cat.checked;\r\n if (cat.checked) {\r\n this.submissionModel.categoryId = index;\r\n this.categories.forEach((element) => {\r\n if (element.id != index) element.checked = false;\r\n });\r\n } else {\r\n this.submissionModel.categoryId = 0;\r\n this.categories.forEach((element) => {\r\n element.checked = false;\r\n });\r\n }\r\n\r\n if (event) {\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n }\r\n\r\n this.categoryError = this.submissionModel.categoryId === 0;\r\n\r\n }\r\n\r\n changeColorButtonn(e) {\r\n if (e.target.tagName == \"DIV\") {\r\n e.target.style.background = this.styles.style.mainButton2HoverColor;\r\n } else {\r\n e.target.parentElement.style.background =\r\n this.styles.style.mainButton2HoverColor;\r\n }\r\n }\r\n\r\n changeColorButton(e) {\r\n if (e.target.tagName == \"DIV\") {\r\n e.target.style.background = this.styles.style.mainButton2DefaultColor;\r\n }\r\n }\r\n\r\n checkIfEmpty() {\r\n if (this.email.value === \"\") {\r\n this.email.markAsTouched();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n this.email = new FormControl(null, [\r\n CustomValidators.email,\r\n Validators.required,\r\n ]);\r\n this.valForm = this.fb.group({\r\n firstname: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(50)]),\r\n ],\r\n lastname: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(50)]),\r\n ],\r\n file: [null, Validators.compose([Validators.required])],\r\n terms: [null, Validators.compose([Validators.required])],\r\n nameOfGuardian: [null, Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n termsCheck(event) {\r\n this.submissionModel.termsAndConditions =\r\n !this.submissionModel.termsAndConditions;\r\n this.termsAndConditions = !this.termsAndConditions;\r\n if (!this.termsAndConditions) {\r\n this.valForm.controls[\"terms\"].setValidators(Validators.required);\r\n this.TC = false;\r\n } else {\r\n this.TC = true;\r\n }\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n }\r\n\r\n ngOnDestroy() { }\r\n\r\n getData() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.user = TokenManagerService.getUser();\r\n\r\n if (this.user.role === \"MediaUser\") {\r\n this.isMediaUser = false;\r\n } else if (this.user.role && this.user.role !== \"MediaUser\") {\r\n this.isMediaUser = true;\r\n } else {\r\n this.isMediaUser = false;\r\n }\r\n window.scrollTo(0, 0);\r\n this.currentUrl = window.location.href;\r\n }\r\n\r\n showSubCategory(story) {\r\n story.categoryDropdown = !story.categoryDropdown;\r\n }\r\n\r\n showSubCategoryRandom(story) {\r\n story.categoryDropdown = !story.categoryDropdown;\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.categoryDropdown = false;\r\n }\r\n }\r\n\r\n changeIconColor(e) {\r\n e.target.style.color = this.styles.style.mainIdentifyingColor;\r\n }\r\n\r\n removeIconHoverColor(e) {\r\n e.target.style.color = \"\";\r\n }\r\n\r\n uploadSubmissionImage(e) {\r\n if (this.tmpSubmissionFile.length > 0) {\r\n const index = this.file.indexOf(this.tmpSubmissionFile[0]);\r\n this.file.splice(index, 1);\r\n }\r\n this.tmpSubmissionFile = [];\r\n // console.log(\"tets\");\r\n // console.log(e);\r\n const eventObj: MSInputMethodContext = e;\r\n const target: HTMLInputElement = eventObj.target;\r\n const files: FileList = target.files;\r\n this.tmpSubmissionFile.push(files[0]);\r\n // console.log(files);\r\n if (files.length > 0) {\r\n this.file.push(this.tmpSubmissionFile[0]);\r\n this.imageerrorSubmission = false;\r\n }\r\n for (var i = 0; i < e.target.files.length; i++) {\r\n var file = e.target.files[i];\r\n var reader = new FileReader();\r\n // console.log(reader);\r\n reader.onloadend = () => {\r\n //console.log(\"kraj\");\r\n this.submissionImage = reader.result as string;\r\n this.submissionModel.submissionImage = file.name;\r\n this.noFile = false;\r\n\r\n setTimeout(() => {\r\n let image = document.getElementById(\r\n \"submissionImg\"\r\n ) as HTMLImageElement;\r\n });\r\n };\r\n reader.onloadstart = () => {\r\n // console.log(reader.onloadstart.length);\r\n };\r\n reader.onprogress = () => {\r\n // console.log(reader.onprogress);\r\n };\r\n reader.readAsDataURL(file);\r\n // $(\"input\").after(img);\r\n }\r\n }\r\n\r\n register() {\r\n this.loader = true;\r\n this.httpService\r\n .postMultipart(this.saveLayoutUrl, this.submissionModel, this.file, true)\r\n .subscribe(\r\n (response) => {\r\n this.loader = false;\r\n // const successMessage = \"Submission Successfull!\";\r\n // this.toastr.error(successMessage, \"Success!\", ToastrConfig.success);\r\n },\r\n (error) => {\r\n this.loader = false;\r\n console.log(error);\r\n // this.toastr.error('Some of the selected media has been removed from the story.', 'Error', ToastrConfig.error);\r\n }\r\n );\r\n }\r\n\r\n onSubmit(e) {\r\n e.stopPropagation();\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n this.email.markAsTouched();\r\n\r\n if (this.valForm.valid && this.email.valid && this.termsAndConditions && this.submissionModel.categoryId !== 0) {\r\n if (this.file)\r\n this.register(); else\r\n this.noFile = true;\r\n } else {\r\n Object.keys(this.valForm.controls).forEach((key) => {\r\n const controlErrors: ValidationErrors = this.valForm.get(key).errors;\r\n if (controlErrors != null) {\r\n Object.keys(controlErrors).forEach((keyError) => {\r\n console.log(\r\n \"Key control: \" +\r\n key +\r\n \", keyError: \" +\r\n keyError +\r\n \", err value: \",\r\n controlErrors[keyError]\r\n );\r\n });\r\n }\r\n });\r\n }\r\n this.categoryError = this.submissionModel.categoryId === 0;\r\n }\r\n\r\n openCategoryDropdown(){\r\n this.categoryDropdown = !this.categoryDropdown; \r\n this.categoryError = this.submissionModel.categoryId === 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 {{ title }}\r\n

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

\r\n We’re on the lookout for talented young designers to enter our\r\n competition to design a sustainable easyJet aircraft of the future!\r\n

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

\r\n We’re calling on school children up and down the UK – like you – to\r\n join our Aircraft of the Future competition to design a passenger\r\n plane for travelling across Europe, powered by a sustainable energy\r\n source.\r\n

\r\n

\r\n We’re supporting the development of new zero-emission technologies for\r\n planes – and we want you to feel inspired to become part of the\r\n revolution of future air travel as zero-emission aircraft designers\r\n and engineers.\r\n

\r\n

\r\n Your design will be judged by a panel of world-class experts in\r\n flying, sustainability, design, and zero-emission technology:\r\n

\r\n
    \r\n
  • \r\n easyJet’s very own First Officer and zero-emission aircraft modeller\r\n for FlyZero - Debbie Thomas\r\n
  • \r\n
  • easyJet’s Director of Sustainability, Jane Ashton
  • \r\n
  • Airbus’ VP of Zero-Emission Aircraft Glenn Llewellyn
  • \r\n
  • Wright Electric CEO Jeff Engler
  • \r\n
  • \r\n World-renowned designer Frank Stephenson, known for his innovative\r\n work on designs for electric flying taxis as well as his iconic car\r\n designs for the new MINI and Fiat 500.\r\n
  • \r\n
\r\n

How to Enter

\r\n

\r\n Your entry should feature a sketch drawn on paper or a tablet complete\r\n with notes and descriptions, highlighting how your aircraft works and\r\n why you have chosen the elements of your design. Take a photo of your\r\n drawing or save your digital sketch and submit it to us using the form\r\n below.\r\n

\r\n

\r\n The winning design will illustrate originality, style, innovation, and\r\n creativity and most of all focus on how to make the plane as\r\n sustainable as possible!\r\n

\r\n

Some tips from our judges:

\r\n

\r\n Your design should consider both technical and creative elements and\r\n the reasons for including them, such as:\r\n

\r\n
    \r\n
  • What makes it environmentally friendly and sustainable
  • \r\n
  • The materials used for the plane and the cabin inside
  • \r\n
  • \r\n What will power the aircraft and what other parts will make it fly\r\n
  • \r\n
  • How it will take off and land
  • \r\n
  • Shape of the plane and aerodynamics
  • \r\n
  • \r\n How all passengers get on and off the plane quickly and comfortably\r\n
  • \r\n
  • \r\n What will make the flight time really enjoyable for passengers on\r\n board\r\n
  • \r\n
  • \r\n How many passengers will it fly and what services will be available\r\n for them\r\n
  • \r\n
  • \r\n The patterns, shapes, and colours on the outside and inside of the\r\n aircraft to make it stand out\r\n
  • \r\n
\r\n

The prizes

\r\n

\r\n The winning entry will receive a money-can’t-buy prize in the form of\r\n a trip to the easyJet Training Centre in London Gatwick for an\r\n experience in a full-flight simulator, plus return easyJet flights to\r\n anywhere on the airline’s network for the winner’s immediate family,\r\n as well as a 3-D model and rendering of their design, created and\r\n signed by Frank Stephenson.\r\n

\r\n

\r\n In addition, the winner of the 12-16-year age category will also win a\r\n behind the scenes visit to Airbus as well as a chance to feature on\r\n Frank Stephenson’s\r\n podcast\r\n to discuss their design.\r\n

\r\n

\r\n Runners up will also be in with a chance to receive a rendering of\r\n their design, created and signed by Frank Stephenson.\r\n

\r\n

The rules

\r\n
    \r\n
  • \r\n We must receive your entry for the competition before midnight\r\n (23:59 UK local time) on Sunday 31 October 2021.\r\n
  • \r\n
  • \r\n All entrants must be between the ages of 7 and 16 and should ask\r\n permission from a parent or guardian before entering.\r\n
  • \r\n
  • \r\n Please don’t post your artwork to us, we’re only accepting online\r\n entries and we’ll be unable to return any artwork sent in by post or\r\n shared with anyone at easyJet.\r\n
  • \r\n
  • \r\n When taking a photo of your artwork to send to us, please make sure\r\n you use natural lighting. Dark or unnatural light can result in\r\n distorted image colour/ appearance.\r\n
  • \r\n
  • \r\n Winners must be available to attend a full-day video and photography\r\n shoot, accompanied by a parent or Guardian at London Luton Airport\r\n on Wednesday 10th November.\r\n
  • \r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n “We know the environment is important to all of our customers,\r\n including our younger passengers, so we are really excited to\r\n launch our Plane Amazing competition to engage younger generations\r\n in the exciting possibilities of new zero-emissions technology for\r\n air travel and inspire them to become designers and engineers of\r\n the future, who will play a vital role in the industry’s future.\r\n

\r\n

\r\n easyJet First Officer and zero-emission aircraft modeller for\r\n FlyZero - Debbie Thomas\r\n

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

Judges:

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

\r\n Debbie Thomas – easyJet First Officer and Zero Emission Aircraft\r\n Modeller\r\n

\r\n

\r\n Debbie Thomas is a pilot for easyJet who has significant experience\r\n working across the aviation and aerospace sectors. She is also an\r\n experienced engineer and zero-emission aircraft modeller for FlyZero\r\n who are studying the design of potential new zero-carbon emission\r\n aircraft.\r\n

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

\r\n Jane Ashton – Director of Sustainability, easyJet\r\n

\r\n

\r\n Jane Ashton is responsible for developing and implementing the\r\n sustainability strategy across easyJet and easyJet holidays. Jane’s\r\n goal is to drive change for sustainable travel and tourism.\r\n

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

\r\n Glenn Llewellyn – Vice President Zero-Emission Aircraft, Airbus\r\n

\r\n

\r\n Glenn is at the helm of a zero-emission revolution at Airbus with\r\n the mission to unite all the ingredients needed to launch the\r\n world’s first zero-emission commercial aircraft.\r\n

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

\r\n Frank Stephenson – Automotive Transportation Designer\r\n

\r\n

\r\n Frank Stephenson is a world-famous automotive transportation\r\n designer who is best known for his iconic car designs for MINI and\r\n Fiat 500, as well as recent innovative work designing electric\r\n flying vehicles.\r\n

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

Jeff Engler

\r\n

\r\n Jeff Engler is an entrepreneur and co-founder of Wright Electric, an\r\n aviation company developing electric airplanes for short regional\r\n flights. He has a BA in history from Columbia College and an MBA\r\n from Harvard Business School.\r\n

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

\r\n We’re very sorry that entries aren’t available right now. Please try\r\n again soon. We apologise for any inconvenience.\r\n

\r\n

\r\n COMPETITION IS CLOSED.\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 { SavedStoryService } from '../../../shared/services/saved-story.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport * as JSZip from \"jszip\";\r\nimport * as JSZipUtils from \"jszip-utils\";\r\nimport { TokenManagerService } from '../../../shared/services/token-manager.service';\r\nimport { DownloadAddToModel } from '../../media/media-model';\r\nimport { McService } from '../../../shared/services/mc-service';\r\nimport { GoogleAnalyticsEventsService } from '../../../shared/services/google-analytics-events.service';\r\nimport { UrlHelper } from '../../../shared/helpers/url-helper';\r\nimport { Router } from '@angular/router';\r\nimport { LanguageService } from \"../../../shared/services/language.service\";\r\nimport { Language } from \"../../../models/language/language.model\";\r\n\r\n@Component({\r\n selector: 'app-article',\r\n templateUrl: './article.component.html',\r\n styleUrls: ['./article.component.less']\r\n})\r\nexport class ArticleComponent implements OnInit {\r\n\r\n @Input() story: any;\r\n @Input() mustRegisterToDownload: boolean;\r\n @Input() anonymousShare: boolean;\r\n @Input() marketName: string = \"\";\r\n\r\n language: Language;\r\n\r\n constructor(private languageService: LanguageService, private savedStoryService: SavedStoryService, private http: HttpClient, private mcService: McService, private googleAnalytics: GoogleAnalyticsEventsService, private router: Router) {\r\n this.language = this.languageService.getLanguage();\r\n }\r\n\r\n ngOnInit(): void {\r\n console.log(this.story);\r\n }\r\n\r\n toggleSavedStory(storyId) {\r\n if (this.inSavedStories(storyId))\r\n this.savedStoryService\r\n .remove(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n else\r\n this.savedStoryService\r\n .add(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n inSavedStories(storyId) {\r\n return this.savedStoryService.inSavedStories(storyId);\r\n }\r\n\r\n\r\n addDownload(downloadIds) {\r\n const user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n user.id = null;\r\n }\r\n let niz = new DownloadAddToModel();\r\n niz.storyMediaIds = downloadIds;\r\n niz.publishedMediaIds = [];\r\n niz.userId = user.id;\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n readMore(story) {\r\n window.scrollTo(0, 0);\r\n const user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n user.id = null;\r\n }\r\n if (user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"view\",\r\n \"story/\" + story.staggingStoryId,\r\n \"view\",\r\n user.id ? user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.router.navigateByUrl(\r\n `/story/${story.staggingStoryId}/${UrlHelper.getUrlTitle(\r\n story.storyTitle\r\n )}`\r\n );\r\n if (window.location.pathname === \"/\") {\r\n this.googleAnalytics.emitArticleEvent(\r\n \"homepage\",\r\n story.staggingStoryId\r\n );\r\n }\r\n this.googleAnalytics.emitReadMoreEvent(\r\n \"grid\",\r\n story.storyTitle,\r\n `/story/${story.staggingStoryId}/${UrlHelper.getUrlTitle(\r\n story.storyTitle\r\n )}`\r\n );\r\n }\r\n\r\n\r\n download(urls, downloadIds) {\r\n if (\r\n this.mustRegisterToDownload &&\r\n !this.anonymousShare &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n this.router.navigate([\"/sign-in\"]);\r\n return;\r\n } else {\r\n let component = this;\r\n var zip = new JSZip();\r\n var count = 0;\r\n var zipFilename = \"download.zip\";\r\n var user = TokenManagerService.getUser();\r\n\r\n if (urls.length > 1) {\r\n urls.forEach(function (url) {\r\n var filename = url.split(\"/\")[8];\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n if (err) {\r\n throw err;\r\n }\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n if (count == urls.length) {\r\n zip.generateAsync({ type: \"blob\" }).then(function (content) {\r\n saveAs(content, zipFilename);\r\n\r\n if (user.cmsUser == null) {\r\n component.addDownload(downloadIds);\r\n }\r\n });\r\n }\r\n });\r\n });\r\n } else {\r\n for (const x of urls) {\r\n this.http\r\n .get(x, { responseType: \"blob\" })\r\n .toPromise()\r\n .then(\r\n (blob: Blob) => {\r\n let filename = x.split(\"/\")[8];\r\n saveAs(blob, filename);\r\n if (user.cmsUser == null) {\r\n component.addDownload(downloadIds);\r\n }\r\n },\r\n (error) => { }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
{{ marketName }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n

({{ story.code }}) {{ story.storyTitle }}

\r\n
\r\n \r\n \r\n
\r\n
","export class ButtonsHelper {\r\n // -20 is because clientWidth takes into account padding, 10px each side horizontally\r\n static hoverGenericButton(e, styles) {\r\n let target = e.target;\r\n if (!target.classList.contains(\"generic-button\")) {\r\n target = target.parentNode;\r\n }\r\n if (target.classList.contains(\"generic-button\")) {\r\n target.style.color = styles.style.mainIdentifyingColor;\r\n target.style[\"border-color\"] = styles.style.mainIdentifyingColor;\r\n target.style[\"border-width\"] = \"2px\";\r\n target.style[\"border-style\"] = \"solid\";\r\n target.style.background = styles.style.textButton1Color;\r\n }\r\n }\r\n static unhoverGenericButton(e, styles) {\r\n let target = e.target;\r\n if (!target.classList.contains(\"generic-button\")) {\r\n target = target.parentNode;\r\n }\r\n if (target.classList.contains(\"generic-button\")) {\r\n target.style.color = styles.style.textButton1Color;\r\n target.style[\"border-color\"] = styles.style.mainIdentifyingColor;\r\n target.style[\"border-width\"] = \"2px\";\r\n target.style[\"border-style\"] = \"solid\";\r\n target.style.background = styles.style.mainIdentifyingColor;\r\n }\r\n }\r\n static unhoverEmptyButton(e, styles) {\r\n let target = e.target;\r\n if (!target.classList.contains(\"generic-button\")) {\r\n target = target.parentNode;\r\n }\r\n if (target.classList.contains(\"generic-button\")) {\r\n target.style.color = \"#858585\";\r\n target.style[\"border-color\"] = \"#858585\";\r\n target.style[\"border-width\"] = \"2px\";\r\n target.style[\"border-style\"] = \"solid\";\r\n target.style.background = \"white\";\r\n }\r\n }\r\n}\r\n","import { Component, Input, OnInit, SimpleChanges } from '@angular/core';\r\nimport { WebpHelperService } from '../../services/webp-helper.service';\r\n@Component({\r\n selector: 'app-slider-picture',\r\n templateUrl: './slider-picture.component.html',\r\n styleUrls: ['./slider-picture.component.less']\r\n})\r\nexport class SliderPictureComponent implements OnInit {\r\n\r\n @Input() backgroundUrl: string;\r\n webPError: boolean = false;\r\n\r\n constructor(public webPHelper: WebpHelperService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.webPError = false;\r\n }\r\n\r\n onError() {\r\n this.webPError = true;\r\n console.log(\"Error en \" + this.backgroundUrl);\r\n }\r\n}\r\n","\r\n \r\n \r\n \"File\r\n","import { Component, NgZone, OnInit } from \"@angular/core\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { TokenManagerService } from \"../../services/token-manager.service\";\r\nimport { StorageService } from \"../../services/storage.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { McService } from \"../../services/mc-service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { FontsAndColorsService } from \"../../services/fonts-and-colors.service\";\r\n\r\n@Component({\r\n selector: \"app-loaderrelative\",\r\n templateUrl: \"./loader.component.html\",\r\n styleUrls: [\"./loader.component.less\"],\r\n})\r\nexport class LoaderrelativeComponent implements OnInit {\r\n styles = new PageStyle();\r\n user: any;\r\n\r\n constructor(private fontsAndColorsService: FontsAndColorsService) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n }\r\n\r\n ngOnInit() {\r\n // this.getStyle();\r\n this.user = TokenManagerService.getUser();\r\n //window.scrollTo(0, 0);\r\n }\r\n\r\n setColor(e) {\r\n setTimeout(() => {\r\n const element = document.getElementsByClassName(\r\n \"current\"\r\n ) as HTMLCollectionOf;\r\n element[0].style.backgroundColor =\r\n \"\" + this.styles.style.mainIdentifyingColor;\r\n });\r\n }\r\n\r\n // getStyle() {\r\n // this.mcService.getStyle()\r\n // .subscribe((response) => {\r\n // //\r\n // this.styles = response;\r\n //\r\n // },\r\n // (error) => {\r\n // //\r\n // });\r\n // }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export class MyFilesModel {\r\n public storyMediaIds: number[];\r\n public publishedMediaIds: number[];\r\n constructor(storyMediaIds: number[], publishedMediaIds: number[]) {\r\n this.storyMediaIds = storyMediaIds;\r\n this.publishedMediaIds = publishedMediaIds;\r\n }\r\n\r\n public isInMyFiles(id: number, isPublished: boolean): boolean {\r\n\r\n if (isPublished) {\r\n return this.publishedMediaIds.indexOf(id) > -1;\r\n } else {\r\n return this.storyMediaIds.indexOf(id) > -1;\r\n }\r\n\r\n }\r\n\r\n get length(): number {\r\n return this.storyMediaIds.length + this.publishedMediaIds.length;\r\n }\r\n}","import { WebManageMediaModel } from '../../download/download-model';\r\n\r\nexport class MediaModel {\r\n public mediaPageGridType: string;\r\n public maxMediaPerPage: number;\r\n public images: number;\r\n public mustRegisterToDownload: boolean;\r\n public socialSharing: string[];\r\n public mustRegisterToAccess: boolean;\r\n public anonymousShare: boolean;\r\n public video: number;\r\n public document: number;\r\n public audio: number;\r\n public media: WebManageMediaModel[];\r\n public totalCount: number;\r\n public hideCounters: boolean;\r\n}\r\n\r\nexport class DownloadAddToModel {\r\n public storyMediaIds: number[];\r\n public publishedMediaIds: number[];\r\n public userId: number;\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n NgZone,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { NewsModel } from \"../../models/news/news.model\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport {\r\n FeaturedStoriesModel,\r\n HomeModel,\r\n LatestMediaModel,\r\n LatestStoriesModel,\r\n} from \"./home-model\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { Meta } from \"@angular/platform-browser\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Location } from \"@angular/common\";\r\n\r\ndeclare var $: any;\r\n\r\nimport { MetaModel } from \"../../models/meta/meta\";\r\nimport { FacebookService } from \"ngx-facebook\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { CommunicationService } from \"../../shared/services/communication.service\";\r\nimport { MCLanguageService } from \"../../shared/services/mc-language.service\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { WebpHelperService } from \"../../shared/services/webp-helper.service\";\r\nimport { BrandsManageModel } from \"../brands/brands-model\";\r\n\r\n@Component({\r\n selector: \"app-homepage\",\r\n templateUrl: \"./homepage.component.html\",\r\n styleUrls: [\"./homepage.component.less\"],\r\n})\r\nexport class HomepageComponent implements OnInit {\r\n news: NewsModel[];\r\n picture: SafeHtml;\r\n visibleNews: NewsModel[];\r\n searchText = \"\";\r\n dropdown = false;\r\n grid: string;\r\n latestCategoryGrid: string;\r\n activeSubTab: number;\r\n filtered: LatestMediaModel[] = [];\r\n category: string;\r\n mediaId: number;\r\n popup = false;\r\n p = 1;\r\n subcategory = false;\r\n twitterActive: boolean;\r\n facebookActive: boolean;\r\n instagramActive: boolean;\r\n linkedinActive: boolean;\r\n loader: boolean;\r\n image: string;\r\n audio: number;\r\n video: number;\r\n document: number;\r\n images: number;\r\n twitter: any[];\r\n facebook: any[];\r\n linkedin: any;\r\n homeModelResponse = new HomeModel();\r\n storyGroupings: LatestStoriesModel[][] = [[]];\r\n items: Array = [];\r\n backgroundUrl = \"\";\r\n videoUrl = \"\";\r\n thumbUrl = \"\";\r\n autoplay: boolean;\r\n selectedFs: any = {};\r\n activeSlide: number = 0;\r\n all = true;\r\n imageTab = false;\r\n videoTab = false;\r\n documentTab = false;\r\n audioTab = false;\r\n styles = new PageStyle();\r\n showVideos = false;\r\n showImages = false;\r\n showAudios = false;\r\n showDocuments = false;\r\n countAll = 0;\r\n countVideos = 0;\r\n countImages = 0;\r\n countAudios = 0;\r\n countDocuments = 0;\r\n user: any;\r\n activeAllTab = false;\r\n activeTab = false;\r\n activeImageTab = false;\r\n activeVideoTab = false;\r\n activeDocumentsTab = false;\r\n activeAudioTab = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n activeAll: boolean = true;\r\n activeImage: boolean = false;\r\n activeVideo: boolean = false;\r\n activeDoc: boolean = false;\r\n activeAudio: boolean = false;\r\n fStories: FeaturedStoriesModel[];\r\n nextFStories: FeaturedStoriesModel[] = [];\r\n filterDropdown: boolean;\r\n metadatas: MetaModel;\r\n newsHeadlineLength: number;\r\n newsGridResponse: HomeModel;\r\n shortDescriptionLength: number;\r\n allActive = false;\r\n imageActive = false;\r\n videoActive = false;\r\n docActive = false;\r\n audioActive = false;\r\n language: Language;\r\n mcLanguage = [];\r\n sLng: number;\r\n loading = false;\r\n xDown = null;\r\n yDown = null;\r\n featuredEmbeddedCode: SafeHtml;\r\n buttonsHelper = ButtonsHelper;\r\n mediaLoaded = false;\r\n initialLoaded = false;\r\n latestStoriesLoaded = false;\r\n storiesCategoryLoaded = false;\r\n showCategory = true;\r\n brands: BrandsManageModel[] = [];\r\n brandsCurrentScroll: number = 0;\r\n brandsMaxScroll: number = 0;\r\n innerWidth: number = 0;\r\n @ViewChild(\"brandsContainer\")\r\n brandsContainer: ElementRef;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private sService: StorageService,\r\n private meta: Meta,\r\n private titleService: Title,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private languageService: LanguageService,\r\n private mcLanguageService: MCLanguageService,\r\n private fbo: FacebookService,\r\n private route: ActivatedRoute,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private location: Location,\r\n private communicationService: CommunicationService,\r\n private sanitizer: DomSanitizer,\r\n public webPHelper: WebpHelperService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n this.mcLanguageService.language.subscribe((language) => {\r\n this.getHomeTexts(language);\r\n });\r\n this.route.params.subscribe((params: Params) => {\r\n const id: string = params[\"id\"];\r\n const title: string = params[\"title\"];\r\n let media: string = params[\"media\"];\r\n\r\n if (media && media.indexOf(\"?\") > -1)\r\n media = media.substr(0, media.indexOf(\"?\"));\r\n\r\n if (media) {\r\n this.openPopup(+media);\r\n }\r\n });\r\n this.route.queryParams.subscribe((params) => {\r\n if (params[\"parentBrandUrl\"]) {\r\n this.communicationService.setFromBrands(decodeURI(params[\"parentBrandUrl\"]));\r\n }\r\n });\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.resize();\r\n }\r\n\r\n getHomeTexts(mcLanguage) {\r\n if (mcLanguage) {\r\n let homeKeywords = [\r\n \"SearchBoxTitle\",\r\n \"SearchBoxText\",\r\n \"SearchBoxSubtitle\",\r\n ];\r\n let homeKeywordIds = [];\r\n let homeIdToKeyword = [];\r\n for (const keyword of mcLanguage.keywords) {\r\n if (homeKeywords.includes(keyword.label)) {\r\n homeKeywordIds.push(keyword.id);\r\n homeIdToKeyword[keyword.id] = keyword.label;\r\n }\r\n }\r\n let lngId = localStorage.getItem(\"lng\");\r\n for (const mccl of mcLanguage.mediaCenterChosenLanguages) {\r\n if (\r\n homeKeywordIds.includes(mccl.keywordId) &&\r\n mccl.languageId == lngId\r\n ) {\r\n this.mcLanguage[homeIdToKeyword[mccl.keywordId]] = mccl.translation;\r\n }\r\n }\r\n }\r\n }\r\n\r\n openPopup(id) {\r\n this.mediaId = id;\r\n this.popup = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.showCategory = localStorage.getItem(\"hideCategories\") != \"1\";\r\n this.language = this.languageService.getLanguage();\r\n this.getHomeTexts(this.mcLanguageService.getMCLanguage());\r\n document.addEventListener(\r\n \"touchstart\",\r\n (evt) => {\r\n this.xDown = evt.touches[0].clientX;\r\n this.yDown = evt.touches[0].clientY;\r\n },\r\n false\r\n );\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n window.scrollTo(0, 0);\r\n\r\n this.getHomepage();\r\n this.user = TokenManagerService.getUser();\r\n this.currentUrl = window.location.href;\r\n\r\n this.facebook = [];\r\n this.getBrands();\r\n }\r\n\r\n getBrands() {\r\n this.mcService.getBrands().subscribe(\r\n (response: any) => {\r\n this.brands = response.clients;\r\n setTimeout(() => {\r\n this.brandsMaxScroll = this.brandsContainer?.nativeElement?.offsetWidth;\r\n }, 1000);\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n handleTouchStart(evt) {\r\n this.xDown = evt.touches[0].clientX;\r\n this.yDown = evt.touches[0].clientY;\r\n }\r\n\r\n resize() {\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns2\") {\r\n this.newsHeadlineLength = 155;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 120;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n }\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns3\") {\r\n this.newsHeadlineLength = 90;\r\n this.shortDescriptionLength = 140;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 65;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 120;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 75;\r\n this.shortDescriptionLength = 75;\r\n }\r\n }\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns4\") {\r\n this.newsHeadlineLength = 60;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 15;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 100;\r\n }\r\n }\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n getStoryUrl(storyId, stories) {\r\n return (\r\n this.currentUrl.replace(\"home\", \"story\") +\r\n \"/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n stories.find((x) => x.staggingStoryId == storyId).storyTitle\r\n )\r\n );\r\n }\r\n\r\n homepageLoaded() {\r\n if (this.latestStoriesLoaded && this.initialLoaded) {\r\n this.resize();\r\n this.loader = false;\r\n }\r\n }\r\n\r\n getHomepage() {\r\n this.loader = true;\r\n this.mcService.getHomepageInitial(this.sLng).subscribe(\r\n (response: any) => {\r\n console.log(\"Initial Load\");\r\n this.initialLoaded = true;\r\n this.homeModelResponse.featuredStories = response.featuredStories;\r\n this.homeModelResponse.mustRegisterToAccess =\r\n response.mustRegisterToAccess;\r\n this.homeModelResponse.mustRegisterToDownload =\r\n response.mustRegisterToDownload;\r\n this.homeModelResponse.hideCounters = response.hideCounters;\r\n this.homeModelResponse.latesStoryGridType = response.latesStoryGridType;\r\n this.grid = this.homeModelResponse.latesStoryGridType;\r\n this.homeModelResponse.title = response.title;\r\n this.homeModelResponse.bodyText = response.bodyText;\r\n this.homeModelResponse.additionalBodyText = response.additionalBodyText;\r\n this.homeModelResponse.socialSharing = response.socialSharing;\r\n\r\n this.fStories = response.featuredStories;\r\n this.selectedFs = this.homeModelResponse.featuredStories[0];\r\n for (let i = 1; i < this.fStories.length && i < 3; i++) {\r\n this.nextFStories.push(this.fStories[i]);\r\n }\r\n for (const x of this.homeModelResponse.featuredStories) {\r\n this.images = x.images;\r\n this.video = x.video;\r\n this.audio = x.audio;\r\n this.document = x.document;\r\n }\r\n this.backgroundUrl =\r\n this.homeModelResponse?.featuredStories[0]?.fullHDUrl || \"\";\r\n\r\n for (const x of this.fStories) {\r\n if (x.fullHDUrl === \"\") {\r\n this.thumbUrl = x.thumbUrl;\r\n }\r\n }\r\n\r\n for (const featuredStory of this.homeModelResponse.featuredStories) {\r\n if (featuredStory.featuredEmbeddedCode) {\r\n featuredStory.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n featuredStory.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n if (this.homeModelResponse.socialSharing != null) {\r\n this.socials = this.homeModelResponse.socialSharing;\r\n }\r\n this.homepageLoaded();\r\n },\r\n (error) => { }\r\n );\r\n this.mcService.getHomepageLatestStories(this.sLng).subscribe(\r\n (response: any) => {\r\n console.log(\"Latest Stories\");\r\n this.latestStoriesLoaded = true;\r\n this.homeModelResponse.latestStories = response.latestStories;\r\n for (const latestStory of this.homeModelResponse.latestStories) {\r\n if (latestStory.featuredEmbeddedCode) {\r\n latestStory.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n latestStory.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n this.loadStoryGroupings();\r\n this.homepageLoaded();\r\n },\r\n (error) => { }\r\n );\r\n }\r\n\r\n loadStoryGroupings() {\r\n let count = 0;\r\n for (const story of this.homeModelResponse.latestStories) {\r\n if (this.storyGroupings[count].length >= 4) count++;\r\n if (!this.storyGroupings[count]) this.storyGroupings[count] = [];\r\n this.storyGroupings[count].push(story);\r\n }\r\n }\r\n\r\n changeStory(story: FeaturedStoriesModel, i) {\r\n this.videoUrl = \"\";\r\n this.images = story.images;\r\n this.video = story.video;\r\n this.audio = story.audio;\r\n this.document = story.document;\r\n this.selectedFs = story;\r\n if (story.mediaType == \"Image\") {\r\n this.backgroundUrl = story.fullHDUrl;\r\n this.featuredEmbeddedCode = null;\r\n }\r\n if (story.mediaType == \"Video\") {\r\n this.videoUrl = story.fullHDUrl;\r\n this.featuredEmbeddedCode = null;\r\n }\r\n if (story.featuredEmbeddedCode) {\r\n this.selectedFs.mediaType = null;\r\n this.backgroundUrl = \"\";\r\n this.featuredEmbeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n story.featuredEmbeddedCode\r\n );\r\n }\r\n this.activeSlide = i;\r\n }\r\n\r\n moveLeftBrands() {\r\n const moveAmount = window.innerWidth;\r\n this.brandsCurrentScroll = this.brandsCurrentScroll - moveAmount;\r\n if (this.brandsCurrentScroll < 0) this.brandsCurrentScroll = 0;\r\n }\r\n\r\n moveRightBrands() {\r\n const moveAmount = window.innerWidth;\r\n this.brandsCurrentScroll = this.brandsCurrentScroll + moveAmount;\r\n if (this.brandsCurrentScroll > this.brandsMaxScroll - this.innerWidth)\r\n this.brandsCurrentScroll = this.brandsMaxScroll - this.innerWidth;\r\n }\r\n\r\n prevSlide() {\r\n this.featuredEmbeddedCode = null;\r\n if (this.activeSlide != 0) {\r\n this.activeSlide = this.activeSlide - 1;\r\n } else {\r\n this.activeSlide = this.fStories.length - 1;\r\n }\r\n this.changeSlide();\r\n }\r\n\r\n nextSlide() {\r\n this.featuredEmbeddedCode = null;\r\n if (this.activeSlide != this.fStories.length - 1) {\r\n this.activeSlide = this.activeSlide + 1;\r\n } else {\r\n this.activeSlide = 0;\r\n }\r\n this.changeSlide();\r\n }\r\n\r\n changeSlide() {\r\n this.selectedFs = this.fStories[this.activeSlide];\r\n this.backgroundUrl = this.fStories[this.activeSlide].fullHDUrl;\r\n for (const x of this.fStories) {\r\n if (x.mediaType == \"Video\") {\r\n this.videoUrl = this.fStories[this.activeSlide].fullHDUrl;\r\n }\r\n }\r\n\r\n if (this.selectedFs.featuredEmbeddedCode) {\r\n this.featuredEmbeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n this.selectedFs.featuredEmbeddedCode\r\n );\r\n this.selectedFs.mediaType = null;\r\n this.backgroundUrl = \"\";\r\n }\r\n this.nextFStories = [];\r\n for (let i = this.activeSlide + 1; this.nextFStories.length < 2; i++) {\r\n if (i >= this.fStories.length) i = 0;\r\n this.nextFStories.push(this.fStories[i]);\r\n }\r\n }\r\n\r\n readMore(id, title) {\r\n localStorage.setItem(\"storyId\", JSON.stringify(id));\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.googleAnalytics.emitArticleEvent(\"homepage\", id.staggingStoryId);\r\n this.googleAnalytics.emitReadMoreEvent(\r\n \"slider\",\r\n title,\r\n \"/story/\" + id.staggingStoryId + \"/\" + UrlHelper.getUrlTitle(title)\r\n );\r\n this.router.navigate([\r\n \"/story/\" + id.staggingStoryId + \"/\" + UrlHelper.getUrlTitle(title),\r\n ]);\r\n }\r\n\r\n goToMc(url, clientId) {\r\n this.mcService.redirectToMc(clientId).subscribe(\r\n (response: any) => {\r\n const token = response.token;\r\n if (url)\r\n window.location.href = url + '&token=' + token;\r\n },\r\n (error) => {\r\n if (url)\r\n window.location.href = url;\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
1 ? 'has-child' : ''\">\r\n
\r\n {{ selectedFs?.category[0] }}\r\n
\r\n
\r\n
1\">\r\n
\r\n {{ category }}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ selectedFs?.storyTitle }}\r\n

\r\n

\r\n {{ selectedFs?.shortDescription }}\r\n

\r\n
\r\n
\r\n {{ language.readMore }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{ language.latestStory }}\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
0\" class=\"brands\">\r\n
\r\n

\r\n {{ language.brands }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\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 { UrlsModel } from \"../../models/links/urls.model\";\r\n\r\nexport class ContactsModel {\r\n public contactsH1Text: string;\r\n public contactsH2Text: string;\r\n public contactsH3Text: string;\r\n public contactsText: string;\r\n public contactsFinalText: string;\r\n public contactsQuoteText: string;\r\n public contactsSignature: string;\r\n public contactsBeforeStoreButtonsText: string;\r\n public contactsAfterStoreButtonsText: string;\r\n public contactsHeroImageUrl: string;\r\n public mustRegisterToDownload: boolean;\r\n public mustRegisterToAccess: boolean;\r\n public contactsLinks: UrlsModel[];\r\n public ourTeam: TeamModel[];\r\n public rotary: RotaryModel[];\r\n\r\n constructor() {\r\n this.contactsH1Text = '';\r\n this.contactsH2Text = '';\r\n this.contactsH3Text = '';\r\n this.contactsQuoteText = '';\r\n this.contactsSignature = '';\r\n this.contactsText = '';\r\n this.contactsHeroImageUrl = '';\r\n this.contactsAfterStoreButtonsText = '';\r\n this.contactsBeforeStoreButtonsText = '';\r\n }\r\n}\r\nexport class TeamModel {\r\n public name: string;\r\n public email: string;\r\n public description: string;\r\n public position: string;\r\n public thumbUrl: string;\r\n}\r\nexport class RotaryModel {\r\n public day: string;\r\n public date: string;\r\n public name: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpRequestService } from '../../shared/services/http-request.service';\r\n\r\n@Injectable()\r\nexport class ContactsService {\r\n\r\n constructor(private http: HttpRequestService) {\r\n }\r\n\r\n private mediaCenterWebContactsUrl = environment.apiUrl + '/MediaCenterWeb/MediaCenterWebAboutUs';\r\n\r\n mediaCenterWebContacts() {\r\n return this.http.get(this.mediaCenterWebContactsUrl);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { McService } from \"./shared/services/mc-service\";\r\nimport { Meta, MetaDefinition, Title } from \"@angular/platform-browser\";\r\nimport { MetaModel } from \"./models/meta/meta\";\r\nimport { ActivatedRoute, NavigationEnd, Router } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\nimport { GoogleAnalyticsEventsService } from \"./shared/services/google-analytics-events.service\";\r\nimport { LayoutModel } from \"./layout/layout-model\";\r\nimport { PageStyle } from \"./models/style/style.model\";\r\nimport { Language } from \"./models/language/language.model\";\r\nimport { StorageService } from \"./shared/services/storage.service\";\r\nimport { FontsAndColorsService } from \"./shared/services/fonts-and-colors.service\";\r\nimport { LanguageService } from \"./shared/services/language.service\";\r\nimport { ToastContainerDirective, ToastrService } from \"ngx-toastr\";\r\nimport { OutBoundLinkClickInterceptService } from \"./shared/services/outbound-link-click-intercept.service\";\r\nimport { UserCentricsService } from \"./shared/services/user-centrics.service\";\r\n\r\ndeclare const Usercentrics: any;\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.less\"],\r\n})\r\nexport class AppComponent implements OnInit {\r\n toastContainer: ToastContainerDirective;\r\n\r\n title = \"app\";\r\n metadatas: MetaModel;\r\n\r\n styles: PageStyle;\r\n layoutResponseModel: LayoutModel;\r\n loader = true;\r\n // language=new Language();\r\n sLng: number;\r\n language: Language;\r\n\r\n public toasterconfig = {\r\n closeButton: true,\r\n timeOut: 2000,\r\n };\r\n\r\n constructor(\r\n private mcService: McService,\r\n private titleService: Title,\r\n private meta: Meta,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private location: Location,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private userCentrics: UserCentricsService,\r\n private sService: StorageService,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n public languageService: LanguageService,\r\n private toastrService: ToastrService,\r\n private outboundLinkClickInterceptService: OutBoundLinkClickInterceptService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.toastrService.overlayContainer = this.toastContainer;\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.getMeta();\r\n this.getStyle();\r\n }\r\n\r\n setupUserCentrics() {\r\n if (window) {\r\n let key = \"uL39q46aEoNsHf\";\r\n if (this.metadatas.UCID && this.metadatas.UCID != \"\") {\r\n key = this.metadatas.UCID;\r\n }\r\n const script = document.createElement(\"script\");\r\n script.id = \"usercentrics-cmp\";\r\n script.src = \"https://app.usercentrics.eu/browser-ui/latest/loader.js\";\r\n script.setAttribute(\"data-settings-id\", key);\r\n script.async = true;\r\n script.addEventListener(\"load\", () => {\r\n console.log(\"Usercentrics script loaded\");\r\n });\r\n document.head.appendChild(script);\r\n window.addEventListener(\"ucEvent\", (event: any) => {\r\n if (event?.detail?.event === \"consent_status\")\r\n this.userCentrics.setConsents(event.detail);\r\n });\r\n }\r\n }\r\n\r\n getNewTitlelFromUrl(url: string): string {\r\n if (url == \"\") return \"Home\";\r\n if (url == \"stories\") return \"News\";\r\n if (url == \"media-library\") return \"Media\";\r\n if (url == \"sign-in\") return \"SignIn\";\r\n if (url == \"about-us\") return \"AboutUs\";\r\n if (url == \"register\") return \"Register\";\r\n if (url == \"brands\") return \"Brands\";\r\n if (url == \"legal\") return \"Legal\";\r\n if (url == \"contact-us\") return \"ContactUs\";\r\n if (url == \"contacts\") return \"Contacts\";\r\n }\r\n\r\n loadMetadata() {\r\n this.addGoogleVerificationMeta();\r\n let newTitle = this.getNewTitlelFromUrl(\r\n this.router.routerState.snapshot.url.split(\"/\")[1]\r\n );\r\n if (this.metadatas.metadatas.length === 0) {\r\n this.titleService.setTitle(\"DNA - Digital News Agency\");\r\n }\r\n console.log(this.metadatas.metadatas);\r\n for (let x = 0; x < this.metadatas.metadatas.length; x++) {\r\n if (this.metadatas.metadatas[x].pageType.includes(newTitle)) {\r\n if (this.metadatas.metadatas[x].pageTitle !== \"\") {\r\n this.titleService.setTitle(this.metadatas.metadatas[x].pageTitle);\r\n } else {\r\n this.titleService.setTitle(this.metadatas.metadatas[x].pageType);\r\n }\r\n this.meta.updateTag({\r\n name: \"keywords\",\r\n content: this.metadatas.metadatas[x].keywords,\r\n });\r\n this.meta.updateTag({\r\n name: \"description\",\r\n content: this.metadatas.metadatas[x].description,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:title\",\r\n content: this.metadatas.metadatas[x].twitterTitle,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:description\",\r\n content: this.metadatas.metadatas[x].twitterDescritption,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:image\",\r\n content: this.metadatas.metadatas[x].twitterImage,\r\n });\r\n }\r\n }\r\n this.addDefaultTitle(newTitle);\r\n\r\n // replace hardcoded tracking id with tracking id from database\r\n // this.metadatas.trackingID = \"HOLA\";\r\n if (this.metadatas.trackingID) {\r\n this.googleAnalytics.initGoogleAnalytics(this.metadatas.trackingID);\r\n }\r\n this.googleAnalytics.emitPageView(this.router.routerState.snapshot.url);\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const title = this.router.routerState.snapshot.url;\r\n this.googleAnalytics.emitPageView(event.urlAfterRedirects);\r\n this.convertUrlToTitle(title);\r\n }\r\n });\r\n }\r\n\r\n addGoogleVerificationMeta() {\r\n var websitesWithMeta: Array = [\r\n \"https://bacardibrand.bacardilimited.com\",\r\n \"https://bacardigroup.bacardilimited.com\",\r\n \"https://bombaysapphire.bacardilimited.com\",\r\n \"https://dewars.bacardilimited.com\",\r\n \"http://mediacentre.easyjet.com\",\r\n \"http://press.economist.com\",\r\n \"https://greygoose.bacardilimited.com\",\r\n \"https://martini.bacardilimited.com\",\r\n \"https://digitalnewsagency.com\",\r\n ];\r\n\r\n var actualWebsite: String = window.location.origin;\r\n\r\n var metaDefinition: MetaDefinition = {\r\n name: \"google-site-verification\",\r\n content: \"7QMHUSc9Z4GkuYOm1zXTIQdSqf1c-VjzgaLqDgGfArU\",\r\n };\r\n\r\n if (websitesWithMeta.includes(actualWebsite)) {\r\n this.meta.updateTag(metaDefinition);\r\n }\r\n }\r\n\r\n getMeta() {\r\n this.mcService.getMeta().subscribe(\r\n (response: any) => {\r\n this.metadatas = response;\r\n this.loadMetadata();\r\n this.setupUserCentrics();\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n addDefaultTitle(newTitle: string) {\r\n if (!this.metadatas.metadatas.find((x) => x.pageType === newTitle)) {\r\n newTitle = newTitle;\r\n this.titleService.setTitle(this.formatUrlString(newTitle));\r\n this.meta.updateTag({ name: \"keywords\", content: newTitle });\r\n this.meta.updateTag({ name: \"description\", content: newTitle });\r\n this.meta.updateTag({ name: \"twitter:title\", content: newTitle });\r\n this.meta.updateTag({ name: \"twitter:description\", content: newTitle });\r\n this.meta.updateTag({ name: \"twitter:image\", content: \"\" });\r\n }\r\n\r\n if (this.router.routerState.snapshot.url === \"/sign-in\") {\r\n this.titleService.setTitle(\"Sign in\");\r\n this.meta.updateTag({ name: \"keywords\", content: \"Sign in\" });\r\n this.meta.updateTag({ name: \"description\", content: \"Sign in\" });\r\n this.meta.updateTag({ name: \"twitter:title\", content: \"Sign in\" });\r\n this.meta.updateTag({ name: \"twitter:description\", content: \"Sign in\" });\r\n this.meta.updateTag({ name: \"twitter:image\", content: \"\" });\r\n } else if (this.router.routerState.snapshot.url === \"/register\") {\r\n this.titleService.setTitle(\"Register\");\r\n this.meta.updateTag({ name: \"keywords\", content: \"Register\" });\r\n this.meta.updateTag({ name: \"description\", content: \"Register\" });\r\n this.meta.updateTag({ name: \"twitter:title\", content: \"Register\" });\r\n this.meta.updateTag({ name: \"twitter:description\", content: \"Register\" });\r\n this.meta.updateTag({ name: \"twitter:image\", content: \"\" });\r\n } else if (this.router.routerState.snapshot.url === \"/brands\") {\r\n this.titleService.setTitle(\"Brands\");\r\n this.meta.updateTag({ name: \"keywords\", content: \"Brands\" });\r\n this.meta.updateTag({ name: \"description\", content: \"Brands\" });\r\n this.meta.updateTag({ name: \"twitter:title\", content: \"Brands\" });\r\n this.meta.updateTag({ name: \"twitter:description\", content: \"Brands\" });\r\n this.meta.updateTag({ name: \"twitter:image\", content: \"\" });\r\n }\r\n }\r\n\r\n convertUrlToTitle(title) {\r\n let newTitle = this.getNewTitlelFromUrl(title.split(\"/\")[1]);\r\n if (this.metadatas.metadatas.length === 0) {\r\n this.titleService.setTitle(\"DNA - Digital News Agency\");\r\n }\r\n for (let x = 0; x < this.metadatas.metadatas.length; x++) {\r\n if (this.metadatas.metadatas[x].pageType.includes(newTitle)) {\r\n if (this.metadatas.metadatas[x].pageTitle !== \"\") {\r\n this.titleService.setTitle(this.metadatas.metadatas[x].pageTitle);\r\n } else {\r\n this.titleService.setTitle(this.metadatas.metadatas[x].pageType);\r\n }\r\n this.meta.updateTag({\r\n name: \"keywords\",\r\n content: this.metadatas.metadatas[x].keywords,\r\n });\r\n this.meta.updateTag({\r\n name: \"description\",\r\n content: this.metadatas.metadatas[x].description,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:title\",\r\n content: this.metadatas.metadatas[x].twitterTitle,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:description\",\r\n content: this.metadatas.metadatas[x].twitterDescritption,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:image\",\r\n content: this.metadatas.metadatas[x].twitterImage,\r\n });\r\n }\r\n }\r\n this.addDefaultTitle(newTitle);\r\n }\r\n\r\n getStyle() {\r\n this.mcService.getStyle().subscribe(\r\n (response: any) => {\r\n this.styles = response;\r\n this.fontsAndColorsService.setPageStyleInfo(response);\r\n this.loader = false;\r\n },\r\n (error) => {\r\n //\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n\r\n formatUrlString(url: string): string {\r\n let newUrl = \"\";\r\n\r\n if (url) {\r\n newUrl = url.charAt(0).toUpperCase() + url.slice(1);\r\n const words = newUrl.split(\"-\");\r\n if (words.length > 1) {\r\n newUrl = words[0] + \" \" + words[1];\r\n }\r\n }\r\n\r\n return newUrl;\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 { fromEvent as observableFromEvent, Observable } from \"rxjs\";\r\n\r\nimport { map, debounceTime, distinctUntilChanged } from \"rxjs/operators\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-debounce\",\r\n templateUrl: \"./debounce.component.html\",\r\n styleUrls: [\"./debounce.component.less\"],\r\n})\r\nexport class DebounceComponent implements OnInit {\r\n @Input() placeholder: string;\r\n @Input() delay = 500;\r\n @Input() styles: any;\r\n @Input() cssClass: string;\r\n @Output() value: EventEmitter = new EventEmitter();\r\n\r\n @Input() inputValue: string;\r\n\r\n constructor(private elementRef: ElementRef) {\r\n const eventStream = observableFromEvent(elementRef.nativeElement, \"keyup\")\r\n .pipe(map(() => this.inputValue))\r\n .pipe(debounceTime(this.delay), distinctUntilChanged());\r\n\r\n eventStream.subscribe((input) => this.value.emit(input));\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n \r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { McService } from '../../services/mc-service';\r\nimport { TermsModel } from '../../../routes/terms/terms-model';\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport { LanguageService } from \"../../services/language.service\";\r\n\r\n@Component({\r\n selector: 'app-terms-popup',\r\n templateUrl: './terms-popup.component.html',\r\n styleUrls: ['./terms-popup.component.less']\r\n})\r\nexport class TermsPopupComponent implements OnInit {\r\n @Input() termsPopup: boolean;\r\n @Output() termsPopupChange = new EventEmitter();\r\n loader: boolean;\r\n termsResponseModel = new TermsModel();\r\n language: Language;\r\n\r\n constructor(private mcService: McService, private router: Router, private languageService: LanguageService,\r\n ) {\r\n this.language = languageService.getLanguage();\r\n }\r\n\r\n ngOnInit() {\r\n this.getTerms();\r\n window.scrollTo(0, 0);\r\n\r\n }\r\n\r\n getTerms() {\r\n this.loader = true;\r\n this.mcService.getTerms()\r\n .subscribe((response: any) => {\r\n this.termsResponseModel = response;\r\n this.loader = false;\r\n // if (this.termsResponseModel.mustRegisterToAccess && localStorage.getItem('Token') == null) {\r\n // this.router.navigateByUrl('/register');\r\n // }\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n\r\n close() {\r\n this.termsPopupChange.emit(false);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ language.termsAndConditions }}

\r\n
\r\n
{{ language.disclaimer }}
\r\n
\r\n

\r\n

\r\n
\r\n
\r\n
\r\n \r\n
","export class UrlHelper {\r\n\r\n static getUrlTitle(title: string) {\r\n title = title.replace(/[\\W_]+/g, '-').toLowerCase();\r\n title = title.replace(/\\//g, '-').toLowerCase();\r\n\r\n if (title.indexOf('-') == 0) {\r\n title = title.substring(1, title.length - 1);\r\n }\r\n\r\n if (title.charAt(title.length - 1) == '-') {\r\n title = title.slice(0, -1);\r\n }\r\n title = title.replace(/assets/g,'');\r\n return title;\r\n }\r\n\r\n static getCurrentUrlHostOnly() {\r\n const split = window.location.href.split('/');\r\n return split[0] + '//' + split[2];\r\n\r\n }\r\n\r\n static replaceFullUrlTitle(url) {\r\n const split = url.split('/');\r\n\r\n split[2] = this.getUrlTitle(split[2]);\r\n\r\n let newUrl = '';\r\n\r\n split.forEach(s => newUrl += ('/' + s));\r\n\r\n return newUrl;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { environment } from \"../../../environments/environment\";\r\n\r\nimport algoliasearch from \"algoliasearch\";\r\nimport { forkJoin } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AlgoliaService {\r\n private searchClient: any;\r\n private storiesIndex: any;\r\n private mediaIndex: any;\r\n private clientId: number;\r\n private superMediaCenter: boolean;\r\n\r\n constructor() {\r\n this.searchClient = algoliasearch(\r\n environment.algoliaApplicationId,\r\n environment.algoliaApiKey\r\n );\r\n this.storiesIndex = this.searchClient.initIndex(\r\n environment.algoliaStoriesIndex\r\n );\r\n this.mediaIndex = this.searchClient.initIndex(\r\n environment.algoliaMediaIndex\r\n );\r\n this.superMediaCenter = false;\r\n }\r\n\r\n setClientId(id: number) {\r\n this.clientId = id;\r\n }\r\n\r\n setSuperMediaCenter() {\r\n this.superMediaCenter = true;\r\n }\r\n\r\n getSuperMediaCenter() {\r\n return this.superMediaCenter;\r\n }\r\n\r\n async searchStories(query: string, page: number) {\r\n const languageId = Number(localStorage.getItem(\"lng\"));\r\n const currentMarket = JSON.parse(localStorage.getItem(\"currentMarket\"));\r\n let filters = \"\";\r\n if (this.superMediaCenter) {\r\n filters =\r\n \"(clientId = \" +\r\n this.clientId +\r\n \" OR parentClientId = \" +\r\n this.clientId +\r\n \" OR showOnDNASite = 1) AND languageId = \" +\r\n languageId;\r\n } else {\r\n filters =\r\n \"(clientId = \" +\r\n this.clientId +\r\n \" OR parentClientId = \" +\r\n this.clientId +\r\n \") AND languageId = \" +\r\n languageId;\r\n }\r\n filters += \" AND status = 1\";\r\n if (currentMarket) {\r\n filters += \" AND markets.id = \" + currentMarket.id;\r\n }\r\n let results = await this.storiesIndex.search(query, {\r\n filters: filters,\r\n page: page - 1,\r\n hitsPerPage: 60,\r\n });\r\n if (!this.superMediaCenter) {\r\n // ***\r\n results.hits = results.hits.filter(\r\n (story) =>\r\n story.clientId === this.clientId ||\r\n (story.parentClientId === this.clientId &&\r\n story.showOnRelatedParentSite == true)\r\n );\r\n }\r\n // console.log('Algolia Stories', results);\r\n return results;\r\n }\r\n\r\n async searchMedia(query: string, page: number) {\r\n let filters = \"(hasStory=1 OR isPublished=1)\";\r\n const languageId = Number(localStorage.getItem(\"lng\"));\r\n const currentMarket = JSON.parse(localStorage.getItem(\"currentMarket\"));\r\n if (!this.superMediaCenter) {\r\n const clientIdFilter = `(storyClientIds=${this.clientId} OR storyClientParentIds=${this.clientId})`;\r\n const directClientFilter = `(clientId=${this.clientId} OR parentClientId=${this.clientId})`;\r\n filters += ` AND (${clientIdFilter} OR ${directClientFilter})`;\r\n }\r\n\r\n if (currentMarket) {\r\n filters += \" AND marketIds = \" + currentMarket.id;\r\n }\r\n\r\n filters += \" AND (languageIds = \" + languageId + \" OR languageIds = 0)\"\r\n\r\n const results = await this.mediaIndex.search(query, {\r\n filters: filters,\r\n page: page - 1,\r\n hitsPerPage: 12,\r\n });\r\n // console.log('Algolia Media', results);\r\n return results;\r\n }\r\n\r\n async searchStoriesWithFilters(\r\n query: string,\r\n page: number,\r\n clientId: number = null,\r\n marketId: number = null,\r\n customCategoryId: number = null,\r\n dateFrom: Date = null,\r\n dateTo: Date = null) {\r\n\r\n const languageId = Number(localStorage.getItem(\"lng\"));\r\n const currentMarket = JSON.parse(localStorage.getItem(\"currentMarket\"));\r\n let filters = \"\";\r\n if (this.superMediaCenter) {\r\n if (clientId) {\r\n filters =\r\n \"clientId = \" +\r\n clientId + \" AND languageId = \" +\r\n languageId;\r\n } else {\r\n filters =\r\n \"(clientId = \" +\r\n this.clientId +\r\n \" OR parentClientId = \" +\r\n this.clientId +\r\n \" OR showOnDNASite = 1) AND languageId = \" +\r\n languageId;\r\n }\r\n } else {\r\n if (clientId) {\r\n filters =\r\n \"clientId = \" +\r\n clientId + \" AND languageId = \" +\r\n languageId;\r\n } else {\r\n filters =\r\n \"(clientId = \" +\r\n this.clientId +\r\n \" OR parentClientId = \" +\r\n this.clientId +\r\n \") AND languageId = \" +\r\n languageId;\r\n }\r\n }\r\n\r\n\r\n if (dateFrom) {\r\n filters += \" AND storyTimestamp >= \" + (dateFrom.getTime() / 1000)\r\n }\r\n\r\n if (dateTo) {\r\n filters += \" AND storyTimestamp <= \" + (dateTo.getTime() / 1000)\r\n }\r\n\r\n filters += \" AND status = 1\";\r\n\r\n if (marketId) {\r\n filters += \" AND markets.id = \" + marketId;\r\n } else if (currentMarket) {\r\n filters += \" AND markets.id = \" + currentMarket.id;\r\n }\r\n\r\n\r\n if (customCategoryId) {\r\n filters += \" AND customCategories.customCategoryId = \" + customCategoryId;\r\n }\r\n\r\n let results = await this.storiesIndex.search(query, {\r\n filters: filters,\r\n page: page - 1,\r\n hitsPerPage: 12,\r\n });\r\n return results;\r\n }\r\n\r\n\r\n async searchMediaWithFilters(\r\n query: string,\r\n page: number,\r\n pageSize: number,\r\n type: number = null,\r\n clientId: number = null,\r\n marketId: number = null,\r\n dateFrom: Date = null,\r\n dateTo: Date = null) {\r\n let filters = \"(hasStory=1 OR isPublished=1) \";\r\n const languageId = Number(localStorage.getItem(\"lng\"));\r\n const currentMarket = JSON.parse(localStorage.getItem(\"currentMarket\"));\r\n if (this.superMediaCenter) {\r\n if (clientId) {\r\n filters +=\r\n \" AND (clientId = \" + clientId +\r\n \" OR parentClientId = \" + clientId +\r\n \" OR storyClientIds = \" + clientId + \" OR storyClientParentIds = \" + clientId + \") \" +\r\n \" AND showOnDNASite = 1\";\r\n } else {\r\n filters +=\r\n \" AND (clientId = \" + this.clientId +\r\n \" OR parentClientId = \" + this.clientId +\r\n \" OR showOnDNASite = 1\" +\r\n \" OR storyClientIds = \" + this.clientId +\r\n \" OR storyClientParentIds = \" + this.clientId + \")\";\r\n }\r\n } else {\r\n if (clientId) {\r\n filters +=\r\n \" AND (clientId = \" + clientId +\r\n \" OR parentClientId = \" + clientId +\r\n \" OR storyClientIds = \" + clientId +\r\n \" OR storyClientParentIds = \" + clientId + \") \";\r\n } else {\r\n filters +=\r\n \" AND (clientId = \" + this.clientId +\r\n \" OR parentClientId = \" + this.clientId +\r\n \" OR storyClientIds = \" + this.clientId +\r\n \" OR storyClientParentIds = \" + this.clientId + \")\";\r\n }\r\n }\r\n\r\n if (currentMarket) {\r\n filters += \" AND marketIds = \" + currentMarket.id;\r\n }\r\n\r\n filters += \" AND (languageIds = \" + languageId + \" OR languageIds = 0)\"\r\n\r\n if (dateFrom) {\r\n filters += \" AND timestamp >= \" + (dateFrom.getTime() / 1000);\r\n }\r\n\r\n if (dateTo) {\r\n filters += \" AND timestamp <= \" + (dateTo.getTime() / 1000);\r\n }\r\n\r\n if (marketId) {\r\n filters += \" AND marketsIds = \" + marketId;\r\n }\r\n\r\n const audioObservable = this.mediaIndex.search(query, {\r\n filters: filters + \" AND type = 1\",\r\n page: page - 1,\r\n hitsPerPage: 0,\r\n });\r\n const videoObservable = this.mediaIndex.search(query, {\r\n filters: filters + \" AND type = 2\",\r\n page: page - 1,\r\n hitsPerPage: 0,\r\n });\r\n const imageObservable = this.mediaIndex.search(query, {\r\n filters: filters + \" AND type = 3\",\r\n page: page - 1,\r\n hitsPerPage: 0,\r\n });\r\n const documentObservable = this.mediaIndex.search(query, {\r\n filters: filters + \" AND type = 4\",\r\n page: page - 1,\r\n hitsPerPage: 0,\r\n });\r\n const resultsObservable = this.mediaIndex.search(query, {\r\n filters: type ? filters + \" AND type = \" + type : filters,\r\n page: page - 1,\r\n hitsPerPage: pageSize,\r\n });\r\n\r\n const data = {\r\n audios: 0,\r\n videos: 0,\r\n images: 0,\r\n documents: 0,\r\n total: 0,\r\n results: []\r\n }\r\n\r\n const response = forkJoin([audioObservable, videoObservable, imageObservable, documentObservable, resultsObservable])\r\n const results = await response.toPromise();\r\n data.audios = (results[0] as any).nbHits;\r\n data.videos = (results[1] as any).nbHits;\r\n data.images = (results[2] as any).nbHits;\r\n data.documents = (results[3] as any).nbHits;\r\n data.results = (results[4] as any).hits;\r\n data.total = data.audios + data.videos + data.images + data.documents;\r\n return data;\r\n }\r\n\r\n\r\n\r\n}\r\n","import { BaseLookupModel, CustomCategoryLookupModel } from '../search/search-model';\r\nimport { EnumModel } from '../../register/register-model';\r\n\r\nexport class ProfileModel {\r\n public mediaUserModel: UserManageModel;\r\n public customCatogories: CustomCategoryLookupModel[];\r\n public languages: BaseLookupModel[];\r\n public userGroups: EnumModel[];\r\n public adminModel: AdminModel;\r\n\r\n constructor() {\r\n this.mediaUserModel = new UserManageModel();\r\n this.adminModel = new AdminModel();\r\n }\r\n}\r\n\r\n\r\nexport class UserManageModel {\r\n public id: number;\r\n public fullName: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public password: string;\r\n public oldPassword: string;\r\n public confirmPassword: string;\r\n public telephoneNumber: string;\r\n public companyName: string;\r\n public mediaUserTypes: string[];\r\n public facebookToken: string;\r\n public facebookLink: string;\r\n public twitterLink: string;\r\n public linkedInLink: string;\r\n public instagramLink: string;\r\n public youTubeLink: string;\r\n public wordPressLink: string;\r\n public receiveNewsletter: boolean;\r\n public customCategoryIds: number[];\r\n public languageIds: number[];\r\n public isPasswordSet: boolean;\r\n}\r\n\r\nexport class AdminModel {\r\n public id: number;\r\n public fullName: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public password: string;\r\n public confirmPassword: string;\r\n public telephone: string;\r\n public telephoneNumber: string;\r\n public isPasswordSet: boolean;\r\n}\r\n","import { Directive,HostListener,ElementRef, Input,OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStyle]'\r\n})\r\nexport class StyleDirective implements OnInit{\r\n\r\n @Input() defaultColor:string;\r\n @Input() hoverColor:string;\r\n @Input() borderColor:string;\r\n @Input() color:string;\r\n\r\n\r\n constructor(private ElementRef:ElementRef) { }\r\n\r\n ngOnInit(){\r\n if(this.defaultColor!=null){\r\n this.ElementRef.nativeElement.style.backgroundColor=this.defaultColor;\r\n }\r\n if(this.borderColor!=null){\r\n this.ElementRef.nativeElement.style.borderColor=this.borderColor;\r\n }\r\n if(this.color!=null){\r\n this.ElementRef.nativeElement.style.color=this.color;\r\n }\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter(eventData:Event){\r\n if(this.hoverColor!=null){\r\n this.ElementRef.nativeElement.style.backgroundColor=this.hoverColor;\r\n }\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave(eventData:Event){\r\n if(this.defaultColor!=null){\r\n this.ElementRef.nativeElement.style.backgroundColor=this.defaultColor;\r\n }\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { PopupModel } from \"./popup-model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nimport { McService } from \"../../services/mc-service\";\r\nimport { StorageService } from \"../../services/storage.service\";\r\nimport { TokenManagerService } from \"../../services/token-manager.service\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { LayoutModel } from \"../../../layout/layout-model\";\r\nimport { FontsAndColorsService } from \"../../services/fonts-and-colors.service\";\r\nimport { DownloadAddToModel } from \"../../../routes/media/media-model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../../shared/services/language.service\";\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { DownloadMediaModel } from \"../../../download/download-model\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: \"app-popup\",\r\n templateUrl: \"./popup.component.html\",\r\n styleUrls: [\"./popup.component.less\"],\r\n})\r\nexport class PopupComponent implements OnInit {\r\n @Input() layoutResponseModel: LayoutModel;\r\n @Input() popup: boolean;\r\n @Input() mediaId: number;\r\n @Input() isPublished: boolean;\r\n @Input() autoplay: boolean;\r\n @Input() hideCounters = false;\r\n @Output() popupChange = new EventEmitter();\r\n @Output() popupClosed = new EventEmitter();\r\n @ViewChild(\"video\") videoplayer: any;\r\n loginPopup: boolean;\r\n disabledButton = false;\r\n loader: boolean;\r\n downloadIds: any[] = [];\r\n video = document.getElementById(\"video\");\r\n user: any;\r\n styles = new PageStyle();\r\n popupModelResponse = new PopupModel();\r\n socials: string[] = [];\r\n language: Language;\r\n sLng: number;\r\n urlForShare: string;\r\n token: string;\r\n dropdownRecent: boolean;\r\n mediaModel: any;\r\n playerSource: string;\r\n\r\n downloadSubscription: any;\r\n redirectToStoryClicked = false;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private http: HttpClient,\r\n private languageService: LanguageService,\r\n private sService: StorageService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private router: Router,\r\n private sanitizer: DomSanitizer,\r\n private route: ActivatedRoute\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n this.token = localStorage.getItem(\"Token\");\r\n\r\n this.route.params.subscribe((params) => {\r\n if (this.redirectToStoryClicked) {\r\n this.getData();\r\n }\r\n //\r\n });\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n @HostListener(\"document:keyup\", [\"$event\"])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.keyCode === 27) {\r\n this.closePopup();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n document.body.classList.add(\"noHeader\");\r\n document.body.classList.add(\"noScroll\");\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove(\"noHeader\");\r\n document.body.classList.remove(\"noScroll\");\r\n }\r\n\r\n getData() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.dropdownRecent = false;\r\n this.loader = true;\r\n this.user = TokenManagerService.getUser();\r\n this.getMediaDetail();\r\n\r\n if (this.user.cmsUser == null) {\r\n this.addViewToMedia();\r\n }\r\n this.downloadIds.push(this.mediaId);\r\n }\r\n\r\n updateSharedNumber(e) {\r\n const component = this;\r\n this.mediaModel = component.popupModelResponse.media;\r\n this.mediaModel.shares = e;\r\n }\r\n\r\n closePopup() {\r\n const component = this;\r\n this.mediaModel = component.popupModelResponse.media;\r\n this.popupChange.emit(false);\r\n this.popupClosed.emit(this.mediaModel);\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.dropdownRecent = false;\r\n }\r\n }\r\n\r\n addViewToMedia() {\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n this.googleAnalytics.emitEvent('viewmedia',\r\n \"media/\" + this.mediaId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n this.mcService.addViewToMedia(this.mediaId, this.user.id, this.isPublished).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n addDownload() {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n const niz = new DownloadAddToModel();\r\n if (this.isPublished) {\r\n niz.publishedMediaIds = [this.mediaId];\r\n niz.publishedMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent('downloadMedia',\r\n \"media/\" + mediaId,\r\n \"download-pm\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n niz.storyMediaIds = [];\r\n }\r\n else {\r\n niz.storyMediaIds = [this.mediaId];\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent('downloadMedia',\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n niz.publishedMediaIds = [];\r\n }\r\n niz.userId = this.user.id;\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n getMediaUrl() {\r\n this.urlForShare = this.popupModelResponse.media.shareUrl;\r\n }\r\n\r\n goToStory() {\r\n this.redirectToStoryClicked = true;\r\n this.router.navigateByUrl(this.popupModelResponse.alsoInStoryLink);\r\n }\r\n\r\n getPosition(string, subString, index) {\r\n return string.split(subString, index).join(subString).length;\r\n }\r\n\r\n getMediaDetail() {\r\n this.loader = true;\r\n this.mcService.getMediaDetail(this.mediaId, this.sLng, this.isPublished).subscribe(\r\n (response: any) => {\r\n this.popupModelResponse = response;\r\n\r\n if (\r\n this.popupModelResponse.downloadLinks.filter((d) => !d.isOriginal)\r\n .length > 0\r\n ) {\r\n this.playerSource = this.popupModelResponse.downloadLinks.filter(\r\n (d) => !d.isOriginal\r\n )[0].downloadUrl;\r\n } else {\r\n this.playerSource = this.popupModelResponse.downloadLinks.filter(\r\n (d) => d.isOriginal\r\n )[0].downloadUrl;\r\n }\r\n\r\n if (\r\n this.popupModelResponse.mustRegisterToAccess &&\r\n !this.popupModelResponse.anonymousShare &&\r\n !this.token\r\n ) {\r\n sessionStorage.setItem(\"redirectUrl\", \"/\" + window.location.pathname);\r\n this.router.navigateByUrl(\"/sign-in\");\r\n }\r\n\r\n if (this.popupModelResponse.socialSharing != null) {\r\n this.socials = this.popupModelResponse.socialSharing;\r\n }\r\n if (this.popupModelResponse.media.mediaType === \"Document\") {\r\n this.popupModelResponse.media.thumbUrl =\r\n \"assets/images/document_default.png\";\r\n } else if (this.popupModelResponse.media.mediaType === \"Audio\") {\r\n this.popupModelResponse.media.thumbUrl =\r\n \"assets/images/audio_default.png\";\r\n }\r\n this.getMediaUrl();\r\n this.loader = false;\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n cancelDownload(media: DownloadMediaModel) {\r\n if (this.downloadSubscription) {\r\n this.downloadSubscription.unsubscribe();\r\n this.disabledButton = false;\r\n media.downloadActive = false;\r\n }\r\n }\r\n\r\n // returnDownloadUrl() {\r\n // return ('test string');\r\n // }\r\n\r\n download(media: DownloadMediaModel) {\r\n const iOS =\r\n !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\r\n\r\n if (iOS) {\r\n try {\r\n (window as any).webkit.messageHandlers.downloadClicked.postMessage({\r\n url: media.downloadUrl,\r\n });\r\n } catch (err) { }\r\n\r\n return;\r\n }\r\n\r\n if (\r\n this.popupModelResponse.mustRegisterToDownload &&\r\n !this.popupModelResponse.anonymousShare &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n if (!this.disabledButton) {\r\n const component = this;\r\n component.disabledButton = true;\r\n media.downloadActive = true;\r\n\r\n this.downloadSubscription = this.http\r\n .get(media.downloadUrl, { responseType: \"blob\" })\r\n .subscribe(\r\n (blob: Blob) => {\r\n const filename = media.downloadUrl.split(\"/\")[8];\r\n saveAs(blob, filename);\r\n\r\n if (!this.user.cmsUser) {\r\n component.popupModelResponse.media.downloads++;\r\n }\r\n\r\n component.disabledButton = false;\r\n media.downloadActive = false;\r\n\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n },\r\n (error) => {\r\n component.disabledButton = false;\r\n media.downloadActive = false;\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n refreshMediaLinks() {\r\n this.getMediaDetail();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"{{\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ popupModelResponse?.media?.name | replace : \"_\" : \" \" }}\r\n
\r\n
\r\n
\r\n \r\n {{ popupModelResponse?.media?.views }}\r\n
\r\n
\r\n \r\n {{ popupModelResponse?.media?.downloads }}\r\n
\r\n
{{ language.latestDownloads }}
\r\n
\r\n {{ lastDownload }}\r\n
\r\n
\r\n {{ language.noDownloads }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{ language.availableFormats }}:
\r\n
    \r\n
    \r\n
  • \r\n
    \r\n \r\n {{ popup.label }}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
{{ language.alsoAvailableIn }}:
\r\n \r\n
\r\n
{{ popupModelResponse?.alsoInShortDescription }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TokenManagerService } from '../../shared/services/token-manager.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { PageStyle } from '../../models/style/style.model';\r\nimport { FontsAndColorsService } from '../../shared/services/fonts-and-colors.service';\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { StorageService } from '../../shared/services/storage.service';\r\nimport { SavedStoryService } from '../../shared/services/saved-story.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { McService } from '../../shared/services/mc-service';\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\n\r\n@Component({\r\n selector: 'app-unsubscribe-newsletter',\r\n templateUrl: './unsubscribe-newsletter.component.html',\r\n styleUrls: ['./unsubscribe-newsletter.component.less']\r\n})\r\nexport class UnsubscribeNewsletterComponent implements OnInit {\r\n unsubscribeCode: string;\r\n loading: boolean = false;\r\n styles: PageStyle;\r\n buttonsHelper = ButtonsHelper;\r\n language: Language;\r\n\r\n constructor(\r\n private authLoginService: TokenManagerService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private sService: StorageService,\r\n private savedStoryService: SavedStoryService,\r\n private toastr: ToastrService,\r\n private mcService: McService,\r\n private languageService: LanguageService,\r\n ) {\r\n this.styles = this.fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n this.unsubscribeCode = params[\"code\"];\r\n });\r\n }\r\n\r\n unsubscribe() {\r\n this.loading = true;\r\n this.mcService.unsubscribeFromNewsletter(this.unsubscribeCode).subscribe(\r\n () => {\r\n this.toastr.success(\"You have successfully unsubscribed from our newsletter.\");\r\n this.router.navigate(['/']);\r\n this.loading = false;\r\n },\r\n (error: any) => {\r\n this.toastr.error(\"Something went wrong. Please try again later.\");\r\n this.router.navigate(['/']);\r\n }\r\n );\r\n }\r\n\r\n cancel() {\r\n this.router.navigate(['/']);\r\n }\r\n\r\n}\r\n","
\r\n
{{ language.newsletter }}
\r\n
{{ language.suscribeConfirmation }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { file } from \"jszip\";\r\nimport { Subject } from \"rxjs\";\r\nimport { MyFilesModel } from \"./my-files-model\";\r\n\r\n@Injectable()\r\nexport class MyFilesService {\r\n public files: Subject = new Subject();\r\n\r\n myFiles: MyFilesModel;\r\n\r\n constructor() { }\r\n\r\n getFiles(): MyFilesModel {\r\n let storyMediaIds;\r\n let publishedMediaIds;\r\n if (localStorage.getItem(\"Token\") === null) {\r\n storyMediaIds = JSON.parse(localStorage.getItem(\"anonCart\"));\r\n publishedMediaIds = JSON.parse(localStorage.getItem(\"anonPublished\"));\r\n } else {\r\n storyMediaIds = JSON.parse(localStorage.getItem(\"cart\"));\r\n publishedMediaIds = JSON.parse(localStorage.getItem(\"published\"));\r\n }\r\n if (storyMediaIds === null) storyMediaIds = [];\r\n if (publishedMediaIds === null) publishedMediaIds = [];\r\n return new MyFilesModel(storyMediaIds, publishedMediaIds);\r\n }\r\n\r\n getMyFiles(): MyFilesModel {\r\n if (!this.myFiles || this.myFiles.length == 0) {\r\n this.myFiles = this.getFiles();\r\n }\r\n if (!this.myFiles)\r\n this.myFiles = new MyFilesModel([], []);\r\n return this.myFiles;\r\n }\r\n\r\n setMyFiles(myFiles: MyFilesModel) {\r\n this.myFiles = myFiles;\r\n if (localStorage.getItem(\"Token\") === null) {\r\n if (myFiles.storyMediaIds.length > 0) localStorage.setItem(\"anonCart\", JSON.stringify(myFiles.storyMediaIds));\r\n if (myFiles.publishedMediaIds.length > 0) localStorage.setItem(\"anonPublished\", JSON.stringify(myFiles.publishedMediaIds));\r\n } else {\r\n if (myFiles.storyMediaIds.length > 0) localStorage.setItem(\"cart\", JSON.stringify(myFiles.storyMediaIds));\r\n if (myFiles.publishedMediaIds.length > 0) localStorage.setItem(\"published\", JSON.stringify(myFiles.publishedMediaIds));\r\n }\r\n this.files.next(myFiles);\r\n }\r\n\r\n pushMyFiles(file: number, isPublished: boolean = false) {\r\n if (!this.myFiles) this.myFiles = this.getMyFiles();\r\n if (isPublished) {\r\n if (this.myFiles.publishedMediaIds.indexOf(file) >= 0) return;\r\n this.myFiles.publishedMediaIds.push(file);\r\n }\r\n else {\r\n if (this.myFiles.storyMediaIds.indexOf(file) >= 0) return;\r\n this.myFiles.storyMediaIds.push(file);\r\n }\r\n\r\n if (localStorage.getItem(\"Token\") === null) {\r\n if (isPublished) localStorage.setItem(\"anonPublished\", JSON.stringify(this.myFiles.publishedMediaIds));\r\n else localStorage.setItem(\"anonCart\", JSON.stringify(this.myFiles.storyMediaIds));\r\n } else {\r\n if (isPublished) localStorage.setItem(\"published\", JSON.stringify(this.myFiles.publishedMediaIds));\r\n else localStorage.setItem(\"cart\", JSON.stringify(this.myFiles.storyMediaIds));\r\n }\r\n this.files.next(this.myFiles);\r\n }\r\n\r\n clearFiles() {\r\n this.myFiles = new MyFilesModel([], []);\r\n if (localStorage.getItem(\"Token\") === null) {\r\n localStorage.setItem(\"anonCart\", JSON.stringify(this.myFiles.storyMediaIds));\r\n localStorage.setItem(\"anonPublished\", JSON.stringify(this.myFiles.publishedMediaIds));\r\n } else {\r\n localStorage.setItem(\"cart\", JSON.stringify(this.myFiles.storyMediaIds));\r\n localStorage.setItem(\"published\", JSON.stringify(this.myFiles.publishedMediaIds));\r\n }\r\n this.files.next(this.myFiles);\r\n }\r\n\r\n deleteFile(id: number, isPublished: boolean = false) {\r\n if (!this.myFiles) this.myFiles = this.getMyFiles();\r\n if (isPublished) {\r\n let index = this.myFiles.publishedMediaIds.indexOf(id);\r\n if (index >= 0) {\r\n this.myFiles.publishedMediaIds.splice(index, 1);\r\n if (localStorage.getItem(\"Token\") === null) localStorage.setItem(\"anonPublished\", JSON.stringify(this.myFiles.publishedMediaIds));\r\n else localStorage.setItem(\"published\", JSON.stringify(this.myFiles.publishedMediaIds));\r\n this.files.next(this.myFiles);\r\n }\r\n } else {\r\n let index = this.myFiles.storyMediaIds.indexOf(id);\r\n if (index >= 0) {\r\n this.myFiles.storyMediaIds.splice(index, 1);\r\n if (localStorage.getItem(\"Token\") === null) localStorage.setItem(\"anonCart\", JSON.stringify(this.myFiles.storyMediaIds));\r\n else localStorage.setItem(\"cart\", JSON.stringify(this.myFiles.storyMediaIds));\r\n this.files.next(this.myFiles);\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { McService } from '../../shared/services/mc-service';\r\nimport { BrandsManageModel, BrandsModel } from './brands-model';\r\nimport { Router } from '@angular/router';\r\nimport { TokenManagerService } from '../../shared/services/token-manager.service';\r\nimport { StorageService } from '../../shared/services/storage.service';\r\ndeclare var $: any;\r\nimport { LanguageService } from '../../shared/services/language.service';\r\nimport { Language } from '../../models/language/language.model';\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport local_store from 'devextreme/data/local_store';\r\n\r\n@Component({\r\n selector: 'app-brands',\r\n templateUrl: './brands.component.html',\r\n styleUrls: ['./brands.component.less']\r\n})\r\nexport class BrandsComponent implements OnInit {\r\n dropdown = false;\r\n language: Language;\r\n categoryLabel: string;\r\n category = ['company', 'company', 'company'];\r\n visibleBrands: BrandsManageModel[] = [];\r\n noBrands = false;\r\n searchResult: boolean;\r\n styles = new PageStyle();\r\n\r\n brandsResponse = new BrandsModel();\r\n loader: boolean;\r\n query: any;\r\n\r\n constructor(private mcService: McService, private languageService: LanguageService, public fontsAndColorsService: FontsAndColorsService, private router: Router, private sService: StorageService) {\r\n this.language = languageService.getLanguage();\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getBrands();\r\n this.sService.getSearch().subscribe(term => {\r\n this.searchResult = term;\r\n });\r\n this.categoryLabel = this.language.categories;\r\n }\r\n\r\n getBrands() {\r\n this.loader = true;\r\n this.mcService.getBrands()\r\n .subscribe((response: any) => {\r\n this.brandsResponse = response;\r\n // if (this.brandsResponse.mustRegisterToAccess && localStorage.getItem('Token') == null) {\r\n // sessionStorage.setItem('redirectUrl', '/' + window.location.pathname);\r\n // this.router.navigateByUrl('/sign-in');\r\n // }\r\n this.visibleBrands = response.clients;\r\n this.loader = false;\r\n if (this.brandsResponse.customCategories && this.brandsResponse.customCategories.length > 0)\r\n this.brandsResponse.customCategories.unshift({ id: 0, parentId: 0, label: 'All' });\r\n if (this.brandsResponse.mainCategories && this.brandsResponse.mainCategories.length > 0)\r\n this.brandsResponse.mainCategories.unshift({ id: 0, parentId: 0, label: 'All' });\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n\r\n // mediaCenter(media) {\r\n // if (media != null || media.length != 0) {\r\n // window.location.href = media;\r\n // }\r\n // }\r\n\r\n brandStories(brandName) {\r\n this.router.navigateByUrl('/brands/' + brandName);\r\n }\r\n\r\n filter(ccId) {\r\n this.visibleBrands = [];\r\n for (const client of this.brandsResponse.clients) {\r\n let niz2 = client.customCategories ? client.customCategories.filter(x => x.id === ccId.id) : client.mainCategories.filter(x => x.id === ccId.id);\r\n if (niz2.length > 0) {\r\n this.visibleBrands.push(client);\r\n }\r\n if (ccId.id === 0) {\r\n this.visibleBrands.push(client);\r\n }\r\n }\r\n // if (this.visibleBrands.length === 0) {\r\n // this.noBrands = true;\r\n // }\r\n }\r\n\r\n goToMc(url, clientId) {\r\n this.mcService.redirectToMc(clientId).subscribe(\r\n (response: any) => {\r\n const token = response.token;\r\n if (url) \r\n window.location.href = url + '&token=' + token;\r\n },\r\n (error) => {\r\n if (url)\r\n window.location.href = url;\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

Brands

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

\r\n {{ language.brands }}\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"{{\r\n
\r\n
\r\n {{ brand.name }}\r\n
\r\n
\r\n
\r\n {{ language.noBrandsInCustomCategory }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"{{\r\n
\r\n
\r\n {{ brand.name }}\r\n
\r\n
\r\n
\r\n {{ language.noBrandsInCustomCategory }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { CustomValidators } from \"ng2-validation\";\r\nimport { ProfileModel } from \"../../header/profile/profile-model\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { DownloadBoxService } from \"../../shared/services/download-box.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport * as JSZip from \"jszip\";\r\nimport * as JSZipUtils from \"jszip-utils\";\r\nimport { DownloadAddToModel } from \"../media/media-model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { SavedStoryService } from \"../../shared/services/saved-story.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MyFilesService } from \"../../shared/services/my-files.service\";\r\nimport { DeleteAccountService } from \"../../shared/services/delete-account.service\";\r\nimport { MyFilesModel } from \"../../shared/services/my-files-model\";\r\nimport { PasswordCheckService } from \"../../shared/services/password-check.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ToastrConfig } from \"../../shared/helpers/toastr-config\";\r\n\r\n@Component({\r\n selector: \"app-file-history\",\r\n templateUrl: \"./file-history.component.html\",\r\n styleUrls: [\"./file-history.component.less\"],\r\n})\r\nexport class FileHistoryComponent implements OnInit {\r\n loader = 0;\r\n language: Language;\r\n filters: any;\r\n fileType = \"all\";\r\n fileHistoryModel: any = [];\r\n filesFromCart: any = [];\r\n editFormOpened: boolean = false;\r\n deleteAccount: boolean = false;\r\n addDropdown: boolean;\r\n isPasswordSet: boolean;\r\n passwordForDeleting: string;\r\n dropdownStyle: boolean;\r\n dropdownLabel: string;\r\n dropdownLabel2: string;\r\n dropdownLabel3: string;\r\n list: string[];\r\n list2: string[];\r\n list3: string[];\r\n patternPassword = /^\\S*$/;\r\n isAdmin = false;\r\n confirmError = false;\r\n facebook = false;\r\n twitter = false;\r\n instagram = false;\r\n linkedin = false;\r\n youtube = false;\r\n wordpress = false;\r\n dropdown = false;\r\n languageDropDown: boolean;\r\n categoryDropdown: boolean;\r\n valForm: FormGroup;\r\n categories: any[] = [];\r\n languages: any[] = [];\r\n updateMessage: string;\r\n oldPassword: boolean;\r\n showPw: boolean;\r\n enterPw: boolean;\r\n mediaUser: boolean;\r\n users: any[] = [];\r\n allUsers: string[] = [];\r\n userType: string[] = [];\r\n usersToShow: any[] = [];\r\n cartMedias: any[];\r\n cartFilesOpened: boolean = true;\r\n noMediaUserType: boolean;\r\n userFilled: boolean;\r\n userFilledValid: boolean;\r\n registerResponseModel = new ProfileModel();\r\n dateFrom: string | number | Date;\r\n dateTo: string | number | Date;\r\n dateToButton: boolean;\r\n dateFromButton: boolean;\r\n user: any = {};\r\n cart: MyFilesModel = new MyFilesModel([], []);\r\n activeSection = \"file-history\";\r\n savedStories: any = {};\r\n languageId: number;\r\n cartFiles: {};\r\n loginAttempts: any[];\r\n constructor(\r\n private languageService: LanguageService,\r\n private mcService: McService,\r\n private fb: FormBuilder,\r\n private sService: StorageService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private http: HttpClient,\r\n private downloadBoxService: DownloadBoxService,\r\n private savedStoryService: SavedStoryService,\r\n private router: Router,\r\n private myFilesService: MyFilesService,\r\n private deleteAccountService: DeleteAccountService,\r\n private authService: TokenManagerService,\r\n private checkPasswordService: PasswordCheckService,\r\n private toastr: ToastrService\r\n ) {\r\n this.language = languageService.getLanguage();\r\n }\r\n\r\n ngOnInit() {\r\n this.languageId = Number(localStorage.getItem(\"lng\"));\r\n this.isPasswordSet = TokenManagerService.getUser().isPasswordSet;\r\n this.myFilesService.files.subscribe((files) => {\r\n this.updateCartFiles(files);\r\n });\r\n // this.sService.getPw().subscribe(term => {\r\n // this.isPasswordSet = term;\r\n // });\r\n this.cart = this.myFilesService.getMyFiles();\r\n this.updateCartFiles(this.cart);\r\n this.getDownloadBoxes();\r\n this.getSavedStories();\r\n this.getAccount();\r\n this.getLoginAttempts();\r\n this.valForm = this.fb.group({\r\n firstname: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(50)]),\r\n ],\r\n lastname: [\r\n null,\r\n Validators.compose([Validators.required, Validators.maxLength(50)]),\r\n ],\r\n telephone: [null],\r\n newsletter: [null],\r\n confirmPassword: [null],\r\n oldPassword: [null],\r\n facebook: [null],\r\n twitter: [null],\r\n instagram: [null],\r\n linkedin: [null],\r\n youtube: [null],\r\n wordpress: [null],\r\n password: [\r\n null,\r\n Validators.compose([\r\n Validators.maxLength(50),\r\n Validators.minLength(8),\r\n Validators.pattern(this.patternPassword),\r\n ]),\r\n ],\r\n email: [\r\n null,\r\n Validators.compose([Validators.required, CustomValidators.email]),\r\n ],\r\n company: [null],\r\n });\r\n\r\n this.addDropdown = false;\r\n this.dropdownLabel = \"Select media category\";\r\n this.dropdownLabel2 = \"Select categories\";\r\n this.dropdownLabel3 = \"Select your languages\";\r\n this.list = [\"dummy\", \"dumyy\"];\r\n this.list2 = [\"dummy\", \"dumyy\"];\r\n this.list3 = [\"dummy\", \"dumyy\"];\r\n this.filters = [\r\n {\r\n type: \"all\",\r\n text: this.language.allFiles,\r\n faClass: \"fal fa-archive\",\r\n },\r\n {\r\n type: \"image\",\r\n text: this.language.imageFiles,\r\n faClass: \"fal fa-camera-retro\",\r\n },\r\n {\r\n type: \"video\",\r\n text: this.language.videoFiles,\r\n faClass: \"fal fa-video\",\r\n },\r\n {\r\n type: \"document\",\r\n text: this.language.documents,\r\n faClass: \"fal fa-file\",\r\n },\r\n {\r\n type: \"audio\",\r\n text: this.language.audioFiles,\r\n faClass: \"fal fa-volume-up\",\r\n },\r\n ];\r\n }\r\n\r\n getLoginAttempts() {\r\n this.mcService.getLoginAttempts(TokenManagerService.getUser().id, 1, 10).subscribe(\r\n (response: any) => {\r\n localStorage.setItem(\"loginAttempts\", JSON.stringify(response));\r\n this.loginAttempts = response;\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n filterType(type) {\r\n this.fileType = type;\r\n }\r\n\r\n getSelectedCategoriesText(): string {\r\n if (\r\n this.categories == null ||\r\n this.categories == undefined ||\r\n this.categories.length == 0\r\n ) {\r\n return \"\";\r\n }\r\n let text = \"\";\r\n for (let i = 0; i < this.categories.length - 1; i++) {\r\n text += this.categories[i] + \", \";\r\n }\r\n text += this.categories[this.categories.length - 1];\r\n if (text.length > 30) {\r\n text = text.substring(0, 30) + \"...\";\r\n }\r\n return text;\r\n }\r\n\r\n isPwFocus: boolean = false;\r\n onPwFocus() {\r\n this.isPwFocus = true;\r\n }\r\n onPwBlur() {\r\n this.isPwFocus = false;\r\n }\r\n\r\n getAccount() {\r\n this.loader++;\r\n this.mcService.getUpdate().subscribe(\r\n (response: any) => {\r\n this.registerResponseModel = response;\r\n this.isAdmin = !!this.registerResponseModel.adminModel?.id;\r\n\r\n if (!this.isAdmin) {\r\n this.userType =\r\n this.registerResponseModel.mediaUserModel.mediaUserTypes;\r\n for (const x of this.registerResponseModel.userGroups) {\r\n for (const y of this.userType) {\r\n if (x.id === y) {\r\n x.checked = true;\r\n this.usersToShow.push(x.id);\r\n this.users.push(x.id);\r\n }\r\n }\r\n }\r\n this.allUsers = this.users;\r\n if (\r\n this.registerResponseModel.mediaUserModel.facebookLink != \"\" &&\r\n this.registerResponseModel.mediaUserModel.facebookLink !== undefined\r\n ) {\r\n this.facebook = true;\r\n }\r\n if (\r\n this.registerResponseModel.mediaUserModel.twitterLink != \"\" &&\r\n this.registerResponseModel.mediaUserModel.twitterLink !== undefined\r\n ) {\r\n this.twitter = true;\r\n }\r\n if (\r\n this.registerResponseModel.mediaUserModel.instagramLink != \"\" &&\r\n this.registerResponseModel.mediaUserModel.instagramLink !==\r\n undefined\r\n ) {\r\n this.instagram = true;\r\n }\r\n if (\r\n this.registerResponseModel.mediaUserModel.youTubeLink != \"\" &&\r\n this.registerResponseModel.mediaUserModel.youTubeLink !== undefined\r\n ) {\r\n this.youtube = true;\r\n }\r\n if (\r\n this.registerResponseModel.mediaUserModel.linkedInLink != \"\" &&\r\n this.registerResponseModel.mediaUserModel.linkedInLink !== undefined\r\n ) {\r\n this.linkedin = true;\r\n }\r\n if (\r\n this.registerResponseModel.mediaUserModel.wordPressLink != \"\" &&\r\n this.registerResponseModel.mediaUserModel.wordPressLink !==\r\n undefined\r\n ) {\r\n this.wordpress = true;\r\n }\r\n for (const x of this.registerResponseModel.mediaUserModel\r\n .languageIds) {\r\n for (const y of this.registerResponseModel.languages) {\r\n if (x === y.id) {\r\n y.checked = true;\r\n this.languages.push(y.label);\r\n }\r\n }\r\n }\r\n for (const x of this.registerResponseModel.mediaUserModel\r\n .customCategoryIds) {\r\n for (const y of this.registerResponseModel.customCatogories) {\r\n if (x === y.id) {\r\n y.marked = true;\r\n this.categories.push(y.label);\r\n }\r\n }\r\n }\r\n } else {\r\n this.registerResponseModel.adminModel.telephoneNumber =\r\n this.registerResponseModel.adminModel.telephone;\r\n }\r\n },\r\n (error) => { },\r\n () => {\r\n this.loader--;\r\n }\r\n );\r\n }\r\n\r\n addLanguage(lang) {\r\n const index = this.registerResponseModel.mediaUserModel.languageIds.indexOf(\r\n lang.id\r\n );\r\n lang.checked = !lang.checked;\r\n if (lang.checked) {\r\n this.registerResponseModel.mediaUserModel.languageIds.push(lang.id);\r\n this.languages.push(lang.label);\r\n } else {\r\n this.registerResponseModel.mediaUserModel.languageIds.splice(index, 1);\r\n this.languages.splice(index, 1);\r\n }\r\n }\r\n\r\n addCategory(category, event) {\r\n const index =\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.indexOf(\r\n category.id\r\n );\r\n category.marked = !category.marked;\r\n if (category.marked) {\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.push(\r\n category.id\r\n );\r\n this.categories.push(category.label);\r\n } else {\r\n this.registerResponseModel.mediaUserModel.customCategoryIds.splice(\r\n index,\r\n 1\r\n );\r\n this.categories.splice(index, 1);\r\n }\r\n }\r\n\r\n addUser(user, event) {\r\n event.stopPropagation();\r\n const index = this.users.indexOf(user.id);\r\n user.checked = !user.checked;\r\n\r\n if (user.checked) {\r\n this.users.push(user.id);\r\n this.usersToShow.push(user.id);\r\n this.noMediaUserType = true;\r\n this.userFilled = true;\r\n } else {\r\n this.users.splice(index, 1);\r\n this.usersToShow.splice(index, 1);\r\n }\r\n\r\n if (this.users.length == 0) this.noMediaUserType = false;\r\n this.registerResponseModel.mediaUserModel.mediaUserTypes = this.users;\r\n }\r\n\r\n checkIfEmpty() {\r\n if (this.valForm.controls[\"email\"].value.length === 0)\r\n this.valForm.controls[\"email\"].setValidators(Validators.required);\r\n this.valForm.controls[\"email\"].setValidators(CustomValidators.email);\r\n }\r\n\r\n openAddDropdown() {\r\n this.addDropdown = !this.addDropdown;\r\n }\r\n\r\n checkPassword() {\r\n if (\r\n this.valForm.controls[\"password\"].value ===\r\n this.valForm.controls[\"confirmPassword\"].value\r\n )\r\n this.confirmError = false;\r\n }\r\n\r\n ifEmpty() {\r\n if (this.valForm.controls[\"oldPassword\"].value != \"\") {\r\n this.showPw = true;\r\n this.enterPw = false;\r\n }\r\n if (\r\n this.valForm.controls[\"password\"].value === \"\" &&\r\n this.valForm.controls[\"oldPassword\"].value != \"\"\r\n ) {\r\n this.oldPassword = true;\r\n }\r\n\r\n if (\r\n this.valForm.controls[\"oldPassword\"].value == \"\" ||\r\n this.valForm.controls[\"oldPassword\"].value == null\r\n ) {\r\n this.enterPw = false;\r\n }\r\n\r\n if (\r\n this.valForm.controls[\"oldPassword\"].value == \"\" ||\r\n this.valForm.controls[\"oldPassword\"].value == null\r\n ) {\r\n this.oldPassword = false;\r\n }\r\n }\r\n\r\n setConfirmError() {\r\n if (\r\n this.valForm.controls[\"password\"].value !==\r\n this.valForm.controls[\"confirmPassword\"].value\r\n ) {\r\n this.confirmError = true;\r\n }\r\n if (\r\n this.valForm.controls[\"password\"].value !== \"\" &&\r\n this.valForm.controls[\"oldPassword\"].value != \"\"\r\n ) {\r\n this.oldPassword = false;\r\n }\r\n if (\r\n this.valForm.controls[\"password\"].value == \"\" &&\r\n this.valForm.controls[\"oldPassword\"].value != \"\"\r\n ) {\r\n this.oldPassword = true;\r\n }\r\n if (\r\n this.valForm.controls[\"password\"].value !== \"\" &&\r\n this.valForm.controls[\"oldPassword\"].value == \"\"\r\n ) {\r\n this.enterPw = true;\r\n }\r\n\r\n // if (this.valForm.controls['password'].value === '') {\r\n // this.confirmError = false;\r\n // }\r\n }\r\n\r\n updateAccount() {\r\n this.loader++;\r\n this.mcService\r\n .update(\r\n this.isAdmin\r\n ? this.registerResponseModel.adminModel\r\n : this.registerResponseModel.mediaUserModel\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (this.isAdmin) {\r\n const { firstName, lastName } =\r\n this.registerResponseModel.adminModel;\r\n const fullName = `${firstName} ${lastName}`;\r\n this.sService.setName(fullName);\r\n this.registerResponseModel.adminModel.fullName = fullName;\r\n localStorage.setItem(\r\n \"User\",\r\n JSON.stringify({ user: this.registerResponseModel.adminModel })\r\n );\r\n } else {\r\n const { firstName, lastName } =\r\n this.registerResponseModel.mediaUserModel;\r\n const fullName = `${firstName} ${lastName}`;\r\n this.sService.setName(fullName);\r\n this.registerResponseModel.mediaUserModel.fullName = fullName;\r\n localStorage.setItem(\r\n \"User\",\r\n JSON.stringify({\r\n user: this.registerResponseModel.mediaUserModel,\r\n })\r\n );\r\n }\r\n },\r\n (error) => { },\r\n () => this.loader--\r\n );\r\n }\r\n\r\n newsletterCheck() {\r\n this.registerResponseModel.mediaUserModel.receiveNewsletter =\r\n !this.registerResponseModel.mediaUserModel.receiveNewsletter;\r\n }\r\n\r\n toggleDropdown() {\r\n this.dropdown = !this.dropdown;\r\n }\r\n\r\n onAccountFormSubmit(e) {\r\n e.stopPropagation();\r\n if (\r\n this.valForm.controls[\"oldPassword\"].value == \"\" &&\r\n this.valForm.controls[\"password\"].value != \"\"\r\n ) {\r\n this.enterPw = true;\r\n }\r\n if (\r\n !this.valForm.controls[\"oldPassword\"].value &&\r\n !this.valForm.controls[\"password\"].value\r\n ) {\r\n this.enterPw = false;\r\n this.oldPassword = false;\r\n }\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n\r\n if (\r\n !this.isAdmin &&\r\n this.registerResponseModel.mediaUserModel.mediaUserTypes.length === 0\r\n ) {\r\n this.userFilled = false;\r\n } else {\r\n this.userFilled = true;\r\n }\r\n\r\n if (this.isAdmin) {\r\n this.registerResponseModel.adminModel.isPasswordSet = this.isPasswordSet;\r\n } else {\r\n this.registerResponseModel.mediaUserModel.isPasswordSet =\r\n this.isPasswordSet;\r\n }\r\n\r\n\r\n if (this.checkPasswordService.hasPasswordHardening() && this.valForm.controls[\"password\"].value && !this.checkPasswordService.checkAll(this.valForm.controls[\"password\"].value)) {\r\n this.toastr.error(\"Password does not meet the requirements\", 'Oh Snap!', ToastrConfig.error);\r\n return;\r\n }\r\n\r\n if (\r\n this.valForm.valid &&\r\n !this.oldPassword &&\r\n !this.enterPw &&\r\n this.userFilled\r\n ) {\r\n this.updateAccount();\r\n }\r\n }\r\n\r\n openDateFrom() {\r\n this.dateFromButton = !this.dateFromButton;\r\n }\r\n\r\n openDateTo() {\r\n this.dateToButton = !this.dateToButton;\r\n }\r\n\r\n changeFromDate(event) {\r\n if (event.value !== null) {\r\n if (new Date(this.dateFrom).getTime() > new Date(this.dateTo).getTime()) {\r\n this.dateTo = new Date();\r\n }\r\n }\r\n }\r\n\r\n changeToDate(event) {\r\n if (event.value !== null) {\r\n if (new Date(this.dateFrom).getTime() > new Date(this.dateTo).getTime()) {\r\n const dateTo: Date = new Date(this.dateTo);\r\n this.dateFrom = new Date(dateTo.getTime());\r\n }\r\n }\r\n }\r\n\r\n showFile(storyMedia) {\r\n if (\r\n this.fileType != \"all\" &&\r\n storyMedia.mediaType.toLowerCase() != this.fileType\r\n )\r\n return false;\r\n return true;\r\n }\r\n\r\n getDownloadBoxes() {\r\n this.loader++;\r\n this.downloadBoxService.getAll().subscribe(\r\n (response: any) => {\r\n this.fileHistoryModel = response;\r\n if (\r\n this.myFilesService.getMyFiles()?.length == 0 &&\r\n this.fileHistoryModel.downloadBoxes.length > 0\r\n )\r\n this.fileHistoryModel.downloadBoxes[0].opened = true;\r\n },\r\n (error) => { },\r\n () => {\r\n this.loader--;\r\n }\r\n );\r\n }\r\n\r\n updateCartFiles(files) {\r\n this.loader++;\r\n this.mcService.downloadBox(files).subscribe((response) => {\r\n this.filesFromCart = response;\r\n this.cartMedias = [];\r\n this.filesFromCart.downloadBoxList.forEach((element) => {\r\n element.media.forEach((m) => {\r\n m.media.downloadLink = m.downloadLinks[0].downloadUrl;\r\n this.cartMedias.push(m.media);\r\n });\r\n });\r\n this.loader--;\r\n });\r\n }\r\n\r\n parseDate(date) {\r\n if (!(date instanceof Date)) date = new Date(date);\r\n let options: any = { year: \"numeric\", month: \"short\", day: \"numeric\" };\r\n return date.toLocaleDateString(undefined, options);\r\n }\r\n\r\n showBox(box) {\r\n let date = box.date;\r\n if (!(date instanceof Date)) date = new Date(date);\r\n const inDateRange =\r\n (!this.dateFrom || this.dateFrom < date) &&\r\n (!this.dateTo || this.dateTo > date);\r\n if (!inDateRange) return false;\r\n\r\n return box.storyMedias?.some((media) => this.showFile(media)) || false;\r\n }\r\n\r\n showCartBox(medias: any[]) {\r\n return medias?.some((media) => this.showFile(media)) || false;\r\n }\r\n\r\n downloadBox(box, isCart = false) {\r\n const component = this;\r\n console.log(box);\r\n const urls = isCart\r\n ? box.map((media) => media.downloadLink)\r\n : box.storyMedias.map((media) => media.downloadLink);\r\n const publishedMediaIds = isCart\r\n ? box.filter((media) => media.isPublished).map((media) => media.id)\r\n : box.storyMedias.filter((media) => media.isPublished).map((media) => media.id);\r\n const storyMediaIds = isCart\r\n ? box.filter((media) => !media.isPublished).map((media) => media.id)\r\n : box.storyMedias.filter((media) => !media.isPublished).map((media) => media.id);\r\n const zip = new JSZip();\r\n let count = 0;\r\n const zipFilename = \"download.zip\";\r\n\r\n if (urls.length > 1) {\r\n urls.forEach((url) => {\r\n const filename = url.split(\"/\")[8];\r\n\r\n // loading a file and add it in a zip file\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n\r\n if (count === urls.length) {\r\n zip.generateAsync({ type: \"blob\" }).then(function (content) {\r\n saveAs(content, zipFilename);\r\n\r\n if (!component.user.cmsUser) {\r\n component.addDownload(storyMediaIds, publishedMediaIds);\r\n }\r\n\r\n if (isCart) {\r\n component.downloadBoxService.createDownloadBox().subscribe((response) => {\r\n component.myFilesService.clearFiles();\r\n console.log(response);\r\n }, (error) => console.log(error));\r\n }\r\n\r\n });\r\n }\r\n });\r\n });\r\n } else {\r\n for (const x of urls) {\r\n this.http.get(x, { responseType: \"blob\" }).subscribe(\r\n (blob: Blob) => {\r\n const filename = x.split(\"/\")[8];\r\n\r\n saveAs(blob, filename);\r\n\r\n if (!component.user.cmsUser) {\r\n component.addDownload(storyMediaIds, publishedMediaIds);\r\n }\r\n\r\n\r\n if (isCart) {\r\n component.downloadBoxService.createDownloadBox().subscribe((response) => {\r\n component.myFilesService.clearFiles();\r\n console.log(response);\r\n }, (error) => console.log(error));\r\n }\r\n\r\n },\r\n (error) => console.error(error)\r\n );\r\n }\r\n }\r\n }\r\n\r\n downloadCart() {\r\n const files = this.myFilesService.getMyFiles();\r\n this.mcService.downloadBox(files).subscribe((response) => {\r\n this.filesFromCart = response;\r\n this.cartMedias = [];\r\n this.filesFromCart.downloadBoxList.forEach((element) => {\r\n element.media.forEach((m) => {\r\n m.media.downloadLink = m.downloadLinks[0].downloadUrl;\r\n this.cartMedias.push(m.media);\r\n });\r\n });\r\n this.downloadBox(this.cartMedias, true);\r\n });\r\n }\r\n\r\n addDownload(storyMediaIds, publishedMediaIds) {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n const niz = new DownloadAddToModel();\r\n niz.publishedMediaIds = publishedMediaIds;\r\n niz.storyMediaIds = storyMediaIds;\r\n niz.userId = this.user.id;\r\n niz.publishedMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download-pm\",\r\n niz.userId.toString()\r\n );\r\n });\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId.toString()\r\n );\r\n });\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => { }\r\n );\r\n }\r\n\r\n getSavedStories() {\r\n this.savedStoryService.getAll(this.languageId).subscribe(\r\n (response: any) => {\r\n this.savedStories = response;\r\n },\r\n (error) => { }\r\n );\r\n }\r\n\r\n showNoResults() {\r\n if (this.activeSection == \"file-history\")\r\n return !this.fileHistoryModel?.downloadBoxes?.some((box) =>\r\n this.showBox(box)\r\n );\r\n else return this.savedStories?.stories?.length == 0;\r\n }\r\n\r\n wrongPassword: boolean = false;\r\n\r\n deleteMyAccount() {\r\n this.deleteAccountService.deleteAccount(this.passwordForDeleting).subscribe(\r\n (response) => {\r\n this.authService.logout();\r\n this.router.navigate([\"/\"]);\r\n console.log(response);\r\n },\r\n (error) => {\r\n this.wrongPassword = true;\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n dontDeleteMyAccount() {\r\n this.deleteAccount = false;\r\n this.wrongPassword = false;\r\n this.passwordForDeleting = \"\";\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n {{ language.myFiles }}\r\n
\r\n
\r\n {{ language.savedStories }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{ filter.text }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\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
{{ language.current }}
\r\n
\r\n {{ myFilesService.getMyFiles()?.length }} {{ language.files }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ language.download || language.downloadAll }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{ parseDate(box.date) }}
\r\n
\r\n {{ box.storyMedias?.length }} {{ language.files }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ language.download || language.downloadAll }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ language.noDownloadBoxes }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{ language.noStoriesSaved }}\r\n
\r\n
\r\n 0\">\r\n
\r\n
\r\n

{{ language.myAccount }}

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{ language.firstNameRequired }}\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.lastNameRequired }}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ language.emailNameRequired }}\r\n {{ language.invalidEmail }}\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ language.max50Characters }}\r\n \r\n {{ language.min4Characters }}\r\n \r\n {{ language.passwordNoSpaces }}\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Number\r\n (0-9)\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Special\r\n Character\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Atleast\r\n 8 Character\r\n
\r\n
\r\n
\r\n X
\r\n \r\n Lowercase\r\n & Uppercase\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ language.confirmPasswordRequired }}\r\n {{ language.passwordsNoMatch }}\r\n
\r\n\r\n
\r\n \r\n \r\n {{ language.mustEnterFirstPassword }}\r\n {{ language.mustEnterOldPassword }}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{ language.firstNameRequired }}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ language.lastNameRequired }}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ language.emailNameRequired }}\r\n {{ language.invalidEmail }}\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ language.max50Characters }}\r\n \r\n {{ language.min4Characters }}\r\n \r\n {{ language.passwordNoSpaces }}\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Number\r\n (0-9)\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Special\r\n Character\r\n
\r\n
\r\n
X\r\n
\r\n \r\n Atleast\r\n 8 Character\r\n
\r\n
\r\n
\r\n X
\r\n \r\n Lowercase\r\n & Uppercase\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ language.confirmPasswordRequired }}\r\n {{ language.passwordsNoMatch }}\r\n
\r\n\r\n
\r\n \r\n \r\n {{ language.mustEnterFirstPassword }}\r\n {{ language.mustEnterOldPassword }}\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n {{\r\n language.categoriesOfInterest\r\n }}\r\n
\r\n
{{ getSelectedCategoriesText() }}
\r\n
\r\n\r\n
\r\n
\r\n \r\n
{{ category.label }}
\r\n
\r\n
\r\n {{ language.done }}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n {{\r\n language.languages\r\n }}\r\n
\r\n \r\n
{{ lan }}{{ isLast ? \"\" : \", \" }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{ lang.label }}
\r\n
\r\n
\r\n {{ language.done }}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Users\r\n
\r\n \r\n
{{ user }}{{ isLast ? \"\" : \", \" }}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{ user.name }}
\r\n
\r\n
\r\n {{ language.done }}\r\n
\r\n
\r\n
\r\n
\r\n {{ language.mediaUserTypeRequired }}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{ language.add }}
\r\n
\r\n
\r\n
\r\n \r\n
Facebook
\r\n
\r\n
\r\n \r\n
Twitter
\r\n
\r\n
\r\n \r\n
Linkedin
\r\n
\r\n
\r\n \r\n
Instagram
\r\n
\r\n
\r\n \r\n
Youtube
\r\n
\r\n
\r\n \r\n
WordPress
\r\n
\r\n
\r\n {{ language.done }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {{ language.iWantNewsletter }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ language.deleteAccount }}\r\n
\r\n
\r\n

Last Login Attempts

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

{{ loginAttempt.time | date : \"dd/MM/yyyy hh:mm a\" }}

\r\n {{ !loginAttempt.failed ? 'Successful' :\r\n 'Failed' }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{ language.deleteAccount }}
\r\n
x
\r\n
\r\n
\r\n
\r\n {{ language.deleteAccountConfirmation }}\r\n
\r\n \r\n
\r\n {{ language.incorrectPassword }}\r\n
\r\n
\r\n
{{ language.cancel }}
\r\n
{{ language.delete }}
\r\n
\r\n
\r\n
\r\n
","import { Component, HostListener, NgZone, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport { WebNewsListModel, WebNewsModel } from \"./news-model\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { SearchModel, WebSearchModel } from \"../../header/search/search-model\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { AlgoliaService } from \"../../shared/services/algolia.service\";\r\nimport { forkJoin } from \"rxjs\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-news\",\r\n templateUrl: \"./news.component.html\",\r\n styleUrls: [\"./news.component.less\"],\r\n})\r\nexport class NewsComponent implements OnInit {\r\n news: any[];\r\n grid: string;\r\n dropdown = false;\r\n loader: boolean;\r\n subcategory = false;\r\n styles = new PageStyle();\r\n user: any;\r\n showPagination = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n newsHeadlineLength: number = 10;\r\n webListResponse = new WebNewsListModel();\r\n p = 1;\r\n itemsPerPage: number = 12;\r\n shortDescriptionLength: number;\r\n language: Language;\r\n sLng: number;\r\n lazyLoadingLoader = false;\r\n maxPageMedia = 1;\r\n searchModelData = new SearchModel();\r\n callGetAllData = true;\r\n filtersVisible = false;\r\n dateToButton = false;\r\n dateFromButton = false;\r\n dateFrom: Date = null;\r\n dateTo: Date = null;\r\n storyGroups: WebNewsModel[][] = [[]];\r\n hasStoryCodes: boolean;\r\n groupedStories: any[] = [];\r\n loginPopup: boolean = false;\r\n selectedCustomCategory: any = 0;\r\n isInMarketPage = false;\r\n selectedMarket: any = 0;\r\n markets: any[] = [];\r\n isEasyJet: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private mcService: McService,\r\n private languageService: LanguageService,\r\n ngZone: NgZone,\r\n private sanitizer: DomSanitizer,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private algoliaService: AlgoliaService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.hasStoryCodes = localStorage.getItem(\"hasStoryCodes\") === \"true\";\r\n }\r\n\r\n ngOnInit() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.currentUrl = window.location.href;\r\n this.loader = true;\r\n window.scrollTo(0, 0);\r\n this.user = TokenManagerService.getUser();\r\n const market = JSON.parse(localStorage.getItem(\"currentMarket\"));\r\n this.isInMarketPage = market != null && market != undefined;\r\n if (this.isInMarketPage) {\r\n this.selectedMarket = market.id;\r\n } else {\r\n this.mcService.getMarkets().subscribe((markets: any) => {\r\n this.markets = markets.filter((x) => x.name != \"All\");\r\n });\r\n }\r\n this.getSearch();\r\n if (localStorage.getItem(\"isEasyJet\") === \"1\") {\r\n this.isEasyJet = true;\r\n }\r\n }\r\n\r\n public config: any = null;\r\n\r\n getSearch() {\r\n const searchConfig$ = this.mcService.getSearchConfig();\r\n const search$ = this.mcService.getSearch();\r\n\r\n forkJoin([searchConfig$, search$]).subscribe(\r\n ([searchConfigResponse, searchResponse]) => {\r\n this.config = searchConfigResponse;\r\n this.searchModelData = searchResponse as any as SearchModel;\r\n this.searchModelData.searchModel = new WebSearchModel();\r\n this.loader = false;\r\n this.searchModelData.searchModel.images = false;\r\n this.searchModelData.searchModel.video = false;\r\n this.searchModelData.searchModel.document = false;\r\n this.searchModelData.searchModel.audio = false;\r\n this.searchModelData.searchModel.media = false;\r\n this.searchModelData.searchModel.stories = true;\r\n this.getNews(this.p, true);\r\n },\r\n (error) => {\r\n this.loader = false;\r\n }\r\n );\r\n\r\n }\r\n\r\n @HostListener(\"window:scroll\", [\"$event\"])\r\n onScroll(event) {\r\n if (\r\n window.innerHeight + window.scrollY >= document.body.offsetHeight - 300 &&\r\n !this.lazyLoadingLoader\r\n ) {\r\n this.loadMore();\r\n }\r\n }\r\n\r\n loadMore() {\r\n if (this.p < this.maxPageMedia) {\r\n this.p++;\r\n this.lazyLoadingLoader = true;\r\n this.changePage(this.p);\r\n }\r\n }\r\n\r\n changeColorr(e) {\r\n e.target.style.background = this.styles.style.mainButton3HoverColor;\r\n }\r\n\r\n changeColor(e) {\r\n e.target.style.background = this.styles.style.mainButton3DefaultColor;\r\n }\r\n\r\n getStoryUrl(storyId) {\r\n return (\r\n this.currentUrl.replace(\"news\", \"story\") +\r\n \"/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.webListResponse.stories.find((x) => x.staggingStoryId == storyId)\r\n .storyTitle\r\n )\r\n );\r\n }\r\n\r\n getStyle() {\r\n this.mcService.getStyle().subscribe(\r\n (response: any) => {\r\n this.styles = response;\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n public algoliaStories = [];\r\n getNews(page, isReset = false) {\r\n if (this.sLng == 0) {\r\n this.sLng = 1;\r\n }\r\n this.loader = isReset;\r\n this.searchModelData.searchModel.page = page;\r\n if (isReset) this.searchModelData.searchModel.page = 1;\r\n this.searchModelData.searchModel.pageSize = this.itemsPerPage;\r\n this.searchModelData.searchModel.languageId = this.sLng;\r\n if (this.selectedCustomCategory != null && this.selectedCustomCategory != undefined && this.selectedCustomCategory != 0) {\r\n this.searchModelData.searchModel.customCategoryIds = [this.selectedCustomCategory];\r\n } else {\r\n this.searchModelData.searchModel.customCategoryIds = [];\r\n }\r\n this.searchModelData.searchModel.marketId = this.selectedMarket && this.selectedMarket != 0 ?\r\n parseInt(this.selectedMarket) : null;\r\n\r\n\r\n if (!this.hasStoryCodes) {\r\n let dateFrom = null;\r\n let dateTo = null;\r\n if (this.searchModelData.searchModel.dateFrom != null) {\r\n dateFrom = new Date(this.searchModelData.searchModel.dateFrom);\r\n dateFrom.setHours(0, 0, 0, 0);\r\n }\r\n\r\n if (this.searchModelData.searchModel.dateTo != null) {\r\n dateTo = new Date(this.searchModelData.searchModel.dateTo);\r\n dateTo.setHours(23, 59, 59, 999);\r\n }\r\n\r\n this.algoliaService.searchStoriesWithFilters(\r\n this.searchModelData.searchModel.searchText,\r\n this.searchModelData.searchModel.page,\r\n this.searchModelData.searchModel.subClientIds.length > 0 ? this.searchModelData.searchModel.subClientIds[0] : null,\r\n this.searchModelData.searchModel.marketId,\r\n this.searchModelData.searchModel.customCategoryIds.length > 0 ? this.searchModelData.searchModel.customCategoryIds[0] : null,\r\n dateFrom, dateTo).then((response: any) => {\r\n this.maxPageMedia = Math.ceil(response.nbHits / this.itemsPerPage);\r\n if (isReset) {\r\n this.algoliaStories = [];\r\n }\r\n\r\n this.algoliaStories = this.algoliaStories.concat(response.hits.map((s) => {\r\n return {\r\n storyTitle: s.title,\r\n category: this.algoliaService.getSuperMediaCenter() || s.customCategories ? s.mainCategories.map((c) => c.name) : s.customCategories.map((c) => c.name),\r\n publishedDate: s.storyDate,\r\n hideStoryDate: s.hideStoryDate,\r\n staggingStoryId: s.staggingStoryId,\r\n thumbUrl: s.mediaThumbUrl,\r\n shortDescription: s.shortDescription,\r\n embeddedCode: s.embeddedCode,\r\n mediaId: s.mediaId,\r\n }\r\n }));\r\n this.storyGroups = [[]];\r\n this.groupStories(this.algoliaStories);\r\n this.loader = false;\r\n this.lazyLoadingLoader = false;\r\n });\r\n\r\n } else {\r\n this.mcService.searchMcStories(this.searchModelData.searchModel, this.hasStoryCodes).subscribe(\r\n (response: any) => {\r\n if (this.hasStoryCodes && !this.searchModelData.searchModel.marketId) {\r\n this.maxPageMedia = Math.ceil(response.totalCount / this.itemsPerPage);\r\n this.webListResponse = response;\r\n\r\n if (!isReset) {\r\n this.groupedStories = this.groupedStories.concat(\r\n response.groupedStories\r\n );\r\n } else {\r\n this.groupedStories = response.groupedStories;\r\n }\r\n if (this.webListResponse.socialSharing != null) {\r\n this.socials = this.webListResponse.socialSharing;\r\n }\r\n for (const news of this.groupedStories) {\r\n for (const story of news.stories) {\r\n if (story.featuredEmbeddedCode) {\r\n story.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n story.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n }\r\n\r\n } else {\r\n this.maxPageMedia = Math.ceil(response.totalCount / this.itemsPerPage);\r\n let stories = this.webListResponse.stories;\r\n this.webListResponse = response;\r\n if (!isReset) {\r\n this.webListResponse.stories = stories.concat(\r\n this.webListResponse.stories\r\n );\r\n }\r\n if (this.webListResponse.socialSharing != null) {\r\n this.socials = this.webListResponse.socialSharing;\r\n }\r\n for (const news of this.webListResponse.stories) {\r\n if (news.featuredEmbeddedCode) {\r\n news.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n news.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n this.storyGroups = [[]];\r\n this.groupStories(this.webListResponse.stories);\r\n }\r\n this.loader = false;\r\n this.lazyLoadingLoader = false;\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n\r\n }\r\n\r\n groupStories(stories) {\r\n let count = 0;\r\n for (const story of stories) {\r\n if (this.storyGroups[count].length >= 4) count++;\r\n if (!this.storyGroups[count]) this.storyGroups[count] = [];\r\n this.storyGroups[count].push(story);\r\n }\r\n }\r\n\r\n setColor(e?) {\r\n setTimeout(() => {\r\n const element = document.getElementsByClassName(\r\n \"current\"\r\n ) as HTMLCollectionOf;\r\n if (element[0]) {\r\n element[0].style.backgroundColor =\r\n \"\" + this.styles.style.mainIdentifyingColor;\r\n }\r\n }, 100);\r\n }\r\n\r\n showSubCategory(news) {\r\n news.subCategory = !news.subCategory;\r\n }\r\n\r\n openDropdown(id) {\r\n for (const x of this.webListResponse.stories) {\r\n if (x.storyId === id) {\r\n x.shareDropdown = !x.shareDropdown;\r\n }\r\n }\r\n }\r\n\r\n readMore(id) {\r\n localStorage.setItem(\"storyId\", JSON.stringify(id));\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.router.navigate([\r\n \"/story/\" +\r\n id.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.webListResponse.stories.find(\r\n (x) => x.staggingStoryId == id.staggingStoryId\r\n ).storyTitle\r\n ),\r\n ]);\r\n }\r\n\r\n changePage(page) {\r\n this.p = page;\r\n this.getNews(this.p);\r\n }\r\n\r\n openDateFrom() {\r\n this.dateFromButton = !this.dateFromButton;\r\n }\r\n\r\n openDateTo() {\r\n this.dateToButton = !this.dateToButton;\r\n }\r\n changeFromDate(event) {\r\n if (event.value !== null) {\r\n if (new Date(this.dateFrom).getTime() > new Date(this.dateTo).getTime()) {\r\n this.dateTo = new Date();\r\n }\r\n }\r\n }\r\n\r\n changeToDate(event) {\r\n if (event.value !== null) {\r\n if (new Date(this.dateFrom).getTime() > new Date(this.dateTo).getTime()) {\r\n const dateTo: Date = new Date(this.dateTo);\r\n this.dateFrom = new Date(dateTo.getTime());\r\n }\r\n }\r\n }\r\n\r\n onChangeBrand(id: number) {\r\n if (id == 0) {\r\n this.searchModelData.searchModel.subClientIds = [];\r\n let select = (document.getElementById('brandSelect'));\r\n select.value = '0';\r\n } else {\r\n this.searchModelData.searchModel.subClientIds = [id];\r\n }\r\n }\r\n\r\n clearFilters() {\r\n if (this.searchModelData.subClients.length > 0) {\r\n this.onChangeBrand(0);\r\n }\r\n this.searchModelData.searchModel.dateFrom = null;\r\n this.searchModelData.searchModel.dateTo = null;\r\n this.searchModelData.searchModel.searchText = '';\r\n this.selectedCustomCategory = 0;\r\n this.getNews(1, true);\r\n }\r\n\r\n toggleFilters() {\r\n this.filtersVisible = !this.filtersVisible;\r\n }\r\n}\r\n","
\r\n
\r\n

News

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ language.filterBy || \"FilterBy:\" }}\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n
\r\n
\r\n
0\">\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
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ language.applyFilters || 'Apply Filters' }}\r\n \r\n
\r\n
\r\n \r\n {{ language.clearFilters || 'Clear Filters' }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \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 {Output, Pipe, PipeTransform} from '@angular/core';\r\nimport {StorageService} from '../services/storage.service';\r\n\r\n@Pipe({\r\n name: 'search'\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n constructor(private sService: StorageService){\r\n\r\n }\r\n public transform(value, keys: string, term: string) {\r\n if (!term) {\r\n return value;\r\n }\r\n if((value || []).filter((item) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key) && new RegExp(term, 'gi')\r\n .test(item[key]))).length === 0){\r\n this.sService.setSearch(true)\r\n }\r\n else{\r\n this.sService.setSearch(false);\r\n }\r\n return (value || []).filter((item) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key) && new RegExp(term, 'gi')\r\n .test(item[key])));\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { AppComponent } from './app.component';\r\nimport { RoutesModule } from './routes/routes.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FacebookModule } from 'ngx-facebook';\r\nimport { ToastrModule, ToastContainerModule } from 'ngx-toastr';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ResetPasswordAdminComponent } from './login/reset-password-admin/reset-password-admin.component';\r\nimport { RegisterImportedComponent } from './register-imported/register-imported.component';\r\nimport { ErrorService } from \"./shared/services/error-service\";\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { OutBoundLinkClickInterceptService } from \"./shared/services/outbound-link-click-intercept.service\";\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ResetPasswordAdminComponent,\r\n RegisterImportedComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n RouterModule,\r\n RoutesModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastrModule.forRoot({\r\n positionClass: 'inline',\r\n }),\r\n ToastContainerModule,\r\n BrowserAnimationsModule,\r\n FacebookModule.forRoot(),\r\n HttpClientModule,\r\n ],\r\n providers: [ErrorService, OutBoundLinkClickInterceptService],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TokenManagerService } from \"../shared/services/token-manager.service\";\r\nimport { LoginModel, NewPasswordModel } from \"../login/login-model\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Language } from \"../models/language/language.model\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { StorageService } from \"../shared/services/storage.service\";\r\nimport { PageStyle } from \"../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../shared/services/fonts-and-colors.service\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ToastrConfig } from '../shared/helpers/toastr-config';\r\n\r\n@Component({\r\n selector: 'app-register-imported',\r\n templateUrl: './register-imported.component.html',\r\n styleUrls: ['./register-imported.component.less']\r\n})\r\nexport class RegisterImportedComponent implements OnInit {\r\n valForm: FormGroup;\r\n loader = false;\r\n data = new NewPasswordModel();\r\n patternPassword = /^\\S*$/;\r\n confirmError: boolean;\r\n language: Language;\r\n\r\n styles = new PageStyle();\r\n\r\n constructor(private fb: FormBuilder, private languageService: LanguageService, private toastr: ToastrService, private activatedRoute: ActivatedRoute, private authLoginService: TokenManagerService, private router: Router, private sService: StorageService, public fontsAndColorsService: FontsAndColorsService) {\r\n this.valForm = this.fb.group({\r\n 'new-password': [null, Validators.compose([Validators.required, Validators.pattern(this.patternPassword)])],\r\n 'confirmpassword': [null, Validators.required]\r\n });\r\n this.language = languageService.getLanguage();\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n const resetCode = params['code'];\r\n this.data.resetCode = resetCode;\r\n\r\n });\r\n\r\n // this.authLoginService.checkAuthentication(this.data.resetCode)\r\n // .subscribe(\r\n // (response) => {\r\n //\r\n // }, (error) => {\r\n // const toast: Toast = {\r\n // type: 'error',\r\n // title: 'Error',\r\n // body: 'Reset link has already been used.',\r\n // showCloseButton: true,\r\n // timeout: 5000,\r\n // closeHtml: '
'\r\n // };\r\n //\r\n // this.toasterService.pop(toast);\r\n // this.router.navigate(['./login']);\r\n // }\r\n // );\r\n }\r\n\r\n checkPassword() {\r\n if (this.valForm.controls['new-password'].value === this.valForm.controls['confirmpassword'].value) {\r\n this.confirmError = false;\r\n }\r\n }\r\n\r\n reset(e, data) {\r\n e.stopPropagation();\r\n\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n if (this.valForm.valid) {\r\n\r\n this.authLoginService.registerImported(data)\r\n .subscribe(\r\n (response: any) => {\r\n //\r\n this.toastr.success('User registered!', 'Well done!', ToastrConfig.success);\r\n // this.router.navigate(['/login']);\r\n },\r\n (error) => {\r\n const body = JSON.parse(error._body);\r\n this.toastr.error(body.message, 'Error', ToastrConfig.error);\r\n //\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

Register DNA 3 User

\r\n
\r\n
\r\n \r\n \r\n \r\n New password is required\r\n \r\n \r\n {{ language.passwordNoSpaces }}\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.confirmPasswordRequired }}\r\n \r\n {{ language.passwordsNoMatch }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { AboutService } from './about-us.service';\r\nimport { AboutUsModel } from './about-us.model';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { McService } from '../../shared/services/mc-service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { PageStyle } from '../../models/style/style.model';\r\nimport { FontsAndColorsService } from '../../shared/services/fonts-and-colors.service';\r\nimport { MetaModel } from '../../models/meta/meta';\r\nimport { LanguageService } from '../../shared/services/language.service';\r\nimport { Language } from '../../models/language/language.model';\r\nimport { BrandsManageModel, BrandsModel } from '../brands/brands-model';\r\n\r\n@Component({\r\n selector: 'app-about-us',\r\n templateUrl: './about-us.component.html',\r\n styleUrls: ['./about-us.component.less'],\r\n providers: [AboutService]\r\n})\r\nexport class AboutUsComponent implements OnInit {\r\n about = new AboutUsModel();\r\n loader: boolean;\r\n styles = new PageStyle();\r\n metadatas: MetaModel;\r\n language: Language;\r\n brandsResponse = new BrandsModel();\r\n brands: BrandsManageModel[] = [];\r\n\r\n constructor(private AboutService: AboutService, private languageService: LanguageService, private meta: Meta, private titleService: Title, private router: Router,\r\n private mcService: McService, private fontsAndColorsService: FontsAndColorsService) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n\r\n }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.getAbout();\r\n this.getBrands();\r\n }\r\n\r\n getAbout() {\r\n this.loader = true;\r\n this.AboutService.mediaCenterWebAboutUs()\r\n\r\n .subscribe((response: any) => {\r\n this.about = response;\r\n \r\n this.loader = false;\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n\r\n\r\n getBrands() {\r\n this.loader = true;\r\n this.mcService.getBrands()\r\n .subscribe((response: any) => {\r\n this.brandsResponse = response;\r\n // if (this.brandsResponse.mustRegisterToAccess && localStorage.getItem('Token') == null) {\r\n // sessionStorage.setItem('redirectUrl', '/' + window.location.pathname);\r\n // this.router.navigateByUrl('/sign-in');\r\n // }\r\n this.brands = response.clients;\r\n this.loader = false;\r\n if (this.brandsResponse.customCategories && this.brandsResponse.customCategories.length > 0)\r\n this.brandsResponse.customCategories.unshift({ id: 0, parentId: 0, label: 'All' });\r\n if (this.brandsResponse.mainCategories && this.brandsResponse.mainCategories.length > 0)\r\n this.brandsResponse.mainCategories.unshift({ id: 0, parentId: 0, label: 'All' });\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \"About\r\n
\r\n

{{about.aboutUsH1Text}}

\r\n

{{about.aboutUsH2Text}}

\r\n

{{about.aboutUsH2Text}}

\r\n
\r\n
\r\n
\r\n
\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.aboutUsSignature}}\r\n
\r\n
\r\n
\r\n \r\n
","import { Injectable } from \"@angular/core\";\r\nimport { Subject } from \"rxjs\";\r\nimport { environment } from '../../../environments/environment';\r\nimport { HttpRequestService } from \"./http-request.service\";\r\nimport { MyFilesService } from \"./my-files.service\";\r\n\r\n@Injectable()\r\nexport class DownloadBoxService {\r\n private createBoxUrl = environment.apiUrl + '/DownloadBox/Create';\r\n private getAllUrl = environment.apiUrl + '/DownloadBox/GetAll';\r\n\r\n constructor(private http: HttpRequestService, private myFiles: MyFilesService) { }\r\n\r\n createDownloadBox() {\r\n const box = this.myFiles.getMyFiles();\r\n return this.http.post(this.createBoxUrl, box);\r\n }\r\n\r\n getAll(){\r\n return this.http.get(this.getAllUrl);\r\n }\r\n}\r\n","export class BrandsModel {\r\n public customCategories: LookupModel[];\r\n public mainCategories: LookupModel[];\r\n public clients: BrandsManageModel[];\r\n public mustRegisterToDownload: boolean;\r\n public mustRegisterToAccess: boolean;\r\n public mcType: any;\r\n}\r\n\r\nexport class LookupModel {\r\n public parentId: number;\r\n public id: number;\r\n public label: string;\r\n}\r\n\r\nexport class BrandsManageModel {\r\n public logoUrl: string;\r\n public mediaCenterUrl: string;\r\n public name: string;\r\n public customCategories: LookupModel[];\r\n public mainCategories: LookupModel[];\r\n public brandHovered: boolean;\r\n}\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { LatestStoriesModel } from \"../../homepage/home-model\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-news-group\",\r\n templateUrl: \"./news-group.component.html\",\r\n styleUrls: [\"./news-group.component.less\"],\r\n})\r\nexport class NewsGroupComponent implements OnInit {\r\n @Input() group: LatestStoriesModel[];\r\n @Input() config: any;\r\n @Input() mirrored: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {}\r\n}\r\n","
\r\n
\r\n 0\" [story]=\"group[0]\" [config]=\"config\"\r\n [customClasses]=\"'two-thirds'\">\r\n 3\" [story]=\"group[3]\" [config]=\"config\"\r\n [customClasses]=\"'one-third'\">\r\n
\r\n
\r\n 1\" [story]=\"group[1]\" [config]=\"config\"\r\n [customClasses]=\"'one-half'\">\r\n 2\" [story]=\"group[2]\" [config]=\"config\"\r\n [customClasses]=\"'one-half'\">\r\n
\r\n
","import { Component, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\r\nimport { PageStyle } from '../../../models/style/style.model';\r\nimport { FontsAndColorsService } from '../../services/fonts-and-colors.service';\r\nimport { environment } from \"../../../../environments/environment\";\r\n\r\n@Component({\r\n selector: 'app-embedded-share',\r\n templateUrl: './embedded-share.component.html',\r\n styleUrls: ['./embedded-share.component.less']\r\n})\r\nexport class EmbeddedShareComponent implements OnInit {\r\n @Input() embeddedPopup: boolean;\r\n @Input() title: string;\r\n @Input() mediaId: string;\r\n @Input() isPublished: boolean = false;\r\n @Input() popupType: string = '';\r\n @Output() embeddClose = new EventEmitter();\r\n\r\n styles = new PageStyle();\r\n embeddedLink: string;\r\n isUrlCopied: boolean;\r\n\r\n constructor(private fontsAndColorsService: FontsAndColorsService) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n }\r\n\r\n @HostListener('document:keyup', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.keyCode === 27) {\r\n\r\n // this.closeEmbeddedPopup();\r\n }\r\n }\r\n\r\n closeEmbeddedPopup() {\r\n this.embeddClose.emit(false);\r\n }\r\n\r\n ngOnInit() {\r\n const headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n\r\n this.embeddedLink = '
';\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","export class LayoutModel {\r\n public clientAltLogo: string;\r\n public clientLogo: string;\r\n public headerLinks: HeaderLinksModel[];\r\n public footerLinks: FooterLinksModel[];\r\n public hasBrands: boolean;\r\n public loginWithFacebook: boolean;\r\n public loginWithTwitter: boolean;\r\n public disableRegistration: boolean;\r\n public languages: any[];\r\n public cookieNotice: string;\r\n public defaultLanguageId: number;\r\n public showFooterSocialLinks: boolean;\r\n public showHeaderSocialLinks: boolean;\r\n public socialLinkJson: string;\r\n public socialLinks: string;\r\n public footerText: string;\r\n\r\n constructor() { }\r\n}\r\n\r\nexport class HeaderLinksModel {\r\n public link: string;\r\n public url: string;\r\n\r\n //added new properties\r\n public active: boolean;\r\n\r\n constructor() { }\r\n}\r\n\r\nexport class FooterLinksModel {\r\n public link: string;\r\n public url: string;\r\n\r\n //added new properties\r\n public active: boolean;\r\n}\r\n\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","import {Component, OnInit} from '@angular/core';\r\nimport {McService} from '../shared/services/mc-service';\r\nimport {TestimonialsViewModel} from './testimonials-model';\r\nimport {Router} from '@angular/router';\r\nimport {LanguageService} from '../shared/services/language.service';\r\nimport {Language} from '../models/language/language.model';\r\nimport {PageStyle} from \"../models/style/style.model\";\r\nimport {FontsAndColorsService} from \"../shared/services/fonts-and-colors.service\";\r\n@Component({\r\n selector: 'app-testimonials',\r\n templateUrl: './testimonials.component.html',\r\n styleUrls: ['./testimonials.component.less']\r\n})\r\nexport class TestimonialsComponent implements OnInit {\r\n loader: boolean;\r\n language: Language;\r\n styles = new PageStyle();\r\n\r\n testimonialsResponse = new TestimonialsViewModel();\r\n\r\n constructor(private mcService: McService, private languageService:LanguageService, public fontsAndColorsService: FontsAndColorsService, private router: Router) {\r\n this.language = languageService.getLanguage();\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.getTestimonials();\r\n this.loader = true;\r\n\r\n }\r\n\r\n getTestimonials(){\r\n this.mcService.getTestimonials()\r\n .subscribe((response: any) => {\r\n this.testimonialsResponse = response;\r\n // if (this.testimonialsResponse.mustRegisterToAccess && localStorage.getItem('Token') == null) {\r\n // sessionStorage.setItem('redirectUrl', '/' + window.location.pathname);\r\n // this.router.navigateByUrl('/sign-in');\r\n // }\r\n this.loader = false;\r\n },\r\n (error) =>\r\n console.log(error));\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{language.testimonials}}

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

\r\n {{testimonial.name}}

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

{{(testimonial.text?.length>220)? (testimonial.text | slice:0:220)+'...':(testimonial.text)}}

\r\n
{{testimonial.date | date:\r\n 'dd MMM yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","export class DownloadModel {\r\n public downloadBoxList: DownloadBoxModel[];\r\n public mustRegisterToDownload;\r\n public mustRegisterToAccess;\r\n public hideCounters: boolean;\r\n}\r\n\r\nexport class DownloadBoxModel {\r\n public media: MediaDetailModel[];\r\n public storyTitle: string;\r\n}\r\n\r\nexport class deleteModel {\r\n public id: number;\r\n public url: string;\r\n}\r\n\r\nexport class MediaDetailModel {\r\n public media: WebManageMediaModel;\r\n public downloadLinks: DownloadMediaModel[];\r\n public storyId: number;\r\n public alsoIn: boolean;\r\n public alsoInTitle: string;\r\n public alsoInShortDescription: string;\r\n public mustRegisterToDownload: boolean;\r\n public mustRegisterToAccess: boolean;\r\n}\r\n\r\nexport class WebManageMediaModel {\r\n public id: number;\r\n public thumbUrl: string;\r\n public fullHDUrl: string;\r\n public name: string;\r\n public mediaType: string;\r\n public views: number;\r\n public downloads: number;\r\n public shared: number;\r\n public downloadLink: string;\r\n public lastDownloads: string[];\r\n public mediaLenght: number;\r\n\r\n //added new properties\r\n public checked: boolean;\r\n public addedToCart: boolean;\r\n public mediaDropdown: boolean;\r\n public shareDropdown: boolean;\r\n public shares?: number;\r\n public shareUrl?: string;\r\n public shareTitle?: string;\r\n public shareShortDescription?: string;\r\n\r\n public mediaLengthMin: number;\r\n public mediaLengthSec: number;\r\n public isPublished: boolean;\r\n\r\n // constructor(id: number, thumbUrl: string, name: string, mediaType: string, views: number, downloads: number, shared: number, downloadLink: string){\r\n // this.id = id;\r\n // this.thumbUrl = thumbUrl;\r\n // this.name = name;\r\n // this.mediaType = mediaType;\r\n // this.views = views;\r\n // this.downloads = downloads;\r\n // this.shared = shared;\r\n // this.downloadLink = downloadLink;\r\n // }\r\n\r\n}\r\n\r\nexport class DownloadMediaModel {\r\n public label: string;\r\n public downloadUrl: string;\r\n public isOriginal: string;\r\n\r\n // added properties\r\n public checked: boolean;\r\n public downloadActive: boolean;\r\n}\r\n","import { Component, Input } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { LatestStoriesModel } from \"../../../routes/homepage/home-model\";\r\nimport { WebNewsModel } from \"../../../routes/news/news-model\";\r\nimport { ButtonsHelper } from \"../../helpers/buttons-helper\";\r\nimport { UrlHelper } from \"../../helpers/url-helper\";\r\nimport { FontsAndColorsService } from \"../../services/fonts-and-colors.service\";\r\nimport { GoogleAnalyticsEventsService } from \"../../services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../services/language.service\";\r\nimport { SavedStoryService } from \"../../services/saved-story.service\";\r\nimport { TokenManagerService } from \"../../services/token-manager.service\";\r\nimport { WebpHelperService } from \"../../services/webp-helper.service\";\r\n\r\n@Component({\r\n selector: \"app-story-preview\",\r\n templateUrl: \"./story-preview.component.html\",\r\n styleUrls: [\"./story-preview.component.less\"],\r\n})\r\nexport class StoryPreviewComponent {\r\n @Input() story: LatestStoriesModel | WebNewsModel;\r\n @Input() config: any;\r\n @Input() gridClass: any = [];\r\n @Input() index: any = 0;\r\n @Input() grid: any = \"\";\r\n @Input() customClasses: string;\r\n @Input() template: number;\r\n\r\n additionalClasses: any = [];\r\n styles = new PageStyle();\r\n language: Language;\r\n user: any;\r\n newsHeadlineLength: number = 120;\r\n buttonsHelper = ButtonsHelper;\r\n currentUrl: string;\r\n showCounters = false;\r\n showCategory = true;\r\n\r\n constructor(\r\n private router: Router,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private languageService: LanguageService,\r\n private savedStoryService: SavedStoryService,\r\n public webPHelper: WebpHelperService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.showCategory = localStorage.getItem(\"hideCategories\") != \"1\";\r\n this.user = TokenManagerService.getUser();\r\n this.currentUrl = window.location.href;\r\n this.drawGrid();\r\n }\r\n\r\n ngOnChanges() {\r\n this.drawGrid();\r\n }\r\n\r\n getSource(story: LatestStoriesModel | WebNewsModel) {\r\n if (story.fullHDUrl) return story.fullHDUrl;\r\n return story.thumbUrl;\r\n }\r\n\r\n drawGrid() {\r\n this.additionalClasses = this.gridClass;\r\n if (this.grid == \"Columns2\" && (this.index + 1) % 2 == 0) {\r\n this.additionalClasses[\"no-margin-right\"] = true;\r\n }\r\n if (this.grid == \"Columns3\" && (this.index + 1) % 3 == 0) {\r\n this.additionalClasses[\"no-margin-right\"] = true;\r\n }\r\n if (this.grid == \"Columns4\" && (this.index + 1) % 4 == 0) {\r\n this.additionalClasses[\"no-margin-right\"] = true;\r\n }\r\n }\r\n\r\n readMore() {\r\n window.scrollTo(0, 0);\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"view\",\r\n \"story/\" + this.story.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.router.navigate([\r\n `/story/${this.story.staggingStoryId}/${UrlHelper.getUrlTitle(\r\n this.story.storyTitle\r\n )}`,\r\n ]);\r\n if (window.location.pathname === \"/\") {\r\n this.googleAnalytics.emitArticleEvent(\r\n \"homepage\",\r\n this.story.staggingStoryId\r\n );\r\n }\r\n this.googleAnalytics.emitReadMoreEvent(\r\n \"grid\",\r\n this.story.storyTitle,\r\n `/story/${this.story.staggingStoryId}/${UrlHelper.getUrlTitle(\r\n this.story.storyTitle\r\n )}`\r\n );\r\n }\r\n\r\n getStoryUrl() {\r\n return `/story/${this.story.staggingStoryId}/${UrlHelper.getUrlTitle(\r\n this.story.storyTitle\r\n )}`;\r\n }\r\n\r\n showSubCategory(news) {\r\n news.subCategory = !news.subCategory;\r\n }\r\n\r\n multupleFileTypes() {\r\n let array = [\r\n this.story.images,\r\n this.story.video,\r\n this.story.document,\r\n this.story.audio,\r\n ];\r\n return array.filter((a) => a != 0).length > 1;\r\n }\r\n\r\n toggleSavedStory(storyId) {\r\n if (this.inSavedStories(storyId))\r\n this.savedStoryService\r\n .remove(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n else\r\n this.savedStoryService\r\n .add(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n inSavedStories(storyId) {\r\n return this.savedStoryService.inSavedStories(storyId);\r\n }\r\n\r\n titleMaxLength: number = 149;\r\n\r\n shortenTitle(title) {\r\n if (title == null || title == undefined) {\r\n return \"\";\r\n }\r\n\r\n if (title.length > this.titleMaxLength) {\r\n return title.substring(0, this.titleMaxLength) + \"...\";\r\n }\r\n\r\n return title;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \"Story\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ story.category[0] }}\r\n
\r\n
\r\n
\r\n
\r\n {{ story.views }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ language.addStoryToFav }}\r\n
\r\n\r\n 0\" [image]=\"story.thumbUrl\" [title]=\"story.storyTitle\"\r\n [description]=\"story.shortDescription\" [big]=\"false\" [horizontal]=\"true\" [shared]=\"story.shared\"\r\n [sbUrl]=\"getStoryUrl()\" [staggingStoryId]=\"story.staggingStoryId\" [mediaId]=\"story.mediaId\"\r\n [storyId]=\"story.storyId\" [socials]=\"config.socialSharing\">\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{ story.publishedDate | date : \"dd MMMM yyyy\" }}\r\n
\r\n
\r\n {{ shortenTitle(story.storyTitle) }}\r\n
\r\n
\r\n {{ story.publishedDate | date : \"dd MMMM yyyy\" }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {{ language.readMore }}\r\n \r\n\r\n \r\n \r\n\r\n 0\" [image]=\"story.thumbUrl\" [title]=\"story.storyTitle\"\r\n [description]=\"story.shortDescription\" [big]=\"false\" [vertical]=\"true\" [shared]=\"story.shared\"\r\n [sbUrl]=\"getStoryUrl()\" [staggingStoryId]=\"story.staggingStoryId\" [mediaId]=\"story.mediaId\"\r\n [storyId]=\"story.storyId\" [socials]=\"config.socialSharing\">\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { McService } from \"../../services/mc-service\";\r\nimport { GoogleAnalyticsEventsService } from \"../../services/google-analytics-events.service\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport { LanguageService } from \"../../services/language.service\";\r\nimport { WebNewsDetailsMediaModel } from \"../../../routes/news/news-model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { TokenManagerService } from \"../../services/token-manager.service\";\r\nimport { DownloadAddToModel } from \"../../../routes/media/media-model\";\r\nimport { ButtonsHelper } from \"../../helpers/buttons-helper\";\r\nimport { MyFilesService } from \"../../services/my-files.service\";\r\nimport { WebpHelperService } from \"../../services/webp-helper.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MyFilesModel } from \"../../services/my-files-model\";\r\n@Component({\r\n selector: \"app-media-file\",\r\n templateUrl: \"./media-file.component.html\",\r\n styleUrls: [\"./media-file.component.less\"],\r\n})\r\nexport class MediaFileComponent implements OnInit {\r\n @Input() media: WebNewsDetailsMediaModel;\r\n @Input() config: any;\r\n @Input() gridClass: any = {};\r\n @Input() index: any = 0;\r\n @Input() grid: any = \"\";\r\n @Input() fullWidth: any = false;\r\n @Input() showExternally: any = false;\r\n @Input() full: boolean = false;\r\n @Input() newsDetail: boolean = false;\r\n @Input() customClasses: string;\r\n @Input() template: number;\r\n @Output() dataEvent = new EventEmitter();\r\n\r\n additionalClasses: any = [];\r\n styles = new PageStyle();\r\n language: Language;\r\n popup: boolean;\r\n autoplay: boolean;\r\n loader = false;\r\n loginPopup = false;\r\n downloading = false;\r\n mediaId: number;\r\n disabledButton: boolean;\r\n user: any;\r\n buttonsHelper = ButtonsHelper;\r\n cartItems: MyFilesModel = new MyFilesModel([], []);\r\n shareUrl: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private mcService: McService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private myFilesService: MyFilesService,\r\n private languageService: LanguageService,\r\n public webPHelper: WebpHelperService\r\n ) {\r\n this.language = languageService.getLanguage();\r\n }\r\n\r\n ngOnInit() {\r\n this.user = TokenManagerService.getUser();\r\n this.cartItems = this.myFilesService.getMyFiles();\r\n if (this.cartItems && this.cartItems.isInMyFiles(this.media.id, this.media.isPublished)) {\r\n this.media.addedToCart = true;\r\n } else {\r\n this.media.addedToCart = false;\r\n }\r\n this.isPublished = this.media.isPublished;\r\n //current url (not the route http://localhost:4200/media-library => http://localhost:4200/)+ media.relativeShareUrl\r\n this.shareUrl = window.location.origin + this.media.relativeShareUrl;\r\n this.drawGrid();\r\n }\r\n\r\n ngOnChanges() {\r\n this.drawGrid();\r\n }\r\n\r\n getSource(media: WebNewsDetailsMediaModel) {\r\n if (media.fullHDUrl) return media.fullHDUrl;\r\n return media.thumbUrl;\r\n }\r\n\r\n drawGrid() {\r\n this.additionalClasses = this.gridClass;\r\n this.additionalClasses[\"media-box\"] = true;\r\n }\r\n\r\n isPublished: boolean = false;\r\n\r\n openMediaPopup(autoplay = false) {\r\n this.autoplay = autoplay;\r\n this.mediaId = this.media.id;\r\n this.isPublished = this.media.isPublished;\r\n this.popup = true;\r\n this.media.views++;\r\n\r\n if (this.showExternally) {\r\n console.log(this.media);\r\n this.dataEvent.emit({ mediaId: this.mediaId, isPublished: this.isPublished });\r\n }\r\n }\r\n\r\n handleImageError(event: Event) {\r\n const imgElement = event.target as HTMLImageElement;\r\n imgElement.src = \"/src/assets/files/placeholder.jpg\";\r\n }\r\n\r\n onLogin(state) {\r\n if (state) {\r\n this.download();\r\n }\r\n }\r\n\r\n download() {\r\n if (\r\n this.config.mustRegisterToDownload &&\r\n !this.config.anonymousShare &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n let component = this;\r\n component.disabledButton = true;\r\n this.downloading = true;\r\n this.http\r\n .get(this.media.downloadLink, { responseType: \"blob\" })\r\n .toPromise()\r\n .then(\r\n (blob: Blob) => {\r\n let filename = this.media.name;\r\n saveAs(blob, filename);\r\n this.downloading = false;\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n this.googleAnalytics.emitEvent(\r\n \"FileDownload\",\r\n \"FileDownload\",\r\n \"Download\",\r\n filename + \" | \" + this.config.storyTitle\r\n );\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n addDownload() {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n let niz = new DownloadAddToModel();\r\n if (this.isPublished) {\r\n niz.publishedMediaIds = [this.media.id];\r\n niz.storyMediaIds = [];\r\n niz.publishedMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download-pm\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n } else {\r\n niz.storyMediaIds = [this.media.id];\r\n niz.publishedMediaIds = [];\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n }\r\n\r\n niz.userId = this.user.id;\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n sendToCart() {\r\n if (\r\n this.config.mustRegisterToDownload &&\r\n !this.config.anonymousShare &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n this.loginPopup = true;\r\n return;\r\n }\r\n console.log(this.media);\r\n if (!!this.cartItems && !this.cartItems.isInMyFiles(this.media.id, this.media.isPublished)) {\r\n this.media.addedToCart = true;\r\n this.media.checked = false;\r\n this.myFilesService.pushMyFiles(this.media.id, this.media.isPublished);\r\n this.cartItems = this.myFilesService.getMyFiles();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \"Story\r\n \r\n
\r\n
\r\n \"{{\r\n
\r\n
\r\n
\r\n
\r\n \"{{\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ language.expand }}\r\n
\r\n\r\n
\r\n \r\n {{ language.addToFiles }}\r\n
\r\n\r\n
\r\n \r\n {{ language.download }}\r\n \r\n
\r\n\r\n 0 &&\r\n (config?.storyTitle || media.name) && media.relativeShareUrl != null\r\n \" [image]=\"media.thumbUrl\" [big]=\"false\" [vertical]=\"customClasses == 'news-detail-media-file'\"\r\n [shared]=\"media.shares\" [sbUrl]=\"shareUrl\" [title]=\"config?.storyTitle || media.name\"\r\n [description]=\"config?.shortDescription\" [mediaId]=\"media.id\" [webNewsDetailsResponse]=\"config\"\r\n [isMediaShare]=\"true\" [isMediaShareVertical]=\"true\" [socials]=\"config.socialSharing\"\r\n [isPublished]=\"isPublished\">\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{ media.name }}\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n {{ language.addToMyFiles }}\r\n {{ language.addedToMyFiles }}\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n

\r\n {{media.name}}\r\n

\r\n

{{media.mediaType}}

\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Stories\r\n
\r\n
\r\n Media Library\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
","import {\r\n Component,\r\n OnInit,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n HostListener,\r\n ElementRef,\r\n AfterViewInit,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport {\r\n AlgoliaNewsRecords,\r\n AlgoliaMediaRecords,\r\n ClientLookupModel,\r\n SearchModel,\r\n SearchResultModel,\r\n WebSearchModel,\r\n} from \"./search-model\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { LayoutModel } from \"../../layout/layout-model\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { timeStamp } from \"console\";\r\nimport { AlgoliaService } from \"../../shared/services/algolia.service\";\r\n\r\n@Component({\r\n selector: \"app-search\",\r\n templateUrl: \"./search.component.html\",\r\n styleUrls: [\"./search.component.less\"],\r\n})\r\nexport class SearchComponent implements OnInit {\r\n @Input() layoutResponseModel: LayoutModel;\r\n @Input() search: boolean;\r\n @Input() template: number;\r\n @Output() searchChange = new EventEmitter();\r\n @Output() openDateFromEmitter = new EventEmitter();\r\n storiesAndMedia: boolean;\r\n stories: boolean;\r\n mediaId: number;\r\n popup: boolean;\r\n media: boolean;\r\n loader: boolean;\r\n language: Language;\r\n showingResults: boolean;\r\n\r\n dateFrom: Date = null;\r\n dateTo: Date = null;\r\n\r\n dateFromButton: boolean;\r\n dateToButton: boolean;\r\n\r\n result: any;\r\n styles = new PageStyle();\r\n headerFooter: any;\r\n searchModelData = new SearchModel();\r\n searchResultStories = new SearchResultModel();\r\n searchResultMedia = new SearchResultModel();\r\n checked = false;\r\n checkedb = false;\r\n searchFrom = \"stories\";\r\n\r\n constructor(\r\n private algoliaService: AlgoliaService,\r\n private mcService: McService,\r\n private languageService: LanguageService,\r\n private router: Router,\r\n private storageService: StorageService,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private elRef: ElementRef,\r\n private sanitizer: DomSanitizer,\r\n private googleAnalytics: GoogleAnalyticsEventsService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n router.events.subscribe((val: any) => {\r\n if (val?.urlAfterRedirects) {\r\n this.closeSearch();\r\n }\r\n });\r\n }\r\n\r\n isPublished: boolean;\r\n receiveDataFromChild(event) {\r\n this.popup = true;\r\n this.mediaId = event.mediaId;\r\n this.isPublished = event.isPublished;\r\n }\r\n\r\n openPopup(id: number) {\r\n this.popup = true;\r\n this.mediaId = id;\r\n }\r\n\r\n @HostListener(\"document:keyup\", [\"$event\"])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (this.search) {\r\n if (event.keyCode === 27) {\r\n this.closeSearch();\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.headerFooter = JSON.parse(localStorage.getItem(\"headerfooter\"));\r\n this.getSearch();\r\n\r\n this.mcService.searchMcStories(this.searchModelData.searchModel).subscribe(\r\n (response: any) => {\r\n this.searchResultStories = response;\r\n },\r\n (error) => {\r\n this.searchModelData.searchModel.stories = false;\r\n }\r\n );\r\n this.mcService.searchMcMedia(this.searchModelData.searchModel).subscribe(\r\n (response: any) => {\r\n this.searchResultMedia = response;\r\n },\r\n (error) => {\r\n this.searchModelData.searchModel.media = false;\r\n }\r\n );\r\n }\r\n\r\n getSearch() {\r\n this.mcService.getSearch().subscribe(\r\n (response: any) => {\r\n this.searchModelData = response;\r\n this.searchModelData.searchModel = new WebSearchModel();\r\n this.searchModelData.searchModel.pageSize = 12;\r\n if (localStorage.getItem(\"searchModel\") !== null) {\r\n this.searchModelData.searchModel = JSON.parse(\r\n localStorage.getItem(\"searchModel\")\r\n );\r\n if (this.searchModelData.subClients == null)\r\n this.searchModelData.subClients = [];\r\n if (this.searchModelData.searchModel.stories)\r\n this.searchFrom = \"stories\";\r\n if (this.searchModelData.searchModel.media) this.searchFrom = \"media\";\r\n this.searchModelData.subClients.forEach(\r\n (x) =>\r\n (x.checked =\r\n this.searchModelData.searchModel.subClientIds.indexOf(x.id) >\r\n -1)\r\n );\r\n } else {\r\n this.setSearchFrom(this.searchFrom);\r\n }\r\n this.loader = false;\r\n },\r\n (error) => {\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n\r\n wipeSearch() {\r\n this.searchModelData.searchModel.searchText = \"\";\r\n this.setSearchString();\r\n }\r\n\r\n setSearchString() {\r\n this.clearResults();\r\n let searchString = this.searchModelData.searchModel.searchText;\r\n if (searchString.length > 2) {\r\n this.showingResults = true;\r\n this.loader = true;\r\n const delayDebounceFn = setTimeout(() => {\r\n this.searchMc();\r\n }, 250);\r\n return () => clearTimeout(delayDebounceFn);\r\n } else {\r\n this.showingResults = false;\r\n }\r\n }\r\n\r\n handleClick(e) {\r\n if (\r\n e.target.classList.contains(\"search-box\") ||\r\n e.target.classList.contains(\"all-results\")\r\n ) {\r\n this.closeSearch();\r\n }\r\n }\r\n\r\n showStories() {\r\n if (!this.searchModelData.searchModel.stories || true) {\r\n this.searchModelData.searchModel.stories = true;\r\n this.searchModelData.searchModel.media = false;\r\n this.storageService.setSearchModel(this.searchModelData.searchModel);\r\n if (this.searchResultStories.stories?.length == 0) this.searchMc();\r\n }\r\n }\r\n\r\n showMedia() {\r\n if (!this.searchModelData.searchModel.media || true) {\r\n this.searchModelData.searchModel.stories = false;\r\n this.searchModelData.searchModel.media = true;\r\n this.storageService.setSearchModel(this.searchModelData.searchModel);\r\n if (this.searchResultMedia.media?.length == 0) this.searchMc();\r\n }\r\n }\r\n\r\n async searchMc() {\r\n this.loader = true;\r\n localStorage.setItem(\r\n \"searchModel\",\r\n JSON.stringify(this.searchModelData.searchModel)\r\n );\r\n this.searchModelData.searchModel.page = 1;\r\n if (this.searchModelData.searchModel.stories) {\r\n this.searchModelData.searchModel.languageId = Number(\r\n localStorage.getItem(\"lng\")\r\n );\r\n const response = await this.algoliaService.searchStories(\r\n this.searchModelData.searchModel.searchText,\r\n this.searchModelData.searchModel.page\r\n );\r\n const hits: AlgoliaNewsRecords[] = response.hits;\r\n this.searchResultStories.stories = hits\r\n .map((hit) => AlgoliaNewsRecords.convertToWebNewsModel(hit))\r\n .filter((story) => story?.fullHDUrl || story?.thumbUrl);\r\n this.searchResultStories.maxPages = response.nbPages;\r\n\r\n for (const result of this.searchResultStories.stories) {\r\n if (result.featuredEmbeddedCode) {\r\n result.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n result.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n this.checkMustBeRegistered(\r\n this.searchResultStories?.mustRegisterToAccess\r\n );\r\n this.storageService.setSearchModel(this.searchModelData.searchModel);\r\n }\r\n\r\n if (this.searchModelData.searchModel.media) {\r\n const response = await this.algoliaService.searchMedia(\r\n this.searchModelData.searchModel.searchText,\r\n this.searchModelData.searchModel.page\r\n );\r\n const hits: AlgoliaMediaRecords[] = response.hits;\r\n this.searchResultMedia.media = hits.map((hit) =>\r\n AlgoliaMediaRecords.convertToWebManageMediaModel(hit)\r\n );\r\n this.searchResultMedia.maxPages = response.nbPages;\r\n this.checkMustBeRegistered(this.searchResultMedia?.mustRegisterToAccess);\r\n this.storageService.setSearchModel(this.searchModelData.searchModel);\r\n }\r\n }\r\n\r\n checkMustBeRegistered(mustRegisterToAccess) {\r\n if (\r\n mustRegisterToAccess === true &&\r\n localStorage.getItem(\"Token\") == null\r\n ) {\r\n this.closeSearch();\r\n this.loader = false;\r\n sessionStorage.setItem(\"redirectUrl\", \"/\" + window.location.pathname);\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n if (this.searchModelData.searchModel.media)\r\n this.storageService.setSearchItemMedia(this.searchResultMedia);\r\n else this.storageService.setSearchItemStories(this.searchResultStories);\r\n this.loader = false;\r\n }\r\n }\r\n\r\n closeSearch() {\r\n this.searchChange.emit(false);\r\n localStorage.setItem(\r\n \"searchModel\",\r\n JSON.stringify(this.searchModelData.searchModel)\r\n );\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.style.position = \"inherit\";\r\n }\r\n\r\n clearResults() {\r\n this.searchResultStories.stories = [];\r\n this.searchResultStories.maxPages = 0;\r\n this.storageService.setSearchItemStories(this.searchResultStories);\r\n this.searchResultMedia.media = [];\r\n this.searchResultMedia.maxPages = 0;\r\n this.storageService.setSearchItemMedia(this.searchResultMedia);\r\n }\r\n\r\n setSearchFrom(tab) {\r\n this.searchFrom = tab;\r\n this.searchModelData.searchModel.media = tab != \"stories\";\r\n this.searchModelData.searchModel.stories = tab != \"media\";\r\n if (this.searchModelData.searchModel.media) {\r\n this.searchModelData.searchModel.images = true;\r\n this.searchModelData.searchModel.video = true;\r\n this.searchModelData.searchModel.document = true;\r\n this.searchModelData.searchModel.audio = true;\r\n } else {\r\n this.searchModelData.searchModel.images = false;\r\n this.searchModelData.searchModel.video = false;\r\n this.searchModelData.searchModel.document = false;\r\n this.searchModelData.searchModel.audio = false;\r\n }\r\n }\r\n\r\n clearAll() {\r\n this.clearResults();\r\n this.setSearchFrom(\"stories\");\r\n localStorage.removeItem(\"searchModel\");\r\n }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { LayoutModel } from \"../layout/layout-model\";\r\nimport { ActivatedRoute, NavigationEnd, Params, Router } from \"@angular/router\";\r\nimport { TokenManagerService } from \"../shared/services/token-manager.service\";\r\nimport { StorageService } from \"../shared/services/storage.service\";\r\nimport { McService } from \"../shared/services/mc-service\";\r\nimport { environment } from \"../../environments/environment\";\r\nimport { FontsAndColorsService } from \"../shared/services/fonts-and-colors.service\";\r\nimport { PageStyle } from \"../models/style/style.model\";\r\nimport { MetaModel } from \"../models/meta/meta\";\r\nimport { Meta, Title } from \"@angular/platform-browser\";\r\nimport { Language } from \"../models/language/language.model\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { CommunicationService } from \"../shared/services/communication.service\";\r\nimport { ButtonsHelper } from \"../shared/helpers/buttons-helper\";\r\nimport { MyFilesService } from \"../shared/services/my-files.service\";\r\nimport { GoogleAnalyticsEventsService } from \"../shared/services/google-analytics-events.service\";\r\nimport { SearchComponent } from \"./search/search.component\";\r\nimport { MyFilesModel } from \"../shared/services/my-files-model\";\r\n\r\n@Component({\r\n selector: \"app-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.less\"],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n @Input() layoutResponseModel: LayoutModel;\r\n @Input() metadatas: MetaModel[];\r\n @ViewChild('appSearch') searchChild: SearchComponent;\r\n @ViewChild(\"logoFlag\") logoFlag: ElementRef;\r\n styles: PageStyle;\r\n search: boolean;\r\n mobileNav: boolean;\r\n showDropdown: boolean;\r\n showMobDropdown: boolean;\r\n loggedUserName = \"\";\r\n mustRegister: boolean;\r\n anonymousShare: boolean;\r\n cms: any;\r\n user: any;\r\n loader: boolean;\r\n loginActive = false;\r\n loginColor: any;\r\n signinActive = false;\r\n signinColor: any;\r\n logo = \"\";\r\n language: Language;\r\n mobileLanguageDropdown = false;\r\n brandsColor: any;\r\n brandsActive = false;\r\n showDropdownLng = false;\r\n activeLng = \"English\";\r\n sLng: number;\r\n fromBrandsUrl: string;\r\n biggerLogo = false;\r\n invertColors = true;\r\n socialLinkObjects: any;\r\n showMyFiles: boolean = false;\r\n buttonsHelper = ButtonsHelper;\r\n cart: MyFilesModel = new MyFilesModel([], []);\r\n loggedUserEmail: any;\r\n markets = [];\r\n\r\n invertedHeaderRoutesExact: string[] = [\"/\", \"/home\", \"/about-us\", \"story\"];\r\n invertedHeaderRoutesPartial: string[] = [\"story\"];\r\n\r\n constructor(\r\n private router: Router,\r\n private mcService: McService,\r\n private authService: TokenManagerService,\r\n private languageService: LanguageService,\r\n private titleService: Title,\r\n private meta: Meta,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private communicationsService: CommunicationService,\r\n private storageService: StorageService,\r\n private myFilesService: MyFilesService,\r\n private googleAnalytics: GoogleAnalyticsEventsService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.myFilesService.files.subscribe((myFiles) => {\r\n this.cart = myFiles;\r\n });\r\n if (this.router.url.indexOf(\"brands\") > 0) {\r\n this.brandsActive = true;\r\n this.brandsColor = this.styles.style.mainIdentifyingColor;\r\n }\r\n\r\n this.checkRouteForHeader();\r\n\r\n const component = this;\r\n this.communicationsService.fromBrands.subscribe((url: string) => {\r\n if (url) {\r\n setTimeout(() => {\r\n url = url.replace(/%2F/, \"/\");\r\n url = url.replace(/%2F/, \"/\");\r\n url = url.replace(/%3A/, \":\");\r\n component.fromBrandsUrl = url;\r\n });\r\n }\r\n });\r\n\r\n this.languageService.languageId.subscribe((languageId: number) => {\r\n this.sLng = languageId;\r\n this.getLng(this.sLng);\r\n });\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.storageService.getMustRegister().subscribe((mustRegister) => {\r\n component.mustRegister = mustRegister;\r\n });\r\n this.storageService.getAnonymousShare().subscribe((anonymousShare) => {\r\n component.anonymousShare = anonymousShare;\r\n });\r\n }\r\n\r\n checkRouteForHeader() {\r\n this.checkIsInvertedHeader(this.router.url);\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.checkIsInvertedHeader(event.url);\r\n }\r\n });\r\n }\r\n\r\n checkIsInvertedHeader(route: string) {\r\n const oneExact = this.invertedHeaderRoutesExact.some((r) => r == route);\r\n const onePartial = this.invertedHeaderRoutesPartial.some(\r\n (r) => route.indexOf(r) > 0\r\n );\r\n this.invertColors = oneExact || onePartial;\r\n }\r\n\r\n currentMarket;\r\n\r\n ngOnInit() {\r\n var actualWebsite: String = window.location.origin;\r\n\r\n this.cart = this.myFilesService.getMyFiles();\r\n this.language = this.languageService.getLanguage();\r\n\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.getLng(this.sLng);\r\n\r\n this.storageService.getName().subscribe((term) => {\r\n this.loggedUserName = term;\r\n this.showDropdown = false;\r\n this.user = TokenManagerService.getUser();\r\n this.loggedUserEmail = this.user.email;\r\n });\r\n this.user = TokenManagerService.getUser();\r\n this.loggedUserName = this.user.fullName;\r\n this.loggedUserEmail = this.user.email;\r\n\r\n this.search = false;\r\n this.mobileNav = false;\r\n\r\n this.socialLinkObjects = JSON.parse(\r\n this.layoutResponseModel.socialLinkJson\r\n );\r\n if (\r\n this.socialLinkObjects !== null &&\r\n this.socialLinkObjects !== undefined\r\n ) {\r\n this.socialLinkObjects = this.socialLinkObjects.map((o) => {\r\n o.name = o.name.toLowerCase();\r\n o.link = this.checkLinkPrefix(o.link);\r\n return o;\r\n });\r\n } else {\r\n this.socialLinkObjects = [];\r\n }\r\n this.mcService.getMarkets().subscribe((markets: any) => {\r\n this.markets = markets;\r\n //check according to current url which market is active, ignoring cases, protocol and www, query params, everything after /, just the domain\r\n let currentDomain = window.location.href.toLowerCase();\r\n currentDomain = currentDomain.replace(/(^\\w+:|^)\\/\\//, \"\");\r\n currentDomain = currentDomain.replace(/www./, \"\");\r\n currentDomain = currentDomain.replace(/\\/.*/, \"\");\r\n this.markets.forEach((market) => {\r\n let marketUrl = market.url.toLowerCase();\r\n marketUrl = marketUrl.replace(/(^\\w+:|^)\\/\\//, \"\");\r\n marketUrl = marketUrl.replace(/www./, \"\");\r\n marketUrl = marketUrl.replace(/\\/.*/, \"\");\r\n if (marketUrl === currentDomain) {\r\n this.currentMarket = market;\r\n }\r\n });\r\n });\r\n }\r\n\r\n closeMyFiles(event) {\r\n if (event.target.id !== \"myFilesNav\") this.showMyFiles = false;\r\n }\r\n\r\n openMyFiles() {\r\n this.closeNav();\r\n this.showMyFiles = true;\r\n }\r\n\r\n checkLinkPrefix(link: string) {\r\n if (link.includes(\"http://\") || link.includes(\"https://\")) {\r\n return link;\r\n } else {\r\n return `http://${link}`;\r\n }\r\n }\r\n\r\n onLoad() {\r\n const width = (this.logoFlag.nativeElement as HTMLImageElement)\r\n .naturalWidth;\r\n const height = (this.logoFlag.nativeElement as HTMLImageElement)\r\n .naturalHeight;\r\n\r\n if (width > 4 * height) {\r\n this.biggerLogo = true;\r\n } else {\r\n this.biggerLogo = false;\r\n }\r\n }\r\n\r\n getLng(languageId) {\r\n if (this.layoutResponseModel) {\r\n for (let i = 0; i < this.layoutResponseModel.languages.length; i++) {\r\n if (languageId == this.layoutResponseModel.languages[i].id) {\r\n this.activeLng = this.layoutResponseModel.languages[i].label;\r\n }\r\n if (languageId == 0) {\r\n this.activeLng = \"English\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n translate(id, label) {\r\n this.loader = true;\r\n this.activeLng = label;\r\n\r\n this.languageService.setLanguageId(id);\r\n\r\n this.router.navigateByUrl(\"/home\");\r\n location.reload();\r\n }\r\n\r\n changeColor(e, color, link) {\r\n if (link && !link.active) {\r\n e.target.style.color = color;\r\n }\r\n }\r\n\r\n changeColorr(e, link) {\r\n if (link && !link.active) {\r\n e.target.style.color = this.styles.style.textLinkHoverColor;\r\n }\r\n }\r\n\r\n changeColorCustomLink(e, color) {\r\n if (!this.brandsActive) {\r\n e.target.style.color = \"#3a3a3a\";\r\n }\r\n }\r\n\r\n changeColorrCustomLink(e, link) {\r\n if (!this.brandsActive) {\r\n e.target.style.color = this.styles.style.textLinkHoverColor;\r\n }\r\n }\r\n\r\n changeColorLinkBack(e, color) {\r\n e.target.style.color = this.styles.style.textH2Color;\r\n }\r\n\r\n changeColorLink(e) {\r\n e.target.style.color = this.styles.style.mainIdentifyingColor;\r\n }\r\n\r\n redirectToCms() {\r\n this.mcService.redirectToCms(this.user.cmsUser).subscribe(\r\n (response: any) => {\r\n window.open(environment.cmsUrl + response.token, \"_blank\");\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n this.user = TokenManagerService.getUser();\r\n this.myFilesService.setMyFiles(this.myFilesService.getFiles());\r\n this.loggedUserName = this.user.fullName;\r\n this.loggedUserEmail = this.user.email;\r\n if (this.mustRegister) {\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n this.router.navigateByUrl(\"/home\");\r\n }\r\n }\r\n\r\n showProfile() {\r\n this.showDropdown = !this.showDropdown;\r\n }\r\n\r\n showLanguage() {\r\n this.showDropdownLng = !this.showDropdownLng;\r\n }\r\n\r\n showDropdownMarkets: boolean = false;\r\n\r\n showMarkets() {\r\n this.showDropdownMarkets = !this.showDropdownMarkets;\r\n }\r\n\r\n showMobileLanguage() {\r\n this.mobileLanguageDropdown = !this.mobileLanguageDropdown;\r\n }\r\n\r\n showMobileProfile() {\r\n this.showMobDropdown = !this.showMobDropdown;\r\n }\r\n\r\n editProfile() {\r\n this.router.navigateByUrl(\"/profile\");\r\n }\r\n\r\n reroute(url) {\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.brandsActive = false;\r\n this.brandsColor = this.styles.style.textHeaderColor;\r\n const index = this.layoutResponseModel.headerLinks.indexOf(url);\r\n if (url.url.indexOf(\"http\") > -1) {\r\n window.open(url.url, \"_blank\");\r\n } else {\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.router.navigateByUrl(url.url);\r\n url.active = true;\r\n }\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n url.link\r\n );\r\n }\r\n\r\n activeLink() {\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.headerLinks.forEach((x) => {\r\n if (\"/\" + x.url === \"/home\") {\r\n x.active = true;\r\n } else {\r\n x.active = false;\r\n }\r\n });\r\n }\r\n\r\n rerouteToLogin(text: string) {\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.googleAnalytics.emitEvent(\"MenuClick\", \"MenuOption\", text);\r\n }\r\n\r\n rerouteToBrands() {\r\n this.brandsActive = true;\r\n this.brandsColor = this.styles.style.mainIdentifyingColor;\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n }\r\n\r\n showSearch() {\r\n this.search = true;\r\n this.searchChild?.wipeSearch();\r\n const input = document.getElementById(\"story-search-big\");\r\n setTimeout(() => {\r\n input.focus();\r\n }, 250);\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.style.position = \"fixed\";\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n this.language.search\r\n );\r\n }\r\n\r\n openMobileNav() {\r\n this.mobileNav = true;\r\n }\r\n\r\n closeNav() {\r\n this.mobileNav = false;\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdown = false;\r\n }\r\n }\r\n\r\n onClickOutsidee(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdownLng = false;\r\n }\r\n }\r\n\r\n onClickOutsideMarkets(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdownMarkets = false;\r\n }\r\n }\r\n\r\n goToMarket(market: any) {\r\n let url = market.url;\r\n this.loader = true;\r\n const currentProtocol = window.location.protocol;\r\n if (url.indexOf(\"http\") == -1 && url.indexOf(\"https\") == -1) {\r\n url = currentProtocol + \"//\" + url;\r\n }\r\n this.mcService.redirectToMarket().subscribe(\r\n (response: any) => {\r\n const token = response.token;\r\n window.location.href = url + '?token=' + token;\r\n },\r\n (error) => {\r\n window.location.href = url;\r\n }\r\n );\r\n }\r\n\r\n showFiles() {\r\n this.showMyFiles = !this.showMyFiles;\r\n if (this.showMyFiles)\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n this.language.myFiles || this.language.myFiles\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {{ language.searchHere }} \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n SEARCH\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ link.link }}\r\n
\r\n
\r\n \r\n
\r\n {{ language.brands }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ language.myFiles || language.myFiles }} ({{\r\n cart ? cart.length || 0 : 0\r\n }})\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n {{ currentMarket == null ? 'Markets' : currentMarket.marketName }}\r\n
\r\n
\r\n
\r\n
\r\n {{ market.marketName }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
1\">\r\n
\r\n {{ activeLng }}\r\n
\r\n
\r\n
\r\n
\r\n {{ lng.label }}\r\n
\r\n
\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 } from \"@angular/core\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport { DownloadAddToModel, MediaModel } from \"./media-model\";\r\nimport { WebManageMediaModel } from \"../../download/download-model\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { saveAs } from \"file-saver\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport * as JSZip from \"jszip\";\r\nimport * as JSZipUtils from \"jszip-utils\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { Location } from \"@angular/common\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { SearchModel, WebSearchModel } from \"../../header/search/search-model\";\r\nimport { MyFilesService } from \"../../shared/services/my-files.service\";\r\nimport { DoCheck, KeyValueDiffers, KeyValueDiffer } from \"@angular/core\";\r\nimport { WebNewsDetailsMediaModel } from \"../news/news-model\";\r\nimport { MyFilesModel } from \"../../shared/services/my-files-model\";\r\nimport { forkJoin } from \"rxjs\";\r\nimport { AlgoliaService } from \"../../shared/services/algolia.service\";\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-media\",\r\n templateUrl: \"./media.component.html\",\r\n styleUrls: [\"./media.component.less\"],\r\n})\r\nexport class MediaComponent implements OnInit {\r\n selectedType: any;\r\n media: any[];\r\n forDownload: any[] = [];\r\n downloadIds: any[] = [];\r\n mediaId: number;\r\n activeSubTab: number = 1;\r\n cartItems: MyFilesModel;\r\n disabledButton: boolean;\r\n loader: boolean;\r\n filterDropdown: boolean;\r\n filtered: WebManageMediaModel[];\r\n grid: string;\r\n p = 1;\r\n itemsPerPage: number = 12;\r\n autoplay: boolean;\r\n mediaDropdown: boolean;\r\n all = true;\r\n image: boolean;\r\n video: boolean;\r\n document: boolean;\r\n audio: boolean;\r\n popup = false;\r\n loginPopup: boolean;\r\n mediaModelResponse = new MediaModel();\r\n styles = new PageStyle();\r\n user: any;\r\n activeAllTab = false;\r\n activeTab = false;\r\n activeImageTab = false;\r\n activeVideoTab = false;\r\n activeDocumentsTab = false;\r\n activeAudioTab = false;\r\n socials: string[] = [];\r\n addDownloadModel: DownloadAddToModel;\r\n activeAll = true;\r\n activeImage = false;\r\n activeVideo = false;\r\n activeDoc = false;\r\n activeAudio = false;\r\n totalItems: number;\r\n mediaNameLength: number;\r\n allActive = false;\r\n imageActive = false;\r\n videoActive = false;\r\n docActive = false;\r\n audioActive = false;\r\n language: Language;\r\n buttonsHelper = ButtonsHelper;\r\n sLng: number;\r\n filtersVisible = false;\r\n\r\n mediaMinute: number;\r\n mediaSecond: number;\r\n\r\n whiteShareStyle = true;\r\n\r\n callGetAllData = true;\r\n downloadActive = false;\r\n downloadSubscription: any;\r\n cancelDownloads = false;\r\n lazyLoadingLoader = false;\r\n maxPageMedia = 1;\r\n showFilter = false;\r\n searchModelData = new SearchModel();\r\n dateToButton = false;\r\n dateFromButton = false;\r\n dateFrom: Date = null;\r\n dateTo: Date = null;\r\n currentType;\r\n allFiles: number = 0;\r\n filters: any = [];\r\n differ: KeyValueDiffer;\r\n mediaGroups: WebManageMediaModel[][] = [[]];\r\n\r\n isEasyJet: boolean = false;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private http: HttpClient,\r\n private languageService: LanguageService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private location: Location,\r\n private myFilesService: MyFilesService,\r\n private route: ActivatedRoute,\r\n private differs: KeyValueDiffers,\r\n private algoliaService: AlgoliaService\r\n ) {\r\n // if (window.innerWidth <= 1100) {\r\n // this.grid = \"Columns2\";\r\n // } else {\r\n // this.grid = \"Columns4\";\r\n // }\r\n // window.onresize = (e) => {\r\n // ngZone.run(() => {\r\n // if (window.innerWidth <= 1100) {\r\n // this.grid = \"Columns2\";\r\n // } else {\r\n // this.grid = \"Columns4\";\r\n // }\r\n // });\r\n // };\r\n this.differ = this.differs.find({}).create();\r\n this.myFilesService.files.subscribe((myFiles) => {\r\n this.cartItems = myFiles;\r\n });\r\n this.language = languageService.getLanguage();\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.route.params.subscribe((params: Params) => {\r\n const id: string = params[\"id\"];\r\n const title: string = params[\"title\"];\r\n let media: string = params[\"media\"];\r\n\r\n if (media && media.indexOf(\"?\") > -1)\r\n media = media.substr(0, media.indexOf(\"?\"));\r\n\r\n if (media) {\r\n this.callGetAllData = true;\r\n this.openPopup(+media);\r\n }\r\n });\r\n }\r\n\r\n // @HostListener(\"window:resize\", [\"$event\"])\r\n // onResize(event) {\r\n // this.resize();\r\n // }\r\n\r\n @HostListener('window:scroll', ['$event'])\r\n onScroll(event) {\r\n if (\r\n window.innerHeight + window.scrollY >=\r\n document.body.offsetHeight - 300\r\n && !this.lazyLoadingLoader\r\n ) {\r\n this.loadMore();\r\n }\r\n }\r\n\r\n toggleShowFilter() {\r\n this.showFilter = !this.showFilter;\r\n }\r\n\r\n loadMore() {\r\n if (this.p < this.maxPageMedia) {\r\n this.p++;\r\n this.lazyLoadingLoader = true;\r\n this.changePage(this.p);\r\n }\r\n }\r\n\r\n openPopup(id: number) {\r\n this.popup = true;\r\n this.mediaId = id;\r\n }\r\n\r\n public config: any;\r\n getSearch() {\r\n const configObservable = this.mcService.getSearchConfig();\r\n const searchObservable = this.mcService.getSearch();\r\n forkJoin([configObservable, searchObservable]).subscribe(\r\n (response: any) => {\r\n this.config = response[0];\r\n this.searchModelData = response[1];\r\n this.searchModelData.searchModel = this.getFilters();\r\n if (this.callGetAllData) {\r\n this.getMedias(this.p, null, true);\r\n } else {\r\n this.loader = false;\r\n }\r\n },\r\n (error) => {\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n\r\n onChangeBrand(id: number) {\r\n if (id == 0) {\r\n this.searchModelData.searchModel.subClientIds = [];\r\n let select = (document.getElementById('brandSelect'));\r\n select.value = '0';\r\n } else {\r\n this.searchModelData.searchModel.subClientIds = [id];\r\n }\r\n }\r\n\r\n clearFilters() {\r\n if (this.searchModelData.subClients.length > 0) {\r\n this.onChangeBrand(0);\r\n }\r\n this.searchModelData.searchModel.dateFrom = null;\r\n this.searchModelData.searchModel.dateTo = null;\r\n this.searchModelData.searchModel.searchText = '';\r\n this.getMedias(1, this.selectedType, true);\r\n }\r\n\r\n toggleFilters() {\r\n this.filtersVisible = !this.filtersVisible;\r\n }\r\n\r\n activeallC(name) {\r\n if (name == \"all\") {\r\n if (this.activeAllTab) {\r\n this.allActive = true;\r\n } else {\r\n this.activeAllTab = true;\r\n }\r\n } else if (name == \"image\") {\r\n if (this.activeImageTab) {\r\n this.imageActive = true;\r\n } else {\r\n this.activeImageTab = true;\r\n }\r\n } else if (name == \"video\") {\r\n if (this.activeVideoTab) {\r\n this.videoActive = true;\r\n } else {\r\n this.activeVideoTab = true;\r\n }\r\n } else if (name == \"document\") {\r\n if (this.activeDocumentsTab) {\r\n this.docActive = true;\r\n } else {\r\n this.activeDocumentsTab = true;\r\n }\r\n } else if (name == \"audio\") {\r\n if (this.activeAudioTab) {\r\n this.audioActive = true;\r\n } else {\r\n this.activeAudioTab = true;\r\n }\r\n }\r\n }\r\n\r\n activeallCOut(name) {\r\n if (name == \"all\") {\r\n if (!this.allActive) {\r\n this.activeAllTab = false;\r\n }\r\n } else if (name == \"image\") {\r\n if (!this.imageActive) {\r\n this.activeImageTab = false;\r\n }\r\n } else if (name == \"video\") {\r\n if (!this.videoActive) {\r\n this.activeVideoTab = false;\r\n }\r\n } else if (name == \"document\") {\r\n if (!this.docActive) {\r\n this.activeDocumentsTab = false;\r\n }\r\n } else if (name == \"audio\") {\r\n if (!this.audioActive) {\r\n this.activeAudioTab = false;\r\n }\r\n }\r\n }\r\n\r\n activeTabM(tab) {\r\n this.activeAll = false;\r\n this.activeImage = false;\r\n this.activeVideo = false;\r\n this.activeDoc = false;\r\n this.activeAudio = false;\r\n if (tab === \"image\") {\r\n this.activeImage = true;\r\n }\r\n if (tab === \"all\") {\r\n this.activeAll = true;\r\n }\r\n if (tab === \"video\") {\r\n this.activeVideo = true;\r\n }\r\n if (tab === \"audio\") {\r\n this.activeAudio = true;\r\n }\r\n if (tab === \"doc\") {\r\n this.activeDoc = true;\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.user = TokenManagerService.getUser();\r\n window.scrollTo(0, 0);\r\n this.getSearch();\r\n this.cartItems = this.myFilesService.getMyFiles();\r\n if (localStorage.getItem(\"isEasyJet\") === \"1\") {\r\n this.isEasyJet = true;\r\n }\r\n }\r\n\r\n changeColorButtonn(e) {\r\n // //\r\n if (e.target.tagName == \"DIV\") {\r\n e.target.style.background = this.styles.style.mainButton2HoverColor;\r\n } else {\r\n e.target.parentElement.style.background =\r\n this.styles.style.mainButton2HoverColor;\r\n }\r\n }\r\n\r\n changeColorButton(e) {\r\n if (e.target.tagName == \"DIV\") {\r\n e.target.style.background = this.styles.style.mainButton2DefaultColor;\r\n }\r\n }\r\n\r\n setColor(e) {\r\n setTimeout(() => {\r\n const element = document.getElementsByClassName(\r\n \"current\"\r\n ) as HTMLCollectionOf;\r\n if (element[0])\r\n element[0].style.backgroundColor =\r\n \"\" + this.styles.style.mainIdentifyingColor;\r\n });\r\n }\r\n\r\n openMediaDropdown(media) {\r\n media.mediaDropdown = !media.mediaDropdown;\r\n event.stopPropagation();\r\n }\r\n\r\n onClickOutside(event: Object, media) {\r\n if (event && event[\"value\"] === true) {\r\n media.mediaDropdown = false;\r\n }\r\n }\r\n\r\n openDropdown() {\r\n this.filterDropdown = true;\r\n }\r\n\r\n closeDropdown() {\r\n this.filterDropdown = false;\r\n }\r\n\r\n public mediaFiles: any[] = [];\r\n\r\n getMedias(page, type = null, isReset = false) {\r\n this.saveFilters();\r\n this.currentType = type;\r\n this.loader = isReset;\r\n this.searchModelData.searchModel.page = page;\r\n if (isReset) this.searchModelData.searchModel.page = 1;\r\n this.searchModelData.searchModel.pageSize = this.itemsPerPage;\r\n this.searchModelData.searchModel.languageId = this.sLng;\r\n let typeId = this.getMediaTypeId(type);\r\n let dateFrom = null;\r\n let dateTo = null;\r\n if (this.searchModelData.searchModel.dateFrom != null) {\r\n dateFrom = new Date(this.searchModelData.searchModel.dateFrom);\r\n dateFrom.setHours(0, 0, 0, 0);\r\n }\r\n if (this.searchModelData.searchModel.dateTo != null) {\r\n dateTo = new Date(this.searchModelData.searchModel.dateTo);\r\n dateTo.setHours(23, 59, 59, 999);\r\n }\r\n this.algoliaService.searchMediaWithFilters(\r\n this.searchModelData.searchModel.searchText,\r\n this.searchModelData.searchModel.page,\r\n this.searchModelData.searchModel.pageSize,\r\n typeId,\r\n this.searchModelData.searchModel.subClientIds.length > 0 ? this.searchModelData.searchModel.subClientIds[0] : null,\r\n this.searchModelData.searchModel.marketId == 0 ? null : this.searchModelData.searchModel.marketId,\r\n dateFrom,\r\n dateTo\r\n ).then((response: any) => {\r\n const mappedResults = response.results.map((x) => {\r\n let id;\r\n if (x.isPublished) {\r\n id = x.publishedIds && x.publishedIds.length > 0 ? x.publishedIds[0]\r\n : parseInt(x.objectID);\r\n } else {\r\n id =\r\n x.storyMediaIds && x.storyMediaIds.length > 0\r\n ? x.storyMediaIds[0]\r\n : parseInt(x.objectID);\r\n }\r\n const fullHdUrl = x.urls.find((x) => x.format === 4);\r\n const originalUrl = x.urls.find((x) => x.format === 5);\r\n const thumbUrl = x.urls.find((x) => x.format === 2);\r\n return {\r\n mediaType: this.getMediaName(x.type),\r\n name: x.title,\r\n id: id,\r\n thumbUrl: thumbUrl ? thumbUrl.url : null,\r\n fullHDUrl: x.typeName === \"image\" && x.urls.find((url) => url.format == 3) ? x.urls.find((url) => url.format == 3).url : null,\r\n downloadLink: fullHdUrl ? fullHdUrl.url : originalUrl ? originalUrl.url : x.urls.length > 0 ? x.urls[0].url : null,\r\n typeName: x.typeName,\r\n isPublished: x.isPublished,\r\n relativeShareUrl: '/results/' + id + '?isPublished=' + x.isPublished,\r\n urls: x.urls,\r\n }\r\n });\r\n if (this.mediaFiles && !isReset) {\r\n this.mediaFiles = this.mediaFiles.concat(mappedResults);\r\n } else {\r\n this.mediaFiles = mappedResults;\r\n this.downloadIds = [];\r\n this.forDownload = [];\r\n }\r\n\r\n this.totalItems = response.total;\r\n this.updateFilters(response);\r\n\r\n this.maxPageMedia = Math.ceil(response.total / this.itemsPerPage);\r\n for (const x of this.mediaFiles) {\r\n if (x.mediaType.toLowerCase() === \"document\") {\r\n x.thumbUrl = \"assets/images/document_default.png\";\r\n } else if (x.mediaType.toLowerCase() === \"audio\") {\r\n x.thumbUrl = \"assets/images/audio_default.png\";\r\n }\r\n const fullHdUrl = x.urls.find((x) => x.format === 4);\r\n const originalUrl = x.urls.find((x) => x.format === 5);\r\n let downloadUrl = \"\";\r\n if (fullHdUrl) {\r\n downloadUrl = fullHdUrl.url;\r\n } else if (originalUrl) {\r\n downloadUrl = originalUrl.url;\r\n } else if (x.urls.length > 0) {\r\n downloadUrl = x.urls[0].url;\r\n }\r\n if (downloadUrl) {\r\n this.forDownload.push(downloadUrl);\r\n this.downloadIds.push(x.id);\r\n x.downloadUrl = downloadUrl;\r\n }\r\n }\r\n if (type) {\r\n switch (type) {\r\n case \"Image\":\r\n this.totalItems = response.images;\r\n this.activeTabM(\"image\");\r\n break;\r\n case \"Video\":\r\n this.totalItems = response.videos;\r\n this.activeTabM(\"video\");\r\n break;\r\n case \"Document\":\r\n this.totalItems = response.documents;\r\n this.activeTabM(\"doc\");\r\n break;\r\n case \"Audio\":\r\n this.totalItems = response.audios;\r\n this.activeTabM(\"audio\");\r\n break;\r\n }\r\n } else {\r\n this.activeTabM(\"all\");\r\n }\r\n this.loader = false;\r\n this.lazyLoadingLoader = false;\r\n this.mediaGroups = [[]];\r\n this.groupMedia();\r\n });\r\n\r\n }\r\n\r\n getMediaTypeId(mediaName: string): number {\r\n switch (mediaName) {\r\n case \"Image\":\r\n return 3;\r\n case \"Video\":\r\n return 2;\r\n case \"Document\":\r\n return 4;\r\n case \"Audio\":\r\n return 1;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n getMediaName(mediaTypeId: number): string {\r\n switch (mediaTypeId) {\r\n case 3:\r\n return \"Image\";\r\n case 2:\r\n return \"Video\";\r\n case 4:\r\n return \"Document\";\r\n case 1:\r\n return \"Audio\";\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n groupMedia() {\r\n let count = 0;\r\n for (const media of this.mediaFiles) {\r\n if (this.mediaGroups[count].length >= 4) count++;\r\n if (!this.mediaGroups[count]) this.mediaGroups[count] = [];\r\n this.mediaGroups[count].push(media);\r\n }\r\n }\r\n\r\n // resize() {\r\n // if (this.mediaModelResponse.mediaPageGridType === \"Columns2\") {\r\n // this.mediaNameLength = 80;\r\n // if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n // this.mediaNameLength = 50;\r\n // }\r\n // if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n // this.mediaNameLength = 50;\r\n // }\r\n // if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n // this.mediaNameLength = 34;\r\n // }\r\n // if (window.innerWidth < 700) {\r\n // this.mediaNameLength = 34;\r\n // }\r\n // }\r\n // if (this.mediaModelResponse.mediaPageGridType === \"Columns3\") {\r\n // this.mediaNameLength = 40;\r\n\r\n // if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n // this.mediaNameLength = 30;\r\n // }\r\n // if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n // this.mediaNameLength = 26;\r\n // }\r\n // if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n // this.mediaNameLength = 15;\r\n // }\r\n // if (window.innerWidth < 700) {\r\n // this.mediaNameLength = 34;\r\n // }\r\n // }\r\n // if (this.mediaModelResponse.mediaPageGridType === \"Columns4\") {\r\n // this.mediaNameLength = 26;\r\n\r\n // if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n // this.mediaNameLength = 16;\r\n // }\r\n // if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n // this.mediaNameLength = 26;\r\n // }\r\n // if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n // this.mediaNameLength = 15;\r\n // }\r\n // if (window.innerWidth < 700) {\r\n // this.mediaNameLength = 34;\r\n // }\r\n // }\r\n // }\r\n\r\n sendToCart() {\r\n const component = this;\r\n this.mediaFiles.forEach(function (value) {\r\n if (component.cartItems.storyMediaIds.indexOf(value.id) == -1) {\r\n component.myFilesService.pushMyFiles(value.id);\r\n value.addedToCart = true;\r\n // localStorage.setItem(\"cart\", JSON.stringify(component.cartItems));\r\n }\r\n });\r\n }\r\n\r\n getMediaUrl(url, mediaId) {\r\n // add url from api\r\n // //\r\n return url.replace(/%20| /g, \"-\") + \"/\" + mediaId;\r\n }\r\n\r\n addDownloadClientSide() {\r\n for (const x of this.mediaModelResponse.media) {\r\n for (const y of this.forDownload) {\r\n if (x.downloadLink == y) {\r\n x.downloads++;\r\n }\r\n }\r\n }\r\n }\r\n\r\n openMediaPopup(media) {\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n if (this.user.cmsUser == null) {\r\n media.views++;\r\n }\r\n this.location.replaceState(media.relativeShareUrl);\r\n // this.router.navigateByUrl(UrlHelper.replaceFullUrlTitle('media' + media.relativeShareUrl));\r\n }\r\n\r\n openMediaPopupAutplay(media) {\r\n this.autoplay = true;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n this.location.replaceState(media.relativeShareUrl);\r\n // this.router.navigateByUrl(UrlHelper.replaceFullUrlTitle('media' + media.relativeShareUrl));\r\n }\r\n\r\n changeTab(index) {\r\n if (index === this.activeSubTab) return;\r\n this.p = 1;\r\n this.activeSubTab = index;\r\n this.setColor($);\r\n switch (index) {\r\n case 1:\r\n this.all = true;\r\n this.image = false;\r\n this.video = false;\r\n this.document = false;\r\n this.audio = false;\r\n\r\n this.selectedType = null;\r\n this.activeAllTab = true;\r\n this.activeImageTab = false;\r\n this.activeVideoTab = false;\r\n this.activeDocumentsTab = false;\r\n this.activeAudioTab = false;\r\n this.getMedias(this.p, null, true);\r\n this.allActive = true;\r\n this.imageActive = false;\r\n this.videoActive = false;\r\n this.audioActive = false;\r\n this.docActive = false;\r\n\r\n break;\r\n case 2:\r\n this.all = false;\r\n this.image = true;\r\n this.video = false;\r\n this.document = false;\r\n this.audio = false;\r\n\r\n this.selectedType = \"Image\";\r\n this.getMedias(this.p, this.selectedType, true);\r\n this.activeAllTab = false;\r\n this.activeImageTab = true;\r\n this.activeVideoTab = false;\r\n this.activeDocumentsTab = false;\r\n this.activeAudioTab = false;\r\n this.allActive = false;\r\n this.imageActive = true;\r\n this.videoActive = false;\r\n this.audioActive = false;\r\n this.docActive = false;\r\n\r\n break;\r\n case 3:\r\n this.all = false;\r\n this.image = false;\r\n this.video = true;\r\n this.document = false;\r\n this.audio = false;\r\n this.activeAllTab = false;\r\n this.activeImageTab = false;\r\n this.activeVideoTab = true;\r\n this.activeDocumentsTab = false;\r\n this.activeAudioTab = false;\r\n\r\n this.selectedType = \"Video\";\r\n this.getMedias(this.p, this.selectedType, true);\r\n this.allActive = false;\r\n this.imageActive = false;\r\n this.videoActive = true;\r\n this.audioActive = false;\r\n this.docActive = false;\r\n\r\n break;\r\n\r\n case 4:\r\n this.all = false;\r\n this.image = false;\r\n this.video = false;\r\n this.document = true;\r\n this.audio = false;\r\n\r\n this.selectedType = \"Document\";\r\n this.getMedias(this.p, this.selectedType, true);\r\n this.activeAllTab = false;\r\n this.activeImageTab = false;\r\n this.activeVideoTab = false;\r\n this.activeDocumentsTab = true;\r\n this.activeAudioTab = false;\r\n this.allActive = false;\r\n this.imageActive = false;\r\n this.videoActive = false;\r\n this.audioActive = false;\r\n this.docActive = true;\r\n\r\n break;\r\n\r\n case 5:\r\n this.all = false;\r\n this.image = false;\r\n this.video = false;\r\n this.document = false;\r\n this.audio = true;\r\n\r\n this.selectedType = \"Audio\";\r\n this.getMedias(this.p, this.selectedType, true);\r\n this.activeAllTab = false;\r\n this.activeImageTab = false;\r\n this.activeVideoTab = false;\r\n this.activeDocumentsTab = false;\r\n this.activeAudioTab = true;\r\n this.allActive = false;\r\n this.imageActive = false;\r\n this.videoActive = false;\r\n this.audioActive = true;\r\n this.docActive = false;\r\n\r\n break;\r\n }\r\n }\r\n\r\n addDownload() {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n const niz = new DownloadAddToModel();\r\n niz.publishedMediaIds = this.mediaFiles.filter((x) => x.isPublished).map((x) => x.id);\r\n niz.storyMediaIds = this.mediaFiles.filter((x) => !x.isPublished).map((x) => x.id);\r\n niz.userId = this.user.id;\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId.toString()\r\n );\r\n });\r\n niz.publishedMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download-pm\",\r\n niz.userId.toString()\r\n );\r\n });\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n mediaChecked(media, event) {\r\n const component = this;\r\n const index = this.forDownload.indexOf(media);\r\n media.checked = !media.checked;\r\n if (component.forDownload.indexOf(media) == -1 && media.checked) {\r\n component.forDownload.push(media.downloadLink);\r\n component.downloadIds.push(media.id);\r\n } else if (!media.checked) {\r\n component.forDownload.splice(index, 1);\r\n component.downloadIds.splice(index, 1);\r\n }\r\n\r\n event.target.style.backgroundColor = event.target.checked\r\n ? this.styles.style.mainIdentifyingColor\r\n : \"\";\r\n }\r\n\r\n cancelDownload() {\r\n if (this.downloadSubscription) {\r\n this.downloadSubscription.unsubscribe();\r\n }\r\n\r\n this.downloadActive = false;\r\n this.disabledButton = false;\r\n this.cancelDownloads = true;\r\n }\r\n\r\n download() {\r\n if (\r\n this.mediaModelResponse.mustRegisterToDownload &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n const urls = this.forDownload;\r\n const component = this;\r\n const zip = new JSZip();\r\n let count = 0;\r\n const zipFilename = \"download.zip\";\r\n\r\n if (this.forDownload.length > 1) {\r\n component.disabledButton = true;\r\n component.downloadActive = true;\r\n component.cancelDownloads = false;\r\n\r\n urls.forEach((url) => {\r\n const filename = url.split(\"/\")[8];\r\n\r\n if (component.cancelDownloads) {\r\n return;\r\n }\r\n\r\n // loading a file and add it in a zip file\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n if (component.cancelDownloads) {\r\n return;\r\n }\r\n\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n\r\n if (count === urls.length) {\r\n zip.generateAsync({ type: \"blob\" }).then(function (content) {\r\n saveAs(content, zipFilename);\r\n component.disabledButton = false;\r\n component.downloadActive = false;\r\n\r\n if (component.user.cmsUser === null) {\r\n component.addDownload();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n this.addDownloadClientSide();\r\n } else {\r\n for (const x of this.forDownload) {\r\n component.downloadActive = true;\r\n component.disabledButton = true;\r\n\r\n this.downloadSubscription = this.http\r\n .get(x, { responseType: \"blob\" })\r\n .subscribe(\r\n (blob: Blob) => {\r\n const filename = x.split(\"/\")[8];\r\n saveAs(blob, filename);\r\n\r\n component.downloadActive = false;\r\n component.disabledButton = false;\r\n\r\n if (component.user.cmsUser === null) {\r\n component.addDownload();\r\n }\r\n\r\n this.addDownloadClientSide();\r\n },\r\n (error) => {\r\n component.downloadActive = false;\r\n component.disabledButton = false;\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n changePage(page) {\r\n this.p = page;\r\n this.getMedias(page, this.selectedType);\r\n }\r\n\r\n twoGrid() {\r\n this.grid = \"Columns2\";\r\n this.itemsPerPage = 12;\r\n }\r\n\r\n threeGrid() {\r\n this.grid = \"Columns3\";\r\n this.itemsPerPage = 12;\r\n }\r\n\r\n fourGrid() {\r\n this.grid = \"Columns4\";\r\n this.itemsPerPage = 12;\r\n }\r\n\r\n openDateFrom() {\r\n this.dateFromButton = !this.dateFromButton;\r\n }\r\n\r\n openDateTo() {\r\n this.dateToButton = !this.dateToButton;\r\n }\r\n\r\n changeFromDate(event) {\r\n if (event.value !== null) {\r\n if (new Date(this.dateFrom).getTime() > new Date(this.dateTo).getTime()) {\r\n this.dateTo = new Date();\r\n }\r\n }\r\n }\r\n\r\n changeToDate(event) {\r\n if (event.value !== null) {\r\n if (new Date(this.dateFrom).getTime() > new Date(this.dateTo).getTime()) {\r\n const dateTo: Date = new Date(this.dateTo);\r\n this.dateFrom = new Date(dateTo.getTime());\r\n }\r\n }\r\n }\r\n updateFilters(response) {\r\n this.allFiles = response.total;\r\n this.filters = [\r\n {\r\n key: 1,\r\n text: this.language.allFiles,\r\n faClass: \"fal fa-archive\",\r\n amount: this.allFiles,\r\n },\r\n {\r\n key: 2,\r\n text: this.language.images,\r\n faClass: \"fal fa-camera-retro\",\r\n amount: response.images,\r\n },\r\n {\r\n key: 3,\r\n text: this.language.videoFiles,\r\n faClass: \"fal fa-video\",\r\n amount: response.videos,\r\n },\r\n {\r\n key: 4,\r\n text: this.language.documents,\r\n faClass: \"fal fa-file\",\r\n amount: response.documents,\r\n },\r\n {\r\n key: 5,\r\n text: this.language.audioFiles,\r\n faClass: \"fal fa-volume-up\",\r\n amount: response.audios,\r\n },\r\n ];\r\n }\r\n\r\n saveFilters() {\r\n console.log(this.searchModelData.searchModel.dateFrom);\r\n localStorage.setItem(\"mediaFilters\", JSON.stringify(this.searchModelData.searchModel));\r\n }\r\n\r\n getFilters(): WebSearchModel {\r\n let filters: WebSearchModel = JSON.parse(localStorage.getItem(\"mediaFilters\"));\r\n if (filters) {\r\n this.showFilter = filters.subClientIds !== null\r\n && filters.subClientIds.length > 0\r\n || filters.searchText !== null\r\n && filters.searchText.length > 0\r\n || filters.dateFrom !== null || filters.dateTo !== null;\r\n return filters;\r\n } else {\r\n filters = new WebSearchModel();\r\n this.showFilter = false;\r\n filters.images = true;\r\n filters.video = true;\r\n filters.document = true;\r\n filters.audio = true;\r\n filters.media = true;\r\n filters.stories = false;\r\n return filters;\r\n }\r\n }\r\n\r\n isSelected(id: number): boolean {\r\n return this.searchModelData.searchModel.subClientIds[0] == id;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Media

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ language.filterBy || \"FilterBy:\" }}\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
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ language.applyFilters || 'Apply Filters' }}\r\n \r\n
\r\n
\r\n \r\n {{ language.clearFilters || 'Clear Filters' }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
0\" class=\"filter-button flex generic-button empty\"\r\n (click)=\"changeTab(filter.key)\" [ngClass]=\"{ active: activeSubTab == filter.key }\">\r\n \r\n {{ filter.text }} ({{ filter.amount }})\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ language.addToMyFiles || language.addToFiles }} ({{\r\n mediaFiles?.length\r\n }})\r\n \r\n
\r\n
\r\n \r\n \r\n {{ language.download }} ({{ mediaFiles?.length }})\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\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 { catchError, map } from \"rxjs/operators\";\r\n\r\nimport { throwError as observableThrowError, Observable } from \"rxjs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { HttpRequestService } from \"./http-request.service\";\r\nimport { EmailModel } from \"../../routes/contact/contact-model\";\r\nimport {\r\n HttpClient,\r\n HttpErrorResponse,\r\n HttpHandler,\r\n HttpHeaders,\r\n} from \"@angular/common/http\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ToastrConfig } from \"../helpers/toastr-config\";\r\nimport { DownloadAddToModel } from \"../../routes/media/media-model\";\r\n\r\n@Injectable()\r\nexport class McService {\r\n constructor(\r\n private http: HttpRequestService,\r\n private httpClient: HttpClient,\r\n private toastr: ToastrService\r\n ) { }\r\n\r\n private getNewsUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebGetNews\";\r\n private getClientInfoUrl = environment.apiUrl + \"/MediaCenterWeb/GetClientInfo\";\r\n private getMediaUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebGetMedia\";\r\n private getContactUsUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebContactUs\";\r\n private getHomepageUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/GetMediaCenterWebHome\";\r\n private getHomepageUrlMedia =\r\n environment.apiUrl + \"/MediaCenterWeb/GetMediaCenterWebHomeMedia\";\r\n private getHomepageUrlStoriescategory =\r\n environment.apiUrl + \"/MediaCenterWeb/GetMediaCenterWebHomeStoriesCategory\";\r\n private getHomepageLatestStoriesUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/GetMediaCenterWebHomeLatestStories\";\r\n private getHomepageInitialUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/GetMediaCenterWebHomeInitial\";\r\n private getHeaderFooterUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebHeaderFooterLinks\";\r\n private getTermsUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebTermsAndCondition\";\r\n private getRegisterUrl =\r\n environment.apiUrl + \"/MediaCenterUser/GetForRegister\";\r\n private getSearchUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebGetForFilter\";\r\n private redirectToCmsUrl =\r\n environment.apiUrl + \"/MediaCenterUser/RedirectToCMS\";\r\n private registerUrl = environment.apiUrl + \"/MediaCenterUser/Register\";\r\n private registerFbUrl =\r\n environment.apiUrl + \"/MediaCenterUser/RegisterWithFacebook\";\r\n private getUpdateUrl = environment.apiUrl + \"/MediaCenterUser/GetForUpdate\";\r\n private getTestimonialsUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebTestimonials\";\r\n private updateUrl = environment.apiUrl + \"/MediaCenterUser/UpdateUser\";\r\n private facebookUrl =\r\n environment.apiUrl + \"/MediaCenterUser/LoginWithFacebook\";\r\n private addSharedToNewsUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/AddShareToNews\";\r\n private addSharedToMediaUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/AddShareToMedia\";\r\n private addViewToMediaUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/AddViewToMedia\";\r\n private addDownloadToMediaUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/AddDownloadToMedia\";\r\n private getNewsDetailUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebGetNewsDetail\";\r\n private getMediaDetailUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebMediaDetail\";\r\n private webDownloadboxUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebDownloadBox\";\r\n private webGetBrandsUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebGetBrands\";\r\n private sendEmailUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebContactUsSendEmail\";\r\n private searchMcStoriesUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebSearchStories\";\r\n private searchMcStoriesWithCodesUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebSearchStoriesWithCode\";\r\n private searchMcMediaUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebSearchMedia\";\r\n private getStyleUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/GetFontsAndColorsForWeb\";\r\n private getMetadatasUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/MediaCenterWebGetMetadatas\";\r\n private registerWithTwitterUrl =\r\n environment.apiUrl + \"/MediaCenterUser/RegisterWithTwitter\";\r\n private getUserByTokenUrl =\r\n environment.apiUrl + \"/MediaCenterUser/GetUserByToken\";\r\n private getUserTweetsUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/GetUserTweets\";\r\n private getTranslationUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/GetTranslation\";\r\n private getLanguagesUrl = environment.apiUrl + \"/MediaCenterWeb/GetLanguages\";\r\n private searchHomePageUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/SearchHomePage\";\r\n private getBrandStoriesUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/GetBrandStories\";\r\n private linkedinFeedUrl = environment.apiUrl + \"/MediaCenterWeb/LinkedInFeed\";\r\n private unsubscribeNewsletterUrl =\r\n environment.apiUrl + \"/MediaCenterUser/UnsubscribeFromNewsletter\";\r\n private redirectToMcUrl =\r\n environment.apiUrl + \"/MediaCenterUser/RedirectToMc\";\r\n private loginWithTokenUrl =\r\n environment.apiUrl + \"/MediaCenterUser/LoginWithToken\";\r\n private redirectMarketUrl =\r\n environment.apiUrl + \"/MediaCenterUser/RedirectMarket\";\r\n private getMarketsUrl =\r\n environment.apiUrl + \"/Markets/Urls\";\r\n private getCurrentMarketUrl =\r\n environment.apiUrl + \"/Markets/Current\";\r\n private getSearchConfigUrl =\r\n environment.apiUrl + \"/MediaCenterWeb/SearchConfig\";\r\n private getLoginAttemptsUrl = environment.apiUrl + \"/McLoginAttempts/List\"\r\n\r\n redirectToMc(clientId) {\r\n return this.http.post(this.redirectToMcUrl + \"?clientId=\" + clientId, null, false, null, true, false);\r\n }\r\n\r\n getSearchConfig() {\r\n return this.http.get(this.getSearchConfigUrl);\r\n }\r\n\r\n getLoginAttempts(userId, page, pageSize) {\r\n return this.http.get(this.getLoginAttemptsUrl + \"?mcUserId=\" + userId + \"&page=\" + page + \"&pageSize=\" + pageSize);\r\n }\r\n\r\n getCurrentMarket() {\r\n return this.http.get(this.getCurrentMarketUrl);\r\n }\r\n\r\n redirectToMarket() {\r\n return this.http.post(this.redirectMarketUrl, null, false, null, true, false);\r\n }\r\n\r\n getMarkets() {\r\n return this.http.get(this.getMarketsUrl);\r\n }\r\n\r\n loginWithToken(token) {\r\n return this.http.post(this.loginWithTokenUrl + \"?tokenString=\" + token, null);\r\n }\r\n\r\n getNews(page, id) {\r\n return this.http.get(\r\n this.getNewsUrl + \"?page=\" + page + \"&languageId=\" + id\r\n );\r\n }\r\n\r\n getClientInfo() {\r\n return this.http.get(this.getClientInfoUrl);\r\n }\r\n\r\n getBrandStories(clientName, page, id) {\r\n return this.http.get(\r\n this.getBrandStoriesUrl +\r\n \"?clientName=\" +\r\n clientName +\r\n \"&page=\" +\r\n page +\r\n \"&languageId=\" +\r\n id\r\n );\r\n }\r\n\r\n getMedia(page, type = null, id) {\r\n const mediaType = type ? \"&type=\" + type : \"\";\r\n\r\n return this.http.get(\r\n this.getMediaUrl + \"?page=\" + page + mediaType + \"&languageId=\" + id\r\n );\r\n }\r\n\r\n getContactUs(id) {\r\n return this.http.get(this.getContactUsUrl + \"?languageId=\" + id);\r\n }\r\n\r\n redirectToCms(data) {\r\n return this.http.post(this.redirectToCmsUrl, data);\r\n }\r\n\r\n getTestimonials() {\r\n return this.http.get(this.getTestimonialsUrl);\r\n }\r\n\r\n getHomepage(id) {\r\n return this.http.get(this.getHomepageUrl + \"?languageId=\" + id);\r\n }\r\n getHomepageMedia(id) {\r\n return this.http.get(this.getHomepageUrlMedia + \"?languageId=\" + id);\r\n }\r\n getHomepageStoriesCategory(id) {\r\n return this.http.get(\r\n this.getHomepageUrlStoriescategory + \"?languageId=\" + id\r\n );\r\n }\r\n getHomepageLatestStories(id) {\r\n return this.http.get(\r\n this.getHomepageLatestStoriesUrl + \"?languageId=\" + id\r\n );\r\n }\r\n getHomepageInitial(id) {\r\n return this.http.get(this.getHomepageInitialUrl + \"?languageId=\" + id);\r\n }\r\n\r\n searchHomepage(searchValue, id) {\r\n return this.http.get(\r\n this.searchHomePageUrl +\r\n \"?searchValue=\" +\r\n searchValue +\r\n \"&languageId=\" +\r\n id\r\n );\r\n }\r\n\r\n getHeaderFooter(id) {\r\n return this.http.get(this.getHeaderFooterUrl + \"?languageId=\" + id);\r\n }\r\n\r\n getTerms() {\r\n return this.http.get(this.getTermsUrl);\r\n }\r\n\r\n getRegister() {\r\n return this.http.get(this.getRegisterUrl);\r\n }\r\n\r\n register(data) {\r\n return this.http.post(\r\n this.registerUrl,\r\n data,\r\n false,\r\n \"You have successfully registered.\\nCheck your email to verify your account.\"\r\n );\r\n }\r\n\r\n registerWithTwitter(data) {\r\n return this.http.post(\r\n this.registerWithTwitterUrl,\r\n data,\r\n false,\r\n \"You have successfully registered.\\nCheck your email to verify your account.\"\r\n );\r\n }\r\n\r\n registerFb(data) {\r\n return this.http.post(\r\n this.registerFbUrl,\r\n data,\r\n false,\r\n \"You have successfully registered.\\nCheck your email to verify your account.\"\r\n );\r\n }\r\n\r\n getUpdate(id = 0) {\r\n return this.http.get(this.getUpdateUrl + \"?userId=\" + id);\r\n }\r\n\r\n update(data) {\r\n return this.http.post(\r\n this.updateUrl,\r\n data,\r\n true,\r\n \"You have updated your profile\"\r\n );\r\n }\r\n\r\n getSearch() {\r\n return this.http.get(this.getSearchUrl);\r\n }\r\n\r\n getStyle() {\r\n return this.http.get(this.getStyleUrl);\r\n }\r\n\r\n searchMcStories(request, hasStoryCodes = false) {\r\n if (hasStoryCodes && !request.marketId)\r\n return this.http.post(this.searchMcStoriesWithCodesUrl, request);\r\n return this.http.post(this.searchMcStoriesUrl, request);\r\n }\r\n\r\n searchMcMedia(request) {\r\n return this.http.post(this.searchMcMediaUrl, request);\r\n }\r\n\r\n addSharedToNews(storyId, userId, socialType, noErrorToast?) {\r\n const data = { userId, sharedItemId: storyId, socialType };\r\n return this.http.post(\r\n this.addSharedToNewsUrl,\r\n data,\r\n false,\r\n null,\r\n noErrorToast\r\n );\r\n }\r\n\r\n addViewToMedia(id, userId, isPublished = false) {\r\n return this.http.get(\r\n this.addViewToMediaUrl + \"?mediaId=\" + id + \"&userId=\" + userId + \"&isPublished=\" + isPublished\r\n );\r\n }\r\n\r\n addSharedToMedia(mediaId, userId, socialType, isPublished = false, noErrorToast?) {\r\n const data = { userId, sharedItemId: mediaId, socialType, isPublished };\r\n return this.http.post(\r\n this.addSharedToMediaUrl,\r\n data,\r\n false,\r\n null,\r\n noErrorToast\r\n );\r\n }\r\n\r\n addDownloadToMedia(data: DownloadAddToModel) {\r\n return this.http.post(this.addDownloadToMediaUrl, data);\r\n }\r\n\r\n getNewsDetail(id, lid, cmsUser: boolean) {\r\n return this.http.get(\r\n this.getNewsDetailUrl +\r\n \"?storyId=\" +\r\n id +\r\n \"&languageId=\" +\r\n lid +\r\n \"&cmsUser=\" +\r\n cmsUser\r\n );\r\n }\r\n\r\n downloadBox(ids) {\r\n return this.http.post(this.webDownloadboxUrl, ids, false, \"\", false);\r\n }\r\n\r\n getBrands() {\r\n return this.http.get(this.webGetBrandsUrl);\r\n }\r\n\r\n getMediaDetail(id, lid, isPublished = false) {\r\n return this.http.get(\r\n this.getMediaDetailUrl + \"?mediaId=\" + id + \"&languageId=\" + lid + \"&isPublished=\" + isPublished\r\n );\r\n }\r\n\r\n sendEmail(data: EmailModel) {\r\n return this.http.post(this.sendEmailUrl, data);\r\n }\r\n\r\n logInFb(id) {\r\n return this.http.get(this.facebookUrl + \"?facebookToken=\" + id);\r\n }\r\n\r\n getMeta() {\r\n return this.http.get(this.getMetadatasUrl);\r\n }\r\n\r\n getTranslation(id) {\r\n return this.http.get(this.getTranslationUrl + \"?languageId=\" + id);\r\n }\r\n\r\n getMcLanguage() {\r\n return this.http.get(this.getLanguagesUrl);\r\n }\r\n\r\n getUserByToken(token) {\r\n return this.httpClient.get(this.getUserByTokenUrl).pipe(\r\n map((response: Response) => {\r\n // const toast: Toast = {\r\n // type: 'success',\r\n // title: 'Well Done !',\r\n // body: 'Operation successful.',\r\n // showCloseButton: true,\r\n // closeHtml: '
'\r\n // };\r\n //\r\n // this.toasterService.pop(toast);\r\n\r\n return response;\r\n }),\r\n catchError((response) => this.handleError(response))\r\n );\r\n }\r\n\r\n handleError(error: any) {\r\n let errMsg: any;\r\n errMsg = error.error.message ? error.error.message : error.toString();\r\n //\r\n\r\n this.toastr.error(errMsg, \"Oh Snap!\", ToastrConfig.error);\r\n return observableThrowError(errMsg);\r\n }\r\n\r\n getUserTweets() {\r\n return this.http.get(this.getUserTweetsUrl);\r\n }\r\n\r\n linkedinFeed() {\r\n return this.http.get(this.linkedinFeedUrl);\r\n }\r\n\r\n unsubscribeFromNewsletter(code: string) {\r\n return this.http.post(this.unsubscribeNewsletterUrl, { code: code });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { SearchModel, WebSearchModel } from '../../header/search/search-model';\r\n\r\n@Injectable()\r\nexport class StorageService {\r\n\r\n private searchItemStories: BehaviorSubject = new BehaviorSubject(new SearchModel());\r\n private searchItemMedia: BehaviorSubject = new BehaviorSubject(new SearchModel());\r\n private fullName: BehaviorSubject = new BehaviorSubject('');\r\n private views: BehaviorSubject = new BehaviorSubject(false);\r\n private searchResult: BehaviorSubject = new BehaviorSubject(false);\r\n private mustRegister: BehaviorSubject = new BehaviorSubject(false);\r\n private anonymousShare: BehaviorSubject = new BehaviorSubject(false);\r\n private legalBanner: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n private searchRequestModel: BehaviorSubject = new BehaviorSubject(new WebSearchModel());\r\n\r\n constructor() {\r\n }\r\n\r\n getSearchItemStories(): Observable {\r\n return this.searchItemStories.asObservable();\r\n }\r\n\r\n getSearchItemMedia(): Observable {\r\n return this.searchItemMedia.asObservable();\r\n }\r\n\r\n setSearchItemStories(val: any) {\r\n this.searchItemStories.next(val);\r\n }\r\n\r\n setSearchItemMedia(val: any) {\r\n this.searchItemMedia.next(val);\r\n }\r\n\r\n setName(val: any) {\r\n this.fullName.next(val);\r\n }\r\n\r\n getName(): Observable {\r\n return this.fullName.asObservable();\r\n }\r\n\r\n setLegalBanner(val: any) {\r\n this.legalBanner.next(val);\r\n }\r\n\r\n getLegalBanner(): Observable {\r\n return this.legalBanner.asObservable();\r\n }\r\n\r\n setLogin(val: any) {\r\n this.views.next(val);\r\n }\r\n\r\n getLogin(): Observable {\r\n return this.views.asObservable();\r\n }\r\n\r\n setSearch(val: any) {\r\n this.searchResult.next(val);\r\n }\r\n\r\n getSearch(): Observable {\r\n return this.searchResult.asObservable();\r\n }\r\n\r\n setSearchModel(val: any) {\r\n this.searchRequestModel.next(val);\r\n }\r\n\r\n getSearchModel() {\r\n return this.searchRequestModel.asObservable();\r\n }\r\n\r\n getMustRegister() {\r\n return this.mustRegister.asObservable();\r\n }\r\n\r\n getAnonymousShare() {\r\n return this.anonymousShare.asObservable();\r\n }\r\n\r\n setMustRegister(val: any) {\r\n this.mustRegister.next(val);\r\n }\r\n\r\n setAnonymousShare(anonymousShare: boolean) {\r\n this.anonymousShare.next(anonymousShare);\r\n }\r\n}\r\n","import { Component, Input, OnInit, OnChanges } from \"@angular/core\";\r\nimport { LinksModel } from \"../models/links/links.model\";\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n RouterState,\r\n} from \"@angular/router\";\r\nimport { LayoutModel } from \"../layout/layout-model\";\r\nimport { PageStyle } from \"../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../shared/services/fonts-and-colors.service\";\r\nimport { StorageService } from \"../shared/services/storage.service\";\r\nimport { TokenManagerService } from \"../shared/services/token-manager.service\";\r\nimport { UserModel } from \"../login/login-model\";\r\nimport { Language } from \"../models/language/language.model\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\n\r\n@Component({\r\n selector: \"app-footer\",\r\n templateUrl: \"./footer.component.html\",\r\n styleUrls: [\"./footer.component.less\"],\r\n})\r\nexport class FooterComponent implements OnInit, OnChanges {\r\n @Input() layoutResponseModel: LayoutModel = new LayoutModel();\r\n @Input() clientName: string;\r\n @Input() customClasses: string;\r\n @Input() isEasyJet: boolean;\r\n logo = \"\";\r\n styles: PageStyle;\r\n loggedUserName = \"\";\r\n anonymousShare: boolean;\r\n signIn: boolean;\r\n mustRegister: boolean;\r\n currentYear = new Date().getFullYear();\r\n socialLinkObjects: any;\r\n user: UserModel;\r\n language: Language;\r\n legalBanner: string;\r\n showLegalBanner: boolean = localStorage.getItem('legalBannerAgreed') == '1' ? false : true;\r\n\r\n constructor(\r\n private router: Router,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private storageService: StorageService,\r\n private languageService: LanguageService,\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n //\r\n const component = this;\r\n\r\n this.storageService.getMustRegister().subscribe((mustRegister) => {\r\n component.mustRegister = mustRegister;\r\n });\r\n\r\n this.storageService.getAnonymousShare().subscribe((anonymousShare) => {\r\n component.anonymousShare = anonymousShare;\r\n });\r\n\r\n this.router.events.subscribe((val) => {\r\n if (val instanceof NavigationEnd) {\r\n component.signIn =\r\n component.router.routerState.snapshot.url.indexOf(\"sign-in\") > -1;\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges() {\r\n if (\r\n this.layoutResponseModel !== undefined &&\r\n this.layoutResponseModel !== null\r\n ) {\r\n this.socialLinkObjects = JSON.parse(\r\n this.layoutResponseModel.socialLinkJson\r\n );\r\n if (\r\n this.socialLinkObjects != null &&\r\n this.socialLinkObjects !== undefined\r\n ) {\r\n this.socialLinkObjects = this.socialLinkObjects.map((o) => {\r\n o.name = o.name.toLowerCase();\r\n o.link = this.checkLinkPrefix(o.link);\r\n return o;\r\n });\r\n } else {\r\n this.socialLinkObjects = [];\r\n }\r\n }\r\n }\r\n\r\n getLinkForUrl(url) {\r\n let r = url.indexOf(\"http\") > -1 ? url : `/${url}`;\r\n console.log(r);\r\n return r;\r\n }\r\n\r\n isOutsideUrl(url) {\r\n return url.indexOf(\"http\") > -1;\r\n }\r\n\r\n ngOnInit() {\r\n this.user = TokenManagerService.getUser();\r\n this.storageService.getName().subscribe((term) => {\r\n if (!term) {\r\n this.loggedUserName = \"\";\r\n } else {\r\n this.loggedUserName = term;\r\n }\r\n });\r\n this.storageService.getLegalBanner().subscribe((term) => {\r\n if (!term) {\r\n this.legalBanner = \"\";\r\n } else {\r\n this.legalBanner = term;\r\n }\r\n });\r\n }\r\n\r\n closeLegalBanner() {\r\n localStorage.setItem('legalBannerAgreed', '1');\r\n this.showLegalBanner = false;\r\n }\r\n\r\n checkLinkPrefix(link: string) {\r\n if (link.includes(\"http://\") || link.includes(\"https://\")) {\r\n return link;\r\n } else {\r\n return `http://${link}`;\r\n }\r\n }\r\n /*\r\n changeColor(e, color, link) {\r\n if (!link.active) {\r\n e.target.style.color = color;\r\n }\r\n }\r\n\r\n changeColorr(e, link) {\r\n if (!link.active) {\r\n e.target.style.color = this.styles.style.mainIdentifyingColor;\r\n } \r\n }\r\n*/\r\n changeColor(e, color) {\r\n e.target.style.color = color;\r\n }\r\n\r\n reroute(url) {\r\n //\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n const index = this.layoutResponseModel.footerLinks.indexOf(url);\r\n if (url.url.indexOf(\"http\") > -1) {\r\n window.open(url.url, \"_blank\");\r\n } else {\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n url.active = true;\r\n this.router.navigate([\"/\" + url.url]);\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

{{ language.legalBanner || 'Legal' }}

\r\n

\r\n {{ legalBanner }}\r\n

\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-social-home',\r\n templateUrl: './social-home.component.html',\r\n styleUrls: ['./social-home.component.less']\r\n})\r\nexport class SocialHomeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \"Facebook\"\r\n \"Twitter\"\r\n \"instagram\"\r\n
\r\n
@DNA
\r\n
\r\n
\r\n
\r\n
\r\n \"Person\r\n
\r\n
\r\n
\r\n
\r\n \"Person\r\n
\r\n
\r\n
\r\n
\r\n \"Person\r\n
\r\n
\r\n
\r\n
\r\n \"Person\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Person\r\n
\r\n
\r\n
\r\n
\r\n \"Person\r\n
\r\n
\r\n
\r\n
\r\n \"Person\r\n
\r\n
\r\n
\r\n
\r\n \"Person\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { LayoutModel } from \"../layout/layout-model\";\r\nimport { ActivatedRoute, NavigationEnd, Params, Router } from \"@angular/router\";\r\nimport { TokenManagerService } from \"../shared/services/token-manager.service\";\r\nimport { StorageService } from \"../shared/services/storage.service\";\r\nimport { McService } from \"../shared/services/mc-service\";\r\nimport { environment } from \"../../environments/environment\";\r\nimport { FontsAndColorsService } from \"../shared/services/fonts-and-colors.service\";\r\nimport { PageStyle } from \"../models/style/style.model\";\r\nimport { MetaModel } from \"../models/meta/meta\";\r\nimport { Meta, Title } from \"@angular/platform-browser\";\r\nimport { Language } from \"../models/language/language.model\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { CommunicationService } from \"../shared/services/communication.service\";\r\nimport { ButtonsHelper } from \"../shared/helpers/buttons-helper\";\r\nimport { MyFilesService } from \"../shared/services/my-files.service\";\r\nimport { GoogleAnalyticsEventsService } from \"../shared/services/google-analytics-events.service\";\r\nimport { SearchComponent } from \"./search/search.component\";\r\nimport { MyFilesModel } from \"../shared/services/my-files-model\";\r\n\r\n@Component({\r\n selector: \"app-header-2\",\r\n templateUrl: \"./header-2.component.html\",\r\n styleUrls: [\"./header-2.component.less\"],\r\n})\r\nexport class HeaderComponent2 implements OnInit {\r\n @Input() layoutResponseModel: LayoutModel;\r\n @Input() metadatas: MetaModel[];\r\n @ViewChild('appSearch') searchChild: SearchComponent;\r\n @ViewChild(\"logoFlag\") logoFlag: ElementRef;\r\n styles: PageStyle;\r\n search: boolean;\r\n mobileNav: boolean;\r\n showDropdown: boolean;\r\n showMobDropdown: boolean;\r\n loggedUserName = \"\";\r\n mustRegister: boolean;\r\n anonymousShare: boolean;\r\n cms: any;\r\n user: any;\r\n loader: boolean;\r\n loginActive = false;\r\n loginColor: any;\r\n signinActive = false;\r\n signinColor: any;\r\n logo = \"\";\r\n language: Language;\r\n mobileLanguageDropdown = false;\r\n brandsColor: any;\r\n brandsActive = false;\r\n showDropdownLng = false;\r\n activeLng = \"English\";\r\n sLng: number;\r\n fromBrandsUrl: string;\r\n biggerLogo = false;\r\n invertColors = true;\r\n socialLinkObjects: any;\r\n showMyFiles: boolean = false;\r\n buttonsHelper = ButtonsHelper;\r\n cart: MyFilesModel = new MyFilesModel([], []);\r\n loggedUserEmail: any;\r\n markets = [];\r\n\r\n invertedHeaderRoutesExact: string[] = [\"/\", \"/home\", \"/about-us\", \"story\"];\r\n invertedHeaderRoutesPartial: string[] = [\"story\"];\r\n\r\n constructor(\r\n private router: Router,\r\n private mcService: McService,\r\n private authService: TokenManagerService,\r\n private languageService: LanguageService,\r\n private titleService: Title,\r\n private meta: Meta,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private communicationsService: CommunicationService,\r\n private storageService: StorageService,\r\n private myFilesService: MyFilesService,\r\n private googleAnalytics: GoogleAnalyticsEventsService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.myFilesService.files.subscribe((myFiles) => {\r\n this.cart = myFiles;\r\n });\r\n if (this.router.url.indexOf(\"brands\") > 0) {\r\n this.brandsActive = true;\r\n this.brandsColor = this.styles.style.mainIdentifyingColor;\r\n }\r\n\r\n this.checkRouteForHeader();\r\n\r\n const component = this;\r\n this.communicationsService.fromBrands.subscribe((url: string) => {\r\n if (url) {\r\n setTimeout(() => {\r\n url = url.replace(/%2F/, \"/\");\r\n url = url.replace(/%2F/, \"/\");\r\n url = url.replace(/%3A/, \":\");\r\n component.fromBrandsUrl = url;\r\n });\r\n }\r\n });\r\n\r\n this.languageService.languageId.subscribe((languageId: number) => {\r\n this.sLng = languageId;\r\n this.getLng(this.sLng);\r\n });\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.storageService.getMustRegister().subscribe((mustRegister) => {\r\n component.mustRegister = mustRegister;\r\n });\r\n this.storageService.getAnonymousShare().subscribe((anonymousShare) => {\r\n component.anonymousShare = anonymousShare;\r\n });\r\n }\r\n\r\n checkRouteForHeader() {\r\n this.checkIsInvertedHeader(this.router.url);\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.checkIsInvertedHeader(event.url);\r\n }\r\n });\r\n }\r\n\r\n checkIsInvertedHeader(route: string) {\r\n const oneExact = this.invertedHeaderRoutesExact.some((r) => r == route);\r\n const onePartial = this.invertedHeaderRoutesPartial.some(\r\n (r) => route.indexOf(r) > 0\r\n );\r\n this.invertColors = oneExact || onePartial;\r\n }\r\n\r\n currentMarket;\r\n\r\n ngOnInit() {\r\n var actualWebsite: String = window.location.origin;\r\n\r\n this.cart = this.myFilesService.getMyFiles();\r\n this.language = this.languageService.getLanguage();\r\n\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.getLng(this.sLng);\r\n\r\n this.storageService.getName().subscribe((term) => {\r\n this.loggedUserName = term;\r\n this.showDropdown = false;\r\n this.user = TokenManagerService.getUser();\r\n this.loggedUserEmail = this.user.email;\r\n });\r\n this.user = TokenManagerService.getUser();\r\n this.loggedUserName = this.user.fullName;\r\n this.loggedUserEmail = this.user.email;\r\n\r\n this.search = false;\r\n this.mobileNav = false;\r\n\r\n this.socialLinkObjects = JSON.parse(\r\n this.layoutResponseModel.socialLinkJson\r\n );\r\n if (\r\n this.socialLinkObjects !== null &&\r\n this.socialLinkObjects !== undefined\r\n ) {\r\n this.socialLinkObjects = this.socialLinkObjects.map((o) => {\r\n o.name = o.name.toLowerCase();\r\n o.link = this.checkLinkPrefix(o.link);\r\n return o;\r\n });\r\n } else {\r\n this.socialLinkObjects = [];\r\n }\r\n this.mcService.getMarkets().subscribe((markets: any) => {\r\n this.markets = markets;\r\n //check according to current url which market is active, ignoring cases, protocol and www, query params, everything after /, just the domain\r\n let currentDomain = window.location.href.toLowerCase();\r\n currentDomain = currentDomain.replace(/(^\\w+:|^)\\/\\//, \"\");\r\n currentDomain = currentDomain.replace(/www./, \"\");\r\n currentDomain = currentDomain.replace(/\\/.*/, \"\");\r\n this.markets.forEach((market) => {\r\n let marketUrl = market.url.toLowerCase();\r\n marketUrl = marketUrl.replace(/(^\\w+:|^)\\/\\//, \"\");\r\n marketUrl = marketUrl.replace(/www./, \"\");\r\n marketUrl = marketUrl.replace(/\\/.*/, \"\");\r\n if (marketUrl === currentDomain) {\r\n this.currentMarket = market;\r\n }\r\n });\r\n });\r\n }\r\n\r\n closeMyFiles(event) {\r\n if (event.target.id !== \"myFilesNav\") this.showMyFiles = false;\r\n }\r\n\r\n openMyFiles() {\r\n this.closeNav();\r\n this.showMyFiles = true;\r\n }\r\n\r\n checkLinkPrefix(link: string) {\r\n if (link.includes(\"http://\") || link.includes(\"https://\")) {\r\n return link;\r\n } else {\r\n return `http://${link}`;\r\n }\r\n }\r\n\r\n onLoad() {\r\n const width = (this.logoFlag.nativeElement as HTMLImageElement)\r\n .naturalWidth;\r\n const height = (this.logoFlag.nativeElement as HTMLImageElement)\r\n .naturalHeight;\r\n\r\n if (width > 4 * height) {\r\n this.biggerLogo = true;\r\n } else {\r\n this.biggerLogo = false;\r\n }\r\n }\r\n\r\n getLng(languageId) {\r\n if (this.layoutResponseModel) {\r\n for (let i = 0; i < this.layoutResponseModel.languages.length; i++) {\r\n if (languageId == this.layoutResponseModel.languages[i].id) {\r\n this.activeLng = this.layoutResponseModel.languages[i].label;\r\n }\r\n if (languageId == 0) {\r\n this.activeLng = \"English\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n translate(id, label) {\r\n this.loader = true;\r\n this.activeLng = label;\r\n\r\n this.languageService.setLanguageId(id);\r\n\r\n this.router.navigateByUrl(\"/home\");\r\n location.reload();\r\n }\r\n\r\n changeColor(e, color, link) {\r\n if (link && !link.active) {\r\n e.target.style.color = color;\r\n }\r\n }\r\n\r\n changeColorr(e, link) {\r\n if (link && !link.active) {\r\n e.target.style.color = this.styles.style.textLinkHoverColor;\r\n }\r\n }\r\n\r\n changeColorCustomLink(e, color) {\r\n if (!this.brandsActive) {\r\n e.target.style.color = \"#3a3a3a\";\r\n }\r\n }\r\n\r\n changeColorrCustomLink(e, link) {\r\n if (!this.brandsActive) {\r\n e.target.style.color = this.styles.style.textLinkHoverColor;\r\n }\r\n }\r\n\r\n changeColorLinkBack(e, color) {\r\n e.target.style.color = this.styles.style.textH2Color;\r\n }\r\n\r\n changeColorLink(e) {\r\n e.target.style.color = this.styles.style.mainIdentifyingColor;\r\n }\r\n\r\n redirectToCms() {\r\n this.mcService.redirectToCms(this.user.cmsUser).subscribe(\r\n (response: any) => {\r\n window.open(environment.cmsUrl + response.token, \"_blank\");\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n this.user = TokenManagerService.getUser();\r\n this.myFilesService.setMyFiles(this.myFilesService.getFiles());\r\n this.loggedUserName = this.user.fullName;\r\n this.loggedUserEmail = this.user.email;\r\n if (this.mustRegister) {\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n this.router.navigateByUrl(\"/home\");\r\n }\r\n }\r\n\r\n showProfile() {\r\n this.showDropdown = !this.showDropdown;\r\n }\r\n\r\n showLanguage() {\r\n this.showDropdownLng = !this.showDropdownLng;\r\n }\r\n\r\n showDropdownMarkets: boolean = false;\r\n\r\n showMarkets() {\r\n this.showDropdownMarkets = !this.showDropdownMarkets;\r\n }\r\n\r\n showMobileLanguage() {\r\n this.mobileLanguageDropdown = !this.mobileLanguageDropdown;\r\n }\r\n\r\n showMobileProfile() {\r\n this.showMobDropdown = !this.showMobDropdown;\r\n }\r\n\r\n editProfile() {\r\n this.router.navigateByUrl(\"/profile\");\r\n }\r\n\r\n reroute(url) {\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.brandsActive = false;\r\n this.brandsColor = this.styles.style.textHeaderColor;\r\n const index = this.layoutResponseModel.headerLinks.indexOf(url);\r\n if (url.url.indexOf(\"http\") > -1) {\r\n window.open(url.url, \"_blank\");\r\n } else {\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.router.navigateByUrl(url.url);\r\n url.active = true;\r\n }\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n url.link\r\n );\r\n }\r\n\r\n activeLink() {\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.headerLinks.forEach((x) => {\r\n if (\"/\" + x.url === \"/home\") {\r\n x.active = true;\r\n } else {\r\n x.active = false;\r\n }\r\n });\r\n }\r\n\r\n rerouteToLogin(text: string) {\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.googleAnalytics.emitEvent(\"MenuClick\", \"MenuOption\", text);\r\n }\r\n\r\n rerouteToBrands() {\r\n this.brandsActive = true;\r\n this.brandsColor = this.styles.style.mainIdentifyingColor;\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n }\r\n\r\n showSearch() {\r\n this.search = true;\r\n this.searchChild?.wipeSearch();\r\n const input = document.getElementById(\"story-search-big\");\r\n setTimeout(() => {\r\n input.focus();\r\n }, 250);\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.style.position = \"fixed\";\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n this.language.search\r\n );\r\n }\r\n\r\n openMobileNav() {\r\n this.mobileNav = true;\r\n }\r\n\r\n closeNav() {\r\n this.mobileNav = false;\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdown = false;\r\n }\r\n }\r\n\r\n onClickOutsidee(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdownLng = false;\r\n }\r\n }\r\n\r\n onClickOutsideMarkets(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdownMarkets = false;\r\n }\r\n }\r\n\r\n goToMarket(market: any) {\r\n let url = market.url;\r\n this.loader = true;\r\n const currentProtocol = window.location.protocol;\r\n if (url.indexOf(\"http\") == -1 && url.indexOf(\"https\") == -1) {\r\n url = currentProtocol + \"//\" + url;\r\n }\r\n this.mcService.redirectToMarket().subscribe(\r\n (response: any) => {\r\n const token = response.token;\r\n window.location.href = url + '?token=' + token;\r\n },\r\n (error) => {\r\n window.location.href = url;\r\n }\r\n );\r\n }\r\n\r\n showFiles() {\r\n this.showMyFiles = !this.showMyFiles;\r\n if (this.showMyFiles)\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n this.language.myFiles || this.language.myFiles\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n SEARCH\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ link.link }}\r\n
\r\n
\r\n \r\n
\r\n {{ language.brands }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ language.myFiles || language.myFiles }} ({{\r\n cart ? cart.length || 0 : 0\r\n }})\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n {{ currentMarket == null ? 'Markets' : currentMarket.marketName }}\r\n
\r\n
\r\n
\r\n
\r\n {{ market.marketName }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
1\">\r\n
\r\n {{ activeLng }}\r\n
\r\n
\r\n
\r\n
\r\n {{ lng.label }}\r\n
\r\n
\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, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { LayoutModel } from \"../layout/layout-model\";\r\nimport { ActivatedRoute, NavigationEnd, Params, Router } from \"@angular/router\";\r\nimport { TokenManagerService } from \"../shared/services/token-manager.service\";\r\nimport { StorageService } from \"../shared/services/storage.service\";\r\nimport { McService } from \"../shared/services/mc-service\";\r\nimport { environment } from \"../../environments/environment\";\r\nimport { FontsAndColorsService } from \"../shared/services/fonts-and-colors.service\";\r\nimport { PageStyle } from \"../models/style/style.model\";\r\nimport { MetaModel } from \"../models/meta/meta\";\r\nimport { Meta, Title } from \"@angular/platform-browser\";\r\nimport { Language } from \"../models/language/language.model\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { CommunicationService } from \"../shared/services/communication.service\";\r\nimport { ButtonsHelper } from \"../shared/helpers/buttons-helper\";\r\nimport { MyFilesService } from \"../shared/services/my-files.service\";\r\nimport { GoogleAnalyticsEventsService } from \"../shared/services/google-analytics-events.service\";\r\nimport { SearchComponent } from \"./search/search.component\";\r\nimport { MyFilesModel } from \"../shared/services/my-files-model\";\r\n\r\n@Component({\r\n selector: \"app-header-3\",\r\n templateUrl: \"./header-3.component.html\",\r\n styleUrls: [\"./header-3.component.less\"],\r\n})\r\nexport class HeaderComponent3 implements OnInit {\r\n @Input() layoutResponseModel: LayoutModel;\r\n @Input() metadatas: MetaModel[];\r\n @ViewChild('appSearch') searchChild: SearchComponent;\r\n @ViewChild(\"logoFlag\") logoFlag: ElementRef;\r\n styles: PageStyle;\r\n search: boolean;\r\n mobileNav: boolean;\r\n showDropdown: boolean;\r\n showMobDropdown: boolean;\r\n loggedUserName = \"\";\r\n mustRegister: boolean;\r\n anonymousShare: boolean;\r\n cms: any;\r\n user: any;\r\n loader: boolean;\r\n loginActive = false;\r\n loginColor: any;\r\n signinActive = false;\r\n signinColor: any;\r\n logo = \"\";\r\n language: Language;\r\n mobileLanguageDropdown = false;\r\n brandsColor: any;\r\n brandsActive = false;\r\n showDropdownLng = false;\r\n activeLng = \"English\";\r\n sLng: number;\r\n fromBrandsUrl: string;\r\n biggerLogo = false;\r\n invertColors = true;\r\n socialLinkObjects: any;\r\n showMyFiles: boolean = false;\r\n buttonsHelper = ButtonsHelper;\r\n cart: MyFilesModel = new MyFilesModel([], []);\r\n loggedUserEmail: any;\r\n markets = [];\r\n\r\n invertedHeaderRoutesExact: string[] = [\"/\", \"/home\", \"/about-us\", \"story\"];\r\n invertedHeaderRoutesPartial: string[] = [\"story\"];\r\n\r\n constructor(\r\n private router: Router,\r\n private mcService: McService,\r\n private authService: TokenManagerService,\r\n private languageService: LanguageService,\r\n private titleService: Title,\r\n private meta: Meta,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private communicationsService: CommunicationService,\r\n private storageService: StorageService,\r\n private myFilesService: MyFilesService,\r\n private googleAnalytics: GoogleAnalyticsEventsService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.myFilesService.files.subscribe((myFiles) => {\r\n this.cart = myFiles;\r\n });\r\n if (this.router.url.indexOf(\"brands\") > 0) {\r\n this.brandsActive = true;\r\n this.brandsColor = this.styles.style.mainIdentifyingColor;\r\n }\r\n\r\n this.checkRouteForHeader();\r\n\r\n const component = this;\r\n this.communicationsService.fromBrands.subscribe((url: string) => {\r\n if (url) {\r\n setTimeout(() => {\r\n url = url.replace(/%2F/, \"/\");\r\n url = url.replace(/%2F/, \"/\");\r\n url = url.replace(/%3A/, \":\");\r\n component.fromBrandsUrl = url;\r\n });\r\n }\r\n });\r\n\r\n this.languageService.languageId.subscribe((languageId: number) => {\r\n this.sLng = languageId;\r\n this.getLng(this.sLng);\r\n });\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n\r\n this.storageService.getMustRegister().subscribe((mustRegister) => {\r\n component.mustRegister = mustRegister;\r\n });\r\n this.storageService.getAnonymousShare().subscribe((anonymousShare) => {\r\n component.anonymousShare = anonymousShare;\r\n });\r\n }\r\n\r\n checkRouteForHeader() {\r\n this.checkIsInvertedHeader(this.router.url);\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.checkIsInvertedHeader(event.url);\r\n }\r\n });\r\n }\r\n\r\n checkIsInvertedHeader(route: string) {\r\n const oneExact = this.invertedHeaderRoutesExact.some((r) => r == route);\r\n const onePartial = this.invertedHeaderRoutesPartial.some(\r\n (r) => route.indexOf(r) > 0\r\n );\r\n this.invertColors = oneExact || onePartial;\r\n }\r\n\r\n currentMarket;\r\n\r\n ngOnInit() {\r\n var actualWebsite: String = window.location.origin;\r\n\r\n this.cart = this.myFilesService.getMyFiles();\r\n this.language = this.languageService.getLanguage();\r\n\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.getLng(this.sLng);\r\n\r\n this.storageService.getName().subscribe((term) => {\r\n this.loggedUserName = term;\r\n this.showDropdown = false;\r\n this.user = TokenManagerService.getUser();\r\n this.loggedUserEmail = this.user.email;\r\n });\r\n this.user = TokenManagerService.getUser();\r\n this.loggedUserName = this.user.fullName;\r\n this.loggedUserEmail = this.user.email;\r\n\r\n this.search = false;\r\n this.mobileNav = false;\r\n\r\n this.socialLinkObjects = JSON.parse(\r\n this.layoutResponseModel.socialLinkJson\r\n );\r\n if (\r\n this.socialLinkObjects !== null &&\r\n this.socialLinkObjects !== undefined\r\n ) {\r\n this.socialLinkObjects = this.socialLinkObjects.map((o) => {\r\n o.name = o.name.toLowerCase();\r\n o.link = this.checkLinkPrefix(o.link);\r\n return o;\r\n });\r\n } else {\r\n this.socialLinkObjects = [];\r\n }\r\n this.mcService.getMarkets().subscribe((markets: any) => {\r\n this.markets = markets;\r\n //check according to current url which market is active, ignoring cases, protocol and www, query params, everything after /, just the domain\r\n let currentDomain = window.location.href.toLowerCase();\r\n currentDomain = currentDomain.replace(/(^\\w+:|^)\\/\\//, \"\");\r\n currentDomain = currentDomain.replace(/www./, \"\");\r\n currentDomain = currentDomain.replace(/\\/.*/, \"\");\r\n this.markets.forEach((market) => {\r\n let marketUrl = market.url.toLowerCase();\r\n marketUrl = marketUrl.replace(/(^\\w+:|^)\\/\\//, \"\");\r\n marketUrl = marketUrl.replace(/www./, \"\");\r\n marketUrl = marketUrl.replace(/\\/.*/, \"\");\r\n if (marketUrl === currentDomain) {\r\n this.currentMarket = market;\r\n }\r\n });\r\n });\r\n }\r\n\r\n closeMyFiles(event) {\r\n if (event.target.id !== \"myFilesNav\") this.showMyFiles = false;\r\n }\r\n\r\n openMyFiles() {\r\n this.closeNav();\r\n this.showMyFiles = true;\r\n }\r\n\r\n checkLinkPrefix(link: string) {\r\n if (link.includes(\"http://\") || link.includes(\"https://\")) {\r\n return link;\r\n } else {\r\n return `http://${link}`;\r\n }\r\n }\r\n\r\n onLoad() {\r\n const width = (this.logoFlag.nativeElement as HTMLImageElement)\r\n .naturalWidth;\r\n const height = (this.logoFlag.nativeElement as HTMLImageElement)\r\n .naturalHeight;\r\n\r\n if (width > 4 * height) {\r\n this.biggerLogo = true;\r\n } else {\r\n this.biggerLogo = false;\r\n }\r\n }\r\n\r\n getLng(languageId) {\r\n if (this.layoutResponseModel) {\r\n for (let i = 0; i < this.layoutResponseModel.languages.length; i++) {\r\n if (languageId == this.layoutResponseModel.languages[i].id) {\r\n this.activeLng = this.layoutResponseModel.languages[i].label;\r\n }\r\n if (languageId == 0) {\r\n this.activeLng = \"English\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n translate(id, label) {\r\n this.loader = true;\r\n this.activeLng = label;\r\n\r\n this.languageService.setLanguageId(id);\r\n\r\n this.router.navigateByUrl(\"/home\");\r\n location.reload();\r\n }\r\n\r\n changeColor(e, color, link) {\r\n if (link && !link.active) {\r\n e.target.style.color = color;\r\n }\r\n }\r\n\r\n changeColorr(e, link) {\r\n if (link && !link.active) {\r\n e.target.style.color = this.styles.style.textLinkHoverColor;\r\n }\r\n }\r\n\r\n changeColorCustomLink(e, color) {\r\n if (!this.brandsActive) {\r\n e.target.style.color = \"#3a3a3a\";\r\n }\r\n }\r\n\r\n changeColorrCustomLink(e, link) {\r\n if (!this.brandsActive) {\r\n e.target.style.color = this.styles.style.textLinkHoverColor;\r\n }\r\n }\r\n\r\n changeColorLinkBack(e, color) {\r\n e.target.style.color = this.styles.style.textH2Color;\r\n }\r\n\r\n changeColorLink(e) {\r\n e.target.style.color = this.styles.style.mainIdentifyingColor;\r\n }\r\n\r\n redirectToCms() {\r\n this.mcService.redirectToCms(this.user.cmsUser).subscribe(\r\n (response: any) => {\r\n window.open(environment.cmsUrl + response.token, \"_blank\");\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n this.user = TokenManagerService.getUser();\r\n this.myFilesService.setMyFiles(this.myFilesService.getFiles());\r\n this.loggedUserName = this.user.fullName;\r\n this.loggedUserEmail = this.user.email;\r\n if (this.mustRegister) {\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n this.router.navigateByUrl(\"/home\");\r\n }\r\n }\r\n\r\n showProfile() {\r\n this.showDropdown = !this.showDropdown;\r\n }\r\n\r\n showLanguage() {\r\n this.showDropdownLng = !this.showDropdownLng;\r\n }\r\n\r\n showDropdownMarkets: boolean = false;\r\n\r\n showMarkets() {\r\n this.showDropdownMarkets = !this.showDropdownMarkets;\r\n }\r\n\r\n showMobileLanguage() {\r\n this.mobileLanguageDropdown = !this.mobileLanguageDropdown;\r\n }\r\n\r\n showMobileProfile() {\r\n this.showMobDropdown = !this.showMobDropdown;\r\n }\r\n\r\n editProfile() {\r\n this.router.navigateByUrl(\"/profile\");\r\n }\r\n\r\n reroute(url) {\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.brandsActive = false;\r\n this.brandsColor = this.styles.style.textHeaderColor;\r\n const index = this.layoutResponseModel.headerLinks.indexOf(url);\r\n if (url.url.indexOf(\"http\") > -1) {\r\n window.open(url.url, \"_blank\");\r\n } else {\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.router.navigateByUrl(url.url);\r\n url.active = true;\r\n }\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n url.link\r\n );\r\n }\r\n\r\n activeLink() {\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.headerLinks.forEach((x) => {\r\n if (\"/\" + x.url === \"/home\") {\r\n x.active = true;\r\n } else {\r\n x.active = false;\r\n }\r\n });\r\n }\r\n\r\n rerouteToLogin(text: string) {\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n this.googleAnalytics.emitEvent(\"MenuClick\", \"MenuOption\", text);\r\n }\r\n\r\n rerouteToBrands() {\r\n this.brandsActive = true;\r\n this.brandsColor = this.styles.style.mainIdentifyingColor;\r\n this.layoutResponseModel.headerLinks.forEach((x) => (x.active = false));\r\n this.layoutResponseModel.footerLinks.forEach((x) => (x.active = false));\r\n }\r\n\r\n showSearch() {\r\n this.search = true;\r\n this.searchChild?.wipeSearch();\r\n const input = document.getElementById(\"story-search-big\");\r\n setTimeout(() => {\r\n input.focus();\r\n }, 250);\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.style.position = \"fixed\";\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n this.language.search\r\n );\r\n }\r\n\r\n openMobileNav() {\r\n this.mobileNav = true;\r\n }\r\n\r\n closeNav() {\r\n this.mobileNav = false;\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdown = false;\r\n }\r\n }\r\n\r\n onClickOutsidee(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdownLng = false;\r\n }\r\n }\r\n\r\n onClickOutsideMarkets(event: Object) {\r\n if (event && event[\"value\"] === true) {\r\n this.showDropdownMarkets = false;\r\n }\r\n }\r\n\r\n goToMarket(market: any) {\r\n let url = market.url;\r\n this.loader = true;\r\n const currentProtocol = window.location.protocol;\r\n if (url.indexOf(\"http\") == -1 && url.indexOf(\"https\") == -1) {\r\n url = currentProtocol + \"//\" + url;\r\n }\r\n this.mcService.redirectToMarket().subscribe(\r\n (response: any) => {\r\n const token = response.token;\r\n window.location.href = url + '?token=' + token;\r\n },\r\n (error) => {\r\n window.location.href = url;\r\n }\r\n );\r\n }\r\n\r\n showFiles() {\r\n this.showMyFiles = !this.showMyFiles;\r\n if (this.showMyFiles)\r\n this.googleAnalytics.emitEvent(\r\n \"MenuClick\",\r\n \"MenuOption\",\r\n this.language.myFiles || this.language.myFiles\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n SEARCH\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ link.link }}\r\n
\r\n
\r\n \r\n
\r\n {{ language.brands }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ language.myFiles || language.myFiles }} ({{\r\n cart ? cart.length || 0 : 0\r\n }})\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n {{ currentMarket == null ? 'Markets' : currentMarket.marketName }}\r\n
\r\n
\r\n
\r\n
\r\n {{ market.marketName }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
1\">\r\n
\r\n {{ activeLng }}\r\n
\r\n
\r\n
\r\n
\r\n {{ lng.label }}\r\n
\r\n
\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 { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class WebpHelperService {\r\n constructor() {}\r\n\r\n changeFileToWebP(url: string): string {\r\n if (url == null || url == undefined) return \"\";\r\n return url.replace(/\\.[^/.]+$/, \".webp\");\r\n }\r\n\r\n removeWebP(event): void {\r\n const target = event.target;\r\n const parent = target.parentElement;\r\n const imgElement = parent.querySelector(\"img\");\r\n\r\n if (parent.children[0].type == \"image/webp\") {\r\n parent.children[0].remove();\r\n } else if (parent.children[0].type == \"image/jpeg\") {\r\n parent.children[0].remove();\r\n imgElement.classList.add(\"document-overlay\");\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'replace'})\r\n\r\nexport class ReplacePipe implements PipeTransform {\r\n transform(value: string, strToReplace: string, replacementStr: string): string {\r\n\r\n if(!value || ! strToReplace || ! replacementStr)\r\n {\r\n return value;\r\n }\r\n\r\n return value.replace(new RegExp(strToReplace, 'g'), replacementStr);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class CommunicationService {\r\n\r\n public fromBrands: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n private _data;\r\n set data(value) {\r\n this._data = value;\r\n }\r\n get data() {\r\n return this._data;\r\n }\r\n\r\n setFromBrands(url: string) {\r\n this.fromBrands.next(url);\r\n }\r\n public fixedWrapper: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import { WebNewsModel } from '../../../routes/news/news-model';\r\nimport { WebManageMediaModel } from '../../../download/download-model';\r\n\r\nexport class SearchModel {\r\n public subClients: ClientLookupModel[];\r\n public mainCategories: BaseLookupModel[];\r\n public customCategories: CustomCategoryLookupModel[];\r\n public searchModel: WebSearchModel;\r\n public hasCustomCategories: boolean;\r\n public hasMainCategories: boolean;\r\n\r\n\r\n constructor() {\r\n this.searchModel = new WebSearchModel();\r\n this.subClients = [];\r\n }\r\n}\r\n\r\nexport class ClientLookupModel {\r\n public parentId: number;\r\n public id: number;\r\n public label: string;\r\n\r\n //added new properties\r\n public checked: boolean;\r\n}\r\n\r\nexport class BaseLookupModel {\r\n public id: number;\r\n public label: string;\r\n\r\n //added new properties\r\n public checked: boolean;\r\n}\r\n\r\nexport class CustomCategoryLookupModel {\r\n public parentId: number;\r\n public mainCategoryId: number;\r\n public clientId: number;\r\n public id: number;\r\n public label: string;\r\n\r\n //added new properties\r\n public marked: boolean;\r\n}\r\n\r\nexport class WebSearchModel {\r\n public stories: boolean;\r\n public media: boolean;\r\n public images: boolean;\r\n public video: boolean;\r\n public document: boolean;\r\n public audio: boolean;\r\n public dateFrom: string;\r\n public dateTo: string;\r\n public searchText: string;\r\n public mainCategoryIds: number[];\r\n public customCategoryIds: number[];\r\n public subClientIds: number[];\r\n public page: number;\r\n public pageSize: number;\r\n public languageId: number;\r\n\r\n constructor() {\r\n this.stories = true;\r\n this.media = true;\r\n this.images = true;\r\n this.video = false;\r\n this.document = false;\r\n this.audio = false;\r\n this.dateFrom = null;\r\n this.dateTo = null;\r\n this.searchText = '';\r\n this.customCategoryIds = [];\r\n this.mainCategoryIds = [];\r\n this.subClientIds = [];\r\n }\r\n}\r\n\r\nexport class SearchResultModel {\r\n public stories: WebNewsModel[];\r\n public media: WebManageMediaModel[];\r\n public mustRegisterToAccess: boolean;\r\n public mustRegisterToDownload: boolean;\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { LoginModel, NewPasswordModel } from \"../login-model\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { ToastrConfig } from \"../../shared/helpers/toastr-config\";\r\n\r\n@Component({\r\n selector: \"app-reset-password-admin\",\r\n templateUrl: \"./reset-password-admin.component.html\",\r\n styleUrls: [\"./reset-password-admin.component.less\"],\r\n})\r\nexport class ResetPasswordAdminComponent implements OnInit {\r\n loggedUserName: string;\r\n passwordReset: boolean;\r\n valForm: FormGroup;\r\n loader = false;\r\n data = new NewPasswordModel();\r\n patternPassword = /^\\S*$/;\r\n confirmError: boolean;\r\n language: Language;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private languageService: LanguageService,\r\n private toastr: ToastrService,\r\n private activatedRoute: ActivatedRoute,\r\n private authLoginService: TokenManagerService,\r\n private router: Router,\r\n private sService: StorageService\r\n ) {\r\n this.valForm = this.fb.group({\r\n \"new-password\": [\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n Validators.pattern(this.patternPassword),\r\n ]),\r\n ],\r\n confirmpassword: [null, Validators.required],\r\n });\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n const userId = params[\"id\"];\r\n this.data.resetCode = userId;\r\n\r\n this.authLoginService\r\n .checkPasswordCodeAdmin(this.data.resetCode)\r\n .subscribe(\r\n (response: any) => {\r\n const body: string = response;\r\n\r\n if (body === \"null\") {\r\n this.toastr.error('Reset link has already been used.', 'Error', ToastrConfig.error);\r\n this.router.navigate([\"./sign-in\"]);\r\n }\r\n },\r\n (error) => {\r\n //\r\n this.toastr.error('An error occurred while trying to reset password.', 'Error', ToastrConfig.error);\r\n }\r\n );\r\n });\r\n\r\n // this.authLoginService.checkAuthentication(this.data.resetCode)\r\n // .subscribe(\r\n // (response) => {\r\n //\r\n // }, (error) => {\r\n // const toast: Toast = {\r\n // type: 'error',\r\n // title: 'Error',\r\n // body: 'Reset link has already been used.',\r\n // showCloseButton: true,\r\n // timeout: 5000,\r\n // closeHtml: '
'\r\n // };\r\n //\r\n // this.toasterService.pop(toast);\r\n // this.router.navigate(['./login']);\r\n // }\r\n // );\r\n }\r\n\r\n checkPassword() {\r\n if (\r\n this.valForm.controls[\"new-password\"].value ===\r\n this.valForm.controls[\"confirmpassword\"].value\r\n ) {\r\n this.confirmError = false;\r\n }\r\n }\r\n\r\n reset(e, data) {\r\n e.stopPropagation();\r\n\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n if (this.valForm.valid) {\r\n this.authLoginService.resetPasswordAdmin(data).subscribe(\r\n (response: any) => {\r\n //\r\n this.toastr.success('Password changed successfully!', 'Well done!', ToastrConfig.success);\r\n\r\n this.passwordReset = true;\r\n\r\n const loginModel = new LoginModel();\r\n loginModel.email = response.json().email;\r\n loginModel.password = data.newPassword;\r\n\r\n this.authLoginService.login(loginModel).subscribe(\r\n (res) => {\r\n this.loader = false;\r\n this.loggedUserName = TokenManagerService.getUser().fullName;\r\n // this.isPassowordSet = TokenManagerService.getUser().isPasswordSet;\r\n this.sService.setName(this.loggedUserName);\r\n // this.sService.setPw(this.isPassowordSet);\r\n // this.router.navigate(['/profile']);\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n\r\n // this.router.navigate(['/login']);\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

Reset password

\r\n
\r\n
\r\n \r\n \r\n \r\n New password is required\r\n \r\n \r\n {{ language.passwordNoSpaces }}\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.confirmPasswordRequired }}\r\n \r\n Passwords\r\n do not match.\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Welcome, {{loggedUserName}}

\r\n

Your password has been reset.

\r\n \r\n \r\n \r\n
\r\n
\r\n
","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {EmailModel} from '../login-model';\r\nimport {TokenManagerService} from '../../shared/services/token-manager.service';\r\nimport {CustomValidators} from 'ng2-validation';\r\nimport {PageStyle} from '../../models/style/style.model';\r\nimport {FontsAndColorsService} from '../../shared/services/fonts-and-colors.service';\r\nimport {Language} from '../../models/language/language.model';\r\nimport {LanguageService} from '../../shared/services/language.service';\r\n\r\n@Component({\r\n selector: 'app-email-popup',\r\n templateUrl: './email-popup.component.html',\r\n styleUrls: ['./email-popup.component.less']\r\n})\r\nexport class EmailPopupComponent implements OnInit {\r\n\r\n @Output() emailPopupChange = new EventEmitter();\r\n @Output() resetPasswordChange = new EventEmitter();\r\n @Output() loginViewChange = new EventEmitter();\r\n @Input() emailPopup: boolean;\r\n @Input() resetPassword: boolean;\r\n @Input() loginView: boolean;\r\n valForm: FormGroup;\r\n data = new EmailModel();\r\n notSend = true;\r\n checkEmail = false;\r\n maiLSent: boolean;\r\n styles = new PageStyle();\r\n language: Language;\r\n\r\n constructor(private fb: FormBuilder, private languageService: LanguageService, private authLoginService: TokenManagerService,public fontsAndColorsService: FontsAndColorsService) {\r\n this.valForm = this.fb.group({\r\n 'emailforpassword': [null, Validators.compose([Validators.required, CustomValidators.email])]\r\n });\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n close() {\r\n this.emailPopupChange.emit(false);\r\n }\r\n\r\n sendEmail(e, data) {\r\n e.stopPropagation();\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n if (this.valForm.valid) {\r\n this.maiLSent = true;\r\n this.authLoginService.ForgotPassword(data.email)\r\n .subscribe(\r\n (response) => {\r\n this.notSend = false;\r\n if(response){\r\n }\r\n },\r\n (error) => {\r\n this.checkEmail = true;\r\n this.maiLSent = false;\r\n //\r\n }\r\n );\r\n /* this.emailPopupChange.emit(false);\r\n this.resetPasswordChange.emit(true);\r\n this.loginViewChange.emit(false);*/\r\n }\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
{{language.forgotPassword}}
\r\n

Please enter your email and we will send you a link to reset your password.

\r\n
\r\n
\r\n \r\n
\r\n {{ language.emailNameRequired }}\r\n
\r\n
\r\n {{ language.invalidEmail }}\r\n
\r\n
\r\n There is no user registered with this email.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Recovery instructions are sent. Please check your email.

\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { GoogleAnalyticsEventsService } from \"./google-analytics-events.service\";\r\n\r\n@Injectable() export class OutBoundLinkClickInterceptService {\r\n\r\n constructor(private googleAnalytics: GoogleAnalyticsEventsService) {\r\n document.onclick = this.interceptHref;\r\n }\r\n\r\n interceptHref = (_event) => {\r\n\r\n const tEvent = _event || window.event;\r\n let element = tEvent.target || tEvent.srcElement;\r\n\r\n while (element.parentElement != null && element?.tagName != 'A' && element?.tagName != 'P') {\r\n element = element.parentElement;\r\n }\r\n\r\n const linkedClicked = element?.tagName == 'A'\r\n if (linkedClicked && element.href.trim() != '') {\r\n const externalUrl = new URL(element.href).origin !== location.origin;\r\n if (externalUrl) {\r\n this.googleAnalytics.emitEvent('ClickExternalLink', 'ClickLinks', 'ExternalLink', element.textContent + \" \" + element.href);\r\n }\r\n }\r\n\r\n }\r\n} ","\r\nimport { map, take } from 'rxjs/operators';\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { UserAuthModel } from \"../login-model\";\r\nimport { MyFilesService } from '../../shared/services/my-files.service';\r\nimport { StorageService } from '../../shared/services/storage.service';\r\n\r\n@Component({\r\n selector: \"app-check-authentication\",\r\n templateUrl: \"./check-authentication.component.html\",\r\n styleUrls: [\"./check-authentication.component.less\"],\r\n})\r\nexport class CheckAuthenticationComponent implements OnInit {\r\n data = new UserAuthModel();\r\n isAuthenticated: any;\r\n\r\n constructor(\r\n private authLoginService: TokenManagerService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private myFilesService: MyFilesService,\r\n private sService: StorageService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n let userId = params[\"id\"];\r\n this.data.code = userId;\r\n });\r\n this.authLoginService.checkAuthentication(this.data).subscribe(\r\n (response) => {\r\n const loggedUserName = TokenManagerService.getUser().fullName;\r\n this.sService.setName(loggedUserName);\r\n const files = this.myFilesService.getFiles();\r\n this.myFilesService.setMyFiles(files);\r\n if (response) {\r\n this.isAuthenticated = true;\r\n }\r\n if (this.isAuthenticated != undefined) {\r\n setTimeout(() => {\r\n this.redirect();\r\n }, 5000);\r\n }\r\n },\r\n (error) => {\r\n this.isAuthenticated = false;\r\n }\r\n );\r\n }\r\n\r\n redirect() {\r\n this.router.navigateByUrl(\"/\");\r\n }\r\n}\r\n","
\r\n
\r\n

Success

\r\n

Error

\r\n

You have verified your account. We will redirect you to home page in {{countDown | async}} or you can click here.

\r\n\r\n

You have already verified your account.

\r\n
\r\n
\r\n\r\n","\r\nimport {fromEvent as observableFromEvent, Observable } from 'rxjs';\r\nimport {\r\n Directive,\r\n OnInit,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { delay, tap } from \"rxjs/operators\";\r\n\r\n@Directive({\r\n selector: \"[appClickOutside]\",\r\n})\r\nexport class ClickOutsideDirective implements OnInit, OnDestroy {\r\n private listening: boolean;\r\n private globalClick: any;\r\n\r\n @Output(\"clickOutside\") clickOutside: EventEmitter;\r\n\r\n constructor(private _elRef: ElementRef) {\r\n this.listening = false;\r\n this.clickOutside = new EventEmitter();\r\n }\r\n\r\n ngOnInit() {\r\n this.globalClick = observableFromEvent(document, \"click\")\r\n .pipe(\r\n delay(1),\r\n tap(() => {\r\n this.listening = true;\r\n })\r\n )\r\n\r\n .subscribe((event: MouseEvent) => {\r\n this.onGlobalClick(event);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.globalClick.unsubscribe();\r\n }\r\n\r\n onGlobalClick(event: MouseEvent) {\r\n if (event instanceof MouseEvent && this.listening === true) {\r\n if (this.isDescendant(this._elRef.nativeElement, event.target) === true) {\r\n this.clickOutside.emit({\r\n target: event.target || null,\r\n value: false,\r\n });\r\n } else {\r\n this.clickOutside.emit({\r\n target: event.target || null,\r\n value: true,\r\n });\r\n }\r\n }\r\n }\r\n\r\n isDescendant(parent, child) {\r\n let node = child;\r\n while (node !== null) {\r\n if (node === parent) {\r\n return true;\r\n } else {\r\n node = node.parentNode;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import {DownloadMediaModel, WebManageMediaModel} from '../../../download/download-model';\r\n\r\nexport class PopupModel {\r\n public media: WebManageMediaModel;\r\n public downloadLinks: DownloadMediaModel[];\r\n public alsoIn: boolean;\r\n public alsoInTitle: string;\r\n public alsoInShortDescription: string;\r\n public socialSharing: string[];\r\n public mustRegisterToDownload: boolean;\r\n public mustRegisterToAccess: boolean;\r\n public anonymousShare: boolean;\r\n public alsoInStoryLink?: string;\r\n public shareUrl?: string;\r\n public shareTitle?: string;\r\n public shareShortDescription?: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequestService } from \"./http-request.service\";\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeleteAccountService {\r\n\r\n constructor(private http: HttpRequestService) { }\r\n\r\n deleteAccount(password: string) {\r\n const data = {\r\n password: password\r\n }\r\n return this.http.post(environment.apiUrl + '/mediacenteruser/deleteuser', data);\r\n }\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\n@Injectable()\r\nexport class ErrorService {\r\n\r\n\r\n private error: any;\r\n\r\n setError(error) {\r\n this.error = error;\r\n }\r\n\r\n getError() {\r\n return this.error;\r\n }\r\n}\r\n","import {BaseLookupModel, CustomCategoryLookupModel} from '../header/search/search-model';\r\n\r\nexport class RegisterModel {\r\n public mediaUserModel: UserManageModel;\r\n public userGroups: EnumModel[];\r\n public customCatogories: CustomCategoryLookupModel[];\r\n public languages: BaseLookupModel[];\r\n public registrationInfoModel: RegistrationInfoModel;\r\n\r\n constructor() {\r\n this.mediaUserModel = new UserManageModel();\r\n }\r\n}\r\n\r\nexport class EnumModel{\r\n public id: string;\r\n public name: string;\r\n\r\n //added new properties\r\n public checked: boolean;\r\n}\r\n\r\n\r\nexport class UserManageModel {\r\n public id: number;\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public password: string;\r\n public confirmPassword: string;\r\n public telephoneNumber: number;\r\n public companyName: string;\r\n public facebookToken: string;\r\n public facebookLink: string;\r\n public twitterAuthorizationVerifier: string;\r\n public twitterAuthorizationId: string;\r\n public twitterLink: string;\r\n public linkedInLink: string;\r\n public mediaUserTypes: string[];\r\n public instagramLink: string;\r\n public youTubeLink: string;\r\n public wordPressLink: string;\r\n public receiveNewsletter: boolean;\r\n public termsAndConditions: boolean;\r\n public customCategoryIds: number[];\r\n public languageIds: number[];\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.firstName = '';\r\n this.lastName = '';\r\n this.email = '';\r\n this.password = '';\r\n this.telephoneNumber;\r\n this.companyName = '';\r\n this.facebookToken = '';\r\n this.facebookLink = '';\r\n this.twitterLink = '';\r\n this.linkedInLink = '';\r\n this.instagramLink = '';\r\n this.youTubeLink = '';\r\n this.wordPressLink = '';\r\n this.receiveNewsletter = false;\r\n this.customCategoryIds = [];\r\n this.languageIds = [];\r\n }\r\n}\r\n\r\nexport class RegistrationInfoModel {\r\n public registerNotificationText: string;\r\n public registerTermsQuestion: string;\r\n public registerNotificationQuestion: string;\r\n\r\n constructor() {\r\n this.registerNotificationText = '';\r\n this.registerNotificationQuestion = '';\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Subject } from \"rxjs/internal/Subject\";\r\nimport { Consent } from \"../../models/consent/consent.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class UserCentricsService {\r\n private consents: Consent = new Consent();\r\n private consentSubject: Subject = new Subject();\r\n private ga4Id = \"G-RQWSC8YPM4\";\r\n\r\n constructor() {}\r\n\r\n setConsents(consentsFromEvent: any) {\r\n const newConsents: Consent = { ...this.consents };\r\n newConsents.googleAnalytics = consentsFromEvent[\"Google Analytics\"];\r\n newConsents.googleTagManager = consentsFromEvent[\"Google Tag Manager\"];\r\n newConsents.facebookSocialPlugins =\r\n consentsFromEvent[\"Facebook Social Plugins\"];\r\n newConsents.UsercentricsConsentManagementPlatform =\r\n consentsFromEvent[\"Usercentrics Consent Management Platform\"];\r\n this.consents = newConsents;\r\n this.consentSubject.next(this.consents);\r\n if (this.isAnalyticsConsented()) this.initializeAnalytics();\r\n else this.destroyAnalytics();\r\n if (this.isFBConsented()) this.initializeFB();\r\n else this.destroyFB();\r\n }\r\n\r\n isAnalyticsConsented() {\r\n return this.consents.googleAnalytics && this.consents.googleTagManager;\r\n }\r\n\r\n updateGA4Id(newId) {\r\n if (newId != this.ga4Id) {\r\n this.ga4Id = newId;\r\n this.destroyAnalytics();\r\n this.initializeAnalytics();\r\n }\r\n }\r\n\r\n initializeAnalytics() {\r\n if (\r\n window &&\r\n document &&\r\n !document.getElementById(\"gtag1\") &&\r\n !document.getElementById(\"gtag2\")\r\n ) {\r\n const script1 = document.createElement(\"script\");\r\n script1.id = \"gtag1\";\r\n script1.src = \"https://www.googletagmanager.com/gtag/js?id=\" + this.ga4Id;\r\n script1.async = true;\r\n\r\n document.head.appendChild(script1);\r\n\r\n const script2 = document.createElement(\"script\");\r\n script2.id = \"gtag2\";\r\n script2.innerHTML = `\r\n window.dataLayer = window.dataLayer || [];\r\n function gtag(){dataLayer.push(arguments);}\r\n gtag('js', new Date());\r\n gtag('config', '${this.ga4Id}');\r\n `;\r\n\r\n document.head.appendChild(script2);\r\n }\r\n }\r\n\r\n destroyAnalytics() {\r\n if (\r\n document &&\r\n document.getElementById(\"gtag1\") &&\r\n document.getElementById(\"gtag2\")\r\n ) {\r\n var parentHead = document.head;\r\n var gtag1 = document.getElementById(\"gtag1\");\r\n var gtag2 = document.getElementById(\"gtag2\");\r\n parentHead.removeChild(gtag1);\r\n parentHead.removeChild(gtag2);\r\n }\r\n }\r\n\r\n isFBConsented() {\r\n return this.consents.facebookSocialPlugins;\r\n }\r\n\r\n initializeFB() {\r\n if (window && document && !document.getElementById(\"fbScript\")) {\r\n // Create the script element\r\n var script = document.createElement(\"script\");\r\n script.id = \"fbScript\";\r\n script.type = \"text/javascript\";\r\n script.src = \"https://connect.facebook.net/en_US/sdk.js\";\r\n\r\n // Append the script element to the document head\r\n document.head.appendChild(script);\r\n }\r\n }\r\n\r\n destroyFB() {\r\n if (document && document.getElementById(\"fbScript\")) {\r\n var parentHead = document.head;\r\n var fbScript = document.getElementById(\"fbScript\");\r\n parentHead.removeChild(fbScript);\r\n }\r\n }\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { TokenManagerService } from \"./token-manager.service\";\r\nimport { HttpEvent, HttpHandler, HttpRequest } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { environment } from \"../../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class AuthInterceptorService {\r\n /*constructor(private auth: TokenManagerService) {\r\n }*/\r\n\r\n constructor() {\r\n }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n //\r\n //\r\n\r\n //const auth: any = this.inj.get(TokenManagerService);\r\n //Don't add Authorization to media blob request\r\n if (req.url.indexOf(environment.mediaUrl) > -1) {\r\n return next.handle(req);\r\n }\r\n\r\n // Get the auth header from the service.\r\n let authHeader = TokenManagerService.getToken();\r\n if (!authHeader) authHeader = \"\";\r\n\r\n // Clone the request to add the new header.\r\n const authReq = req.clone({\r\n headers: req.headers.set(\"Authorization\", authHeader),\r\n });\r\n // Pass on the cloned request instead of the original request.\r\n return next.handle(authReq);\r\n }\r\n}\r\n","import { SafeHtml } from \"@angular/platform-browser\";\r\n\r\nexport class HomeModel {\r\n public featuredStories: FeaturedStoriesModel[];\r\n public allStories: LatestStoriesModel[];\r\n public latesStoryGridType: string;\r\n public mustRegisterToAccess: boolean;\r\n public mustRegisterToDownload: boolean;\r\n public title: string;\r\n public bodyText: string;\r\n public additionalBodyText: string;\r\n public latestStories: LatestStoriesModel[];\r\n public latestStoriesCategory: LatestStoriesCategoryModel[];\r\n public latestMedia: LatestMediaModel[];\r\n public socialSharing: string[];\r\n public socialFeeds: SocialModel[];\r\n public testimonials: TestimonialsModel[];\r\n public homeLatestMediaImage: boolean;\r\n public homeLatestMediaVideo: boolean;\r\n public homeLatestMediaDocument: boolean;\r\n public homeLatestMediaAudio: boolean;\r\n public homeShowTestimonials: boolean;\r\n public hideCounters: boolean;\r\n public filteredStories: LatestStoriesModel[];\r\n}\r\n\r\nexport class FeaturedStoriesModel {\r\n public storyId: number;\r\n public audio: number;\r\n public images: number;\r\n public video: number;\r\n public document: number;\r\n public publishedDate: string;\r\n public category: string[];\r\n public storyTitle: string;\r\n public thumbUrl: string;\r\n public fullHDUrl: string;\r\n public featuredEmbeddedCode: string;\r\n public embeddedCode: SafeHtml;\r\n public mediaType: string;\r\n public hideStoryDate: boolean;\r\n}\r\n\r\nexport class LatestStoriesModel {\r\n public staggingStoryId: number;\r\n public storyId: number;\r\n public audio: number;\r\n public images: number;\r\n public video: number;\r\n public document: number;\r\n public publishedDate: string;\r\n public category: string;\r\n public storyTitle: string;\r\n public thumbUrl: string;\r\n public fullHDUrl?: string;\r\n public featuredEmbeddedCode: string;\r\n public embeddedCode: SafeHtml;\r\n public shortDescription: string;\r\n public views: number;\r\n public shared: number;\r\n public hideStoryDate: boolean;\r\n\r\n //added new properties\r\n public shareDropdown: boolean;\r\n public dropdown: boolean;\r\n}\r\n\r\nexport class LatestStoriesCategoryModel {\r\n public category: string;\r\n public latestStories: LatestStoriesModel[];\r\n public gridType: string;\r\n}\r\n\r\nexport class LatestMediaModel {\r\n public mediaId: number;\r\n public mediaType: string;\r\n public thumbUrl: string;\r\n public fullHDUrl: string;\r\n public title: string;\r\n\r\n //added new properties\r\n public overlay: boolean;\r\n}\r\n\r\nexport class SocialModel {\r\n public name: string;\r\n public imageUrl: string;\r\n public nickname: string;\r\n public text: string;\r\n public date: string;\r\n}\r\n\r\nexport class TestimonialsModel {\r\n public name: string;\r\n public imageUrl: string;\r\n public clientLogoUrl: string;\r\n public text: string;\r\n public date: string;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n HostListener,\r\n ElementRef,\r\n AfterViewInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { McService } from \"../../../shared/services/mc-service\";\r\nimport {\r\n ClientLookupModel,\r\n SearchModel,\r\n SearchResultModel,\r\n WebSearchModel,\r\n} from \"./results-search-model\";\r\nimport { Router } from \"@angular/router\";\r\nimport { StorageService } from \"../../../shared/services/storage.service\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../../shared/services/fonts-and-colors.service\";\r\nimport { LayoutModel } from \"../../../layout/layout-model\";\r\nimport { LanguageService } from \"../../../shared/services/language.service\";\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { GoogleAnalyticsEventsService } from \"../../../shared/services/google-analytics-events.service\";\r\nimport { timeStamp } from \"console\";\r\n\r\n@Component({\r\n selector: \"app-results-search\",\r\n templateUrl: \"./results-search.component.html\",\r\n styleUrls: [\"./results-search.component.less\"],\r\n})\r\nexport class ResultsSearchComponent implements OnInit, AfterViewInit {\r\n @Input() layoutResponseModel: LayoutModel;\r\n @Input() search: boolean;\r\n @Output() searchChange = new EventEmitter();\r\n @Output() openDateFromEmitter = new EventEmitter();\r\n storiesAndMedia: boolean;\r\n stories: boolean;\r\n media: boolean;\r\n loader: boolean;\r\n language: Language;\r\n\r\n /*\r\n dateFrom: Date = new Date(new Date().setDate(new Date().getDate() - 31));\r\n dateTo: Date = new Date();\r\n */\r\n\r\n dateFrom: Date = null;\r\n dateTo: Date = null;\r\n\r\n dateFromButton: boolean;\r\n dateToButton: boolean;\r\n\r\n result: any;\r\n styles = new PageStyle();\r\n headerFooter: any;\r\n searchModelData = new SearchModel();\r\n searchResultResponse = new SearchResultModel();\r\n checked = false;\r\n checkedb = false;\r\n searchFrom = \"stories\";\r\n\r\n constructor(\r\n private mcService: McService,\r\n private languageService: LanguageService,\r\n private router: Router,\r\n private storageService: StorageService,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private elRef: ElementRef,\r\n private sanitizer: DomSanitizer,\r\n private googleAnalytics: GoogleAnalyticsEventsService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n @HostListener(\"document:keyup\", [\"$event\"])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.keyCode === 27) {\r\n this.closeSearch();\r\n }\r\n if (event.keyCode === 13) {\r\n this.searchMc();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.headerFooter = JSON.parse(localStorage.getItem(\"headerfooter\"));\r\n this.getSearch();\r\n }\r\n\r\n ngAfterViewInit() { }\r\n\r\n openDateFrom() {\r\n this.dateFromButton = !this.dateFromButton;\r\n }\r\n\r\n openDateTo() {\r\n this.dateToButton = !this.dateToButton;\r\n }\r\n\r\n changeFromDate(event) {\r\n if (event.value !== null) {\r\n if (new Date(this.dateFrom).getTime() > new Date(this.dateTo).getTime()) {\r\n this.dateTo = new Date();\r\n }\r\n }\r\n }\r\n\r\n changeToDate(event) {\r\n if (event.value !== null) {\r\n if (new Date(this.dateFrom).getTime() > new Date(this.dateTo).getTime()) {\r\n const dateTo: Date = new Date(this.dateTo);\r\n this.dateFrom = new Date(dateTo.getTime());\r\n }\r\n }\r\n }\r\n\r\n hoverBtn(e) {\r\n e.target.style.background = this.styles.style.mainIdentifyingColor;\r\n }\r\n\r\n outBtn(e) {\r\n if (e.target.className.indexOf(\"active\") > -1) {\r\n e.target.style.background = this.styles.style.mainIdentifyingColor;\r\n } else {\r\n e.target.style.background = \"white\";\r\n }\r\n }\r\n\r\n checkCustomCategories() {\r\n // if (this.checked == false) {\r\n // for (const x of this.searchModelData.customCategories) {\r\n // x.marked = true;\r\n // if (x.marked) {\r\n // this.searchModelData.searchModel.customCategoryIds.push(x.id);\r\n // } else {\r\n // this.searchModelData.searchModel.customCategoryIds = [];\r\n // }\r\n // }\r\n // this.checked = true;\r\n // var elements = document.getElementsByClassName(\r\n // \"allS\"\r\n // ) as HTMLCollectionOf;\r\n // for (let i = 0; i < elements.length; i++) {\r\n // elements[i].style.backgroundColor =\r\n // this.styles.style.mainIdentifyingColor;\r\n // }\r\n // } else {\r\n // for (const x of this.searchModelData.customCategories) {\r\n // x.marked = false;\r\n // if (x.marked) {\r\n // this.searchModelData.searchModel.customCategoryIds.push(x.id);\r\n // } else {\r\n // this.searchModelData.searchModel.customCategoryIds = [];\r\n // }\r\n // }\r\n // this.checked = false;\r\n // var elements = document.getElementsByClassName(\r\n // \"allS\"\r\n // ) as HTMLCollectionOf;\r\n // for (let i = 0; i < elements.length; i++) {\r\n // elements[i].style.backgroundColor = \"white\";\r\n // }\r\n // }\r\n }\r\n\r\n checkMainCategories() {\r\n // if (this.checked == false) {\r\n // for (const x of this.searchModelData.mainCategories) {\r\n // x.checked = true;\r\n // if (x.checked) {\r\n // this.searchModelData.searchModel.mainCategoryIds.push(x.id);\r\n // } else {\r\n // this.searchModelData.searchModel.mainCategoryIds = [];\r\n // }\r\n // }\r\n // this.checked = true;\r\n // var elements = document.getElementsByClassName(\r\n // \"allS\"\r\n // ) as HTMLCollectionOf;\r\n // for (let i = 0; i < elements.length; i++) {\r\n // elements[i].style.backgroundColor =\r\n // this.styles.style.mainIdentifyingColor;\r\n // }\r\n // } else {\r\n // for (const x of this.searchModelData.mainCategories) {\r\n // x.checked = false;\r\n // if (x.checked) {\r\n // this.searchModelData.searchModel.mainCategoryIds.push(x.id);\r\n // } else {\r\n // this.searchModelData.searchModel.mainCategoryIds = [];\r\n // }\r\n // }\r\n // this.checked = false;\r\n // var elements = document.getElementsByClassName(\r\n // \"allS\"\r\n // ) as HTMLCollectionOf;\r\n // for (let i = 0; i < elements.length; i++) {\r\n // elements[i].style.backgroundColor = \"white\";\r\n // }\r\n // }\r\n }\r\n\r\n checkBrands() {\r\n if (this.checkedb == false) {\r\n for (const x of this.searchModelData.subClients) {\r\n x.checked = true;\r\n if (x.checked) {\r\n this.searchModelData.searchModel.subClientIds.push(x.id);\r\n } else {\r\n this.searchModelData.searchModel.subClientIds = [];\r\n }\r\n }\r\n this.checkedb = true;\r\n var elements = document.getElementsByClassName(\r\n \"allSb\"\r\n ) as HTMLCollectionOf;\r\n for (let i = 0; i < elements.length; i++) {\r\n elements[i].style.backgroundColor =\r\n this.styles.style.mainIdentifyingColor;\r\n }\r\n } else {\r\n for (const x of this.searchModelData.subClients) {\r\n x.checked = false;\r\n if (x.checked) {\r\n this.searchModelData.searchModel.subClientIds.push(x.id);\r\n } else {\r\n this.searchModelData.searchModel.subClientIds = [];\r\n }\r\n }\r\n this.checkedb = false;\r\n var elements = document.getElementsByClassName(\r\n \"allSb\"\r\n ) as HTMLCollectionOf;\r\n for (let i = 0; i < elements.length; i++) {\r\n elements[i].style.backgroundColor = \"white\";\r\n }\r\n }\r\n }\r\n\r\n getSearch() {\r\n this.mcService.getSearch().subscribe(\r\n (response: any) => {\r\n this.searchModelData = response;\r\n // this.searchModelData.subClients = [\r\n // {\r\n // parentId: null,\r\n // id: 1,\r\n // label: \"brand\",\r\n // checked: false,\r\n // },\r\n // ];\r\n this.searchModelData.searchModel = new WebSearchModel();\r\n if (localStorage.getItem(\"searchModel\") !== null) {\r\n this.searchModelData.searchModel = JSON.parse(\r\n localStorage.getItem(\"searchModel\")\r\n );\r\n // if (this.searchModelData.mainCategories == null) this.searchModelData.mainCategories = [];\r\n // if (this.searchModelData.customCategories == null) this.searchModelData.customCategories = [];\r\n if (this.searchModelData.subClients == null)\r\n this.searchModelData.subClients = [];\r\n if (this.searchModelData.searchModel.stories)\r\n this.searchFrom = \"stories\";\r\n if (this.searchModelData.searchModel.media) this.searchFrom = \"media\";\r\n // this.searchModelData.mainCategories.forEach(x => x.checked = this.searchModelData.searchModel.mainCategoryIds.indexOf(x.id) > -1);\r\n // this.searchModelData.customCategories.forEach(x => x.marked = this.searchModelData.searchModel.customCategoryIds.indexOf(x.id) > -1);\r\n this.searchModelData.subClients.forEach(\r\n (x) =>\r\n (x.checked =\r\n this.searchModelData.searchModel.subClientIds.indexOf(x.id) >\r\n -1)\r\n );\r\n } else {\r\n this.setSearchFrom(this.searchFrom);\r\n }\r\n this.loader = false;\r\n },\r\n (error) => {\r\n this.loader = false;\r\n //\r\n }\r\n );\r\n }\r\n\r\n filterUniqueCategories(categories) {\r\n return categories.filter((value, index, self) => {\r\n return self.findIndex((cat) => cat.label === value.label) === index;\r\n });\r\n }\r\n\r\n customChecked(custom) {\r\n // custom.marked = !custom.marked;\r\n // let customCategories = this.searchModelData?.customCategories.filter((c) => c.label == custom.label);\r\n // let customCategoriesId = customCategories.map((c) => c.id);\r\n // if (custom.marked) {\r\n // customCategoriesId.forEach((c) => this.searchModelData.searchModel.customCategoryIds.push(c));\r\n // this.googleAnalytics.emitEvent('SearchCategory', 'SearchCategory', 'CategorySelected', custom.label);\r\n // } else {\r\n // this.searchModelData.searchModel.customCategoryIds = this.searchModelData.searchModel.customCategoryIds.filter((c) => !customCategoriesId.includes(c));\r\n // }\r\n }\r\n\r\n mainChecked(category) {\r\n // category.checked = !category.checked;\r\n // if (category.checked) {\r\n // this.searchModelData.searchModel.mainCategoryIds.push(category.id);\r\n // this.googleAnalytics.emitEvent('SearchCategory', 'SearchCategory', 'CategorySelected', category.label);\r\n // } else {\r\n // this.searchModelData.searchModel.mainCategoryIds =\r\n // this.searchModelData.searchModel.mainCategoryIds.filter(x => x !== category.id);\r\n // }\r\n }\r\n\r\n brandChecked(brand) {\r\n brand.checked = !brand.checked;\r\n const index = this.searchModelData.searchModel.subClientIds.indexOf(brand);\r\n if (brand.checked) {\r\n this.searchModelData.searchModel.subClientIds.push(brand.id);\r\n this.googleAnalytics.emitEvent(\r\n \"SearchBrand\",\r\n \"SearchBrand\",\r\n \"BrandSelected\",\r\n brand.label\r\n );\r\n } else {\r\n this.searchModelData.searchModel.subClientIds.splice(index, 1);\r\n }\r\n }\r\n\r\n searchMc() {\r\n this.loader = true;\r\n localStorage.setItem(\r\n \"searchModel\",\r\n JSON.stringify(this.searchModelData.searchModel)\r\n );\r\n if (this.searchModelData.searchModel.stories) {\r\n this.searchModelData.searchModel.languageId = Number(\r\n localStorage.getItem(\"lng\")\r\n );\r\n\r\n this.searchModelData.searchModel.page = 1;\r\n this.searchModelData.searchModel.pageSize = 12;\r\n this.mcService\r\n .searchMcStories(this.searchModelData.searchModel)\r\n .subscribe(\r\n (response: any) => {\r\n this.searchResultResponse = response;\r\n this.layoutResponseModel.headerLinks.forEach(\r\n (x) => (x.active = false)\r\n );\r\n this.layoutResponseModel.footerLinks.forEach(\r\n (x) => (x.active = false)\r\n );\r\n\r\n for (const result of this.searchResultResponse.stories) {\r\n if (result.featuredEmbeddedCode) {\r\n result.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n result.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n if (this.searchResultResponse.stories) {\r\n this.layoutResponseModel.headerLinks.forEach(\r\n (x) => (x.active = false)\r\n );\r\n }\r\n if (\r\n this.searchResultResponse.mustRegisterToAccess &&\r\n localStorage.getItem(\"Token\") == null\r\n ) {\r\n this.closeSearch();\r\n this.loader = false;\r\n sessionStorage.setItem(\r\n \"redirectUrl\",\r\n \"/\" + window.location.pathname\r\n );\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n this.storageService.setSearchItemStories(\r\n this.searchResultResponse\r\n );\r\n this.closeSearch();\r\n this.loader = false;\r\n this.router.navigateByUrl(\"/results\");\r\n }\r\n\r\n this.storageService.setSearchModel(\r\n this.searchModelData.searchModel\r\n );\r\n },\r\n (error) => {\r\n this.searchModelData.searchModel.stories = false;\r\n }\r\n );\r\n }\r\n\r\n if (this.searchModelData.searchModel.media) {\r\n this.searchModelData.searchModel.languageId = Number(\r\n localStorage.getItem(\"lng\")\r\n );\r\n this.searchModelData.searchModel.page = 1;\r\n this.searchModelData.searchModel.pageSize = 12;\r\n\r\n this.mcService.searchMcMedia(this.searchModelData.searchModel).subscribe(\r\n (response: any) => {\r\n this.searchResultResponse = response;\r\n this.layoutResponseModel.headerLinks.forEach(\r\n (x) => (x.active = false)\r\n );\r\n this.layoutResponseModel.footerLinks.forEach(\r\n (x) => (x.active = false)\r\n );\r\n\r\n if (this.searchResultResponse.media) {\r\n this.layoutResponseModel.headerLinks.forEach(\r\n (x) => (x.active = false)\r\n );\r\n }\r\n if (\r\n this.searchResultResponse.mustRegisterToAccess &&\r\n localStorage.getItem(\"Token\") == null\r\n ) {\r\n this.closeSearch();\r\n this.loader = false;\r\n sessionStorage.setItem(\r\n \"redirectUrl\",\r\n \"/\" + window.location.pathname\r\n );\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n this.storageService.setSearchItemMedia(this.searchResultResponse);\r\n this.closeSearch();\r\n this.loader = false;\r\n this.router.navigateByUrl(\"/results\");\r\n }\r\n\r\n this.storageService.setSearchModel(this.searchModelData.searchModel);\r\n },\r\n (error) => {\r\n this.searchModelData.searchModel.media = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n closeSearch() {\r\n this.searchChange.emit(false);\r\n localStorage.setItem(\r\n \"searchModel\",\r\n JSON.stringify(this.searchModelData.searchModel)\r\n );\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n body.style.position = \"inherit\";\r\n }\r\n\r\n setSearchFrom(tab) {\r\n this.searchFrom = tab;\r\n this.searchModelData.searchModel.media = tab != \"stories\";\r\n this.searchModelData.searchModel.stories = tab != \"media\";\r\n if (this.searchModelData.searchModel.media) {\r\n this.searchModelData.searchModel.images = true;\r\n this.searchModelData.searchModel.video = true;\r\n this.searchModelData.searchModel.document = true;\r\n this.searchModelData.searchModel.audio = true;\r\n } else {\r\n this.searchModelData.searchModel.images = false;\r\n this.searchModelData.searchModel.video = false;\r\n this.searchModelData.searchModel.document = false;\r\n this.searchModelData.searchModel.audio = false;\r\n }\r\n }\r\n\r\n clearAll() {\r\n this.searchModelData.searchModel = new WebSearchModel();\r\n // this.searchModelData.mainCategories.forEach(x => x.checked = false);\r\n this.searchModelData.subClients.forEach((x) => (x.checked = false));\r\n // this.searchModelData.customCategories.forEach(x => x.marked = false);\r\n\r\n this.setSearchFrom(\"stories\");\r\n\r\n localStorage.removeItem(\"searchModel\");\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n Go Back\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{ language.searchFrom }}\r\n
\r\n
\r\n
\r\n Stories\r\n
\r\n
\r\n Media\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ language.selectDate }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Clear all
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{ language.images }}\r\n
\r\n\r\n
\r\n \r\n {{ language.videoFiles }}\r\n
\r\n
\r\n \r\n {{ language.documents }}\r\n
\r\n\r\n
\r\n \r\n {{ language.audioFiles }}\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
0\">\r\n
\r\n
\r\n {{ language.brands }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ language.search }}\r\n
\r\n
\r\n
\r\n \r\n
","import {\r\n ChangeDetectorRef,\r\n Component,\r\n OnInit,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { McService } from \"../../../shared/services/mc-service\";\r\nimport { WebNewsDetailsMediaModel, WebNewsDetailsModel } from \"../news-model\";\r\nimport { Router, ActivatedRoute, Params } from \"@angular/router\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { saveAs } from \"file-saver\";\r\nimport * as JSZip from \"jszip\";\r\nimport * as JSZipUtils from \"jszip-utils\";\r\nimport { StorageService } from \"../../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../../shared/helpers/url-helper\";\r\nimport {\r\n SearchModel,\r\n SearchResultModel,\r\n WebSearchModel,\r\n} from \"../../../header/search/search-model\";\r\nimport { TokenManagerService } from \"../../../shared/services/token-manager.service\";\r\nimport { PageStyle } from \"../../../models/style/style.model\";\r\nimport { FontsAndColorsService } from \"../../../shared/services/fonts-and-colors.service\";\r\nimport { DownloadAddToModel } from \"../../media/media-model\";\r\nimport { GoogleAnalyticsEventsService } from \"../../../shared/services/google-analytics-events.service\";\r\nimport { LanguageService } from \"../../../shared/services/language.service\";\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport {\r\n DomSanitizer,\r\n Meta,\r\n MetaDefinition,\r\n Title,\r\n} from \"@angular/platform-browser\";\r\nimport { MyFilesService } from \"../../../shared/services/my-files.service\";\r\nimport { ButtonsHelper } from \"../../../shared/helpers/buttons-helper\";\r\nimport { SavedStoryService } from \"../../../shared/services/saved-story.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { WebpHelperService } from \"../../../shared/services/webp-helper.service\";\r\n\r\ndeclare var require: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-news-detail\",\r\n templateUrl: \"./news-detail.component.html\",\r\n styleUrls: [\"./news-detail.component.less\"],\r\n})\r\nexport class NewsDetailComponent implements OnInit {\r\n urlSubscription: Subscription;\r\n\r\n popup: boolean;\r\n loginPopup: boolean;\r\n media: any[];\r\n\r\n filtered: WebNewsDetailsMediaModel[] = [];\r\n imageMedia: WebNewsDetailsMediaModel[] = [];\r\n audioMedia: WebNewsDetailsMediaModel[] = [];\r\n videoMedia: WebNewsDetailsMediaModel[] = [];\r\n documentMedia: WebNewsDetailsMediaModel[] = [];\r\n cartItems: any[] = [];\r\n image: number[] = [];\r\n video: number[] = [];\r\n audio: number[] = [];\r\n activeSubTab: number;\r\n storyId: number;\r\n url: string;\r\n forDownload: any[] = [];\r\n downloadIds: any[] = [];\r\n blob: any;\r\n loader: boolean;\r\n disabledButton: boolean;\r\n mediaId: number;\r\n autoplay: boolean;\r\n allFiles: number;\r\n share: boolean;\r\n all: boolean;\r\n imageTab: boolean;\r\n videoTab: boolean;\r\n documentTab: boolean;\r\n audioTab: boolean;\r\n user: any;\r\n styles = new PageStyle();\r\n activeAllTab = false;\r\n activeTab = \"all\";\r\n activeImageTab = false;\r\n activeVideoTab = false;\r\n activeDocumentsTab = false;\r\n activeAudioTab = false;\r\n activeFb = false;\r\n activeMail = false;\r\n activeTw = false;\r\n activeIn = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n allActive = false;\r\n imageActive = false;\r\n videoActive = false;\r\n docActive = false;\r\n audioActive = false;\r\n language: Language;\r\n sLng: number;\r\n token: string;\r\n relatedStoriesTabOpened = true;\r\n mediaTabOpened = true;\r\n isMediaUser: boolean;\r\n buttonsHelper = ButtonsHelper;\r\n publisher: string;\r\n\r\n private scrolled25: boolean = false;\r\n private scrolled50: boolean = false;\r\n private scrolled75: boolean = false;\r\n private scrolled90: boolean = false;\r\n private scrolled100: boolean = false;\r\n\r\n webNewsDetailsResponse: WebNewsDetailsModel;\r\n filters: any;\r\n\r\n constructor(\r\n private myFilesService: MyFilesService,\r\n private languageService: LanguageService,\r\n private mcService: McService,\r\n private meta: Meta,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private http: HttpClient,\r\n private fontsAndColorsService: FontsAndColorsService,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private sanitizer: DomSanitizer,\r\n private titleService: Title,\r\n private savedStoryService: SavedStoryService,\r\n private storageService: StorageService,\r\n public webPHelperService: WebpHelperService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n this.token = localStorage.getItem(\"Token\");\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n activeallC(name) {\r\n if (name == \"all\") {\r\n if (this.activeAllTab) {\r\n this.allActive = true;\r\n } else {\r\n this.activeAllTab = true;\r\n }\r\n } else if (name == \"image\") {\r\n if (this.activeImageTab) {\r\n this.imageActive = true;\r\n } else {\r\n this.activeImageTab = true;\r\n }\r\n } else if (name == \"video\") {\r\n if (this.activeVideoTab) {\r\n this.videoActive = true;\r\n } else {\r\n this.activeVideoTab = true;\r\n }\r\n } else if (name == \"document\") {\r\n if (this.activeDocumentsTab) {\r\n this.docActive = true;\r\n } else {\r\n this.activeDocumentsTab = true;\r\n }\r\n } else if (name == \"audio\") {\r\n if (this.activeAudioTab) {\r\n this.audioActive = true;\r\n } else {\r\n this.activeAudioTab = true;\r\n }\r\n }\r\n }\r\n\r\n activeallCOut(name) {\r\n if (name == \"all\") {\r\n if (!this.allActive) {\r\n this.activeAllTab = false;\r\n }\r\n } else if (name == \"image\") {\r\n if (!this.imageActive) {\r\n this.activeImageTab = false;\r\n }\r\n } else if (name == \"video\") {\r\n if (!this.videoActive) {\r\n this.activeVideoTab = false;\r\n }\r\n } else if (name == \"document\") {\r\n if (!this.docActive) {\r\n this.activeDocumentsTab = false;\r\n }\r\n } else if (name == \"audio\") {\r\n if (!this.audioActive) {\r\n this.activeAudioTab = false;\r\n }\r\n }\r\n }\r\n\r\n showCart() {\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToDownload &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n window.scrollTo(0, 0);\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n if (this.cartItems.length > 0) {\r\n this.router.navigateByUrl(\"/download\");\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n addDownload() {\r\n this.user = TokenManagerService.getUser();\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n let niz = new DownloadAddToModel();\r\n niz.storyMediaIds = this.downloadIds;\r\n niz.userId = this.user.id;\r\n niz.publishedMediaIds = [];\r\n niz.storyMediaIds.forEach((mediaId) => {\r\n this.googleAnalytics.emitEvent(\r\n \"media/\" + mediaId,\r\n \"download\",\r\n niz.userId ? niz.userId.toString() : \"\"\r\n );\r\n });\r\n this.mcService.addDownloadToMedia(niz).subscribe(\r\n (response) => { },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.urlSubscription = this.route.params.subscribe((params: Params) => {\r\n this.getData();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.urlSubscription.unsubscribe();\r\n }\r\n\r\n getData() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.user = TokenManagerService.getUser();\r\n\r\n if (this.user.role === \"MediaUser\") {\r\n this.isMediaUser = false;\r\n } else if (this.user.role && this.user.role !== \"MediaUser\") {\r\n this.isMediaUser = true;\r\n } else {\r\n this.isMediaUser = false;\r\n }\r\n\r\n this.storyId = +this.router.routerState.snapshot.url.split(\"/\")[2];\r\n this.getNewsDetails();\r\n window.scrollTo(0, 0);\r\n this.popup = false;\r\n this.filtered = this.media;\r\n this.share = false;\r\n this.currentUrl = window.location.href;\r\n\r\n let mediaFromRoute = this.route.snapshot.paramMap.get(\"media\");\r\n if (mediaFromRoute != undefined) {\r\n let tempMedia = { id: mediaFromRoute };\r\n this.openMediaPopup(tempMedia);\r\n }\r\n }\r\n\r\n showSubCategory(story) {\r\n story.categoryDropdown = !story.categoryDropdown;\r\n }\r\n\r\n showSubCategoryRandom(story) {\r\n story.categoryDropdown = !story.categoryDropdown;\r\n }\r\n\r\n getNewsDetails() {\r\n this.loader = true;\r\n if (this.sLng == 0) {\r\n this.sLng = 1;\r\n }\r\n\r\n let langId = this.route.snapshot.queryParamMap.get(\"lang\");\r\n if (langId) {\r\n this.sLng = Number(langId);\r\n }\r\n\r\n this.mcService\r\n .getNewsDetail(this.storyId, this.sLng, this.isMediaUser)\r\n .subscribe(\r\n (response: any) => {\r\n this.webNewsDetailsResponse = response;\r\n console.log(\"story\", this.webNewsDetailsResponse);\r\n this.titleService.setTitle(response?.storyTitle.substring(0, 65));\r\n this.meta.updateTag({\r\n name: \"keywords\",\r\n content: response?.storyTitle.substring(0, 65),\r\n });\r\n this.meta.updateTag({\r\n name: \"description\",\r\n content: response?.shortDescription.substring(0, 100),\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:title\",\r\n content: response?.storyTitle.substring(0, 65),\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:description\",\r\n content: response?.shortDescription.substring(0, 100),\r\n });\r\n\r\n this.webNewsDetailsResponse.alsoMayLike =\r\n this.webNewsDetailsResponse.alsoMayLike.slice(0, 2);\r\n for (const media of this.webNewsDetailsResponse.media) {\r\n media.shareUrl =\r\n UrlHelper.getCurrentUrlHostOnly() +\r\n \"/content-files/\" +\r\n this.webNewsDetailsResponse.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(this.webNewsDetailsResponse.storyTitle) +\r\n \"/\" +\r\n media.id;\r\n //\r\n }\r\n\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToAccess &&\r\n !this.webNewsDetailsResponse.anonymousShare &&\r\n !this.token\r\n ) {\r\n sessionStorage.setItem(\r\n \"redirectUrl\",\r\n \"/\" + window.location.pathname\r\n );\r\n this.router.navigateByUrl(\"/sign-in\");\r\n }\r\n\r\n if (this.webNewsDetailsResponse.featuredEmbeddedCode) {\r\n this.webNewsDetailsResponse.embeddedCode =\r\n this.sanitizer.bypassSecurityTrustHtml(\r\n this.webNewsDetailsResponse.featuredEmbeddedCode\r\n );\r\n }\r\n\r\n for (const story of this.webNewsDetailsResponse.alsoMayLike) {\r\n if (story.featuredEmbeddedCode) {\r\n story.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n story.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n\r\n if (this.webNewsDetailsResponse.socialSharing != null) {\r\n this.socials = this.webNewsDetailsResponse.socialSharing;\r\n }\r\n\r\n this.allFiles =\r\n this.webNewsDetailsResponse.images +\r\n this.webNewsDetailsResponse.video +\r\n this.webNewsDetailsResponse.document +\r\n this.webNewsDetailsResponse.audio;\r\n this.filtered = response.media;\r\n this.loader = false;\r\n\r\n for (const f of this.filtered) {\r\n if (f.mediaType === \"Audio\" || f.mediaType === \"Video\") {\r\n f.mediaLengthMin = Math.floor(f.mediaLenght / 60);\r\n f.mediaLengthSec = f.mediaLenght - f.mediaLengthMin * 60;\r\n }\r\n }\r\n\r\n this.groupMedia();\r\n\r\n if (localStorage.getItem(\"cart\") != null) {\r\n this.cartItems = JSON.parse(localStorage.getItem(\"cart\"));\r\n }\r\n // this.meta.updateTag({name: 'keywords', content: response.thumbUrl});\r\n this.meta.updateTag({\r\n name: \"description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:title\",\r\n content: response.storyTitle,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:text:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:image\",\r\n content: response.thumbUrl,\r\n });\r\n this.meta.updateTag({\r\n name: \"twitter:card\",\r\n content: \"summary_large_image\",\r\n });\r\n this.meta.updateTag({\r\n property: \"og:image\",\r\n content: response.thumbUrl,\r\n });\r\n this.meta.updateTag({\r\n property: \"og:description\",\r\n content: response.shortDescription,\r\n });\r\n this.meta.updateTag({\r\n property: \"og:title\",\r\n content: response.storyTitle,\r\n });\r\n setTimeout(() => {\r\n $(\"#bodytext a\").attr(\"target\", \"_blank\");\r\n }, 1000);\r\n\r\n this.filters = [\r\n {\r\n key: \"all\",\r\n text: this.language.allFiles,\r\n faClass: \"fal fa-archive\",\r\n amount: this.allFiles,\r\n },\r\n {\r\n key: \"image\",\r\n text: this.language.imageFiles,\r\n faClass: \"fal fa-camera-retro\",\r\n amount: this.webNewsDetailsResponse.images,\r\n },\r\n {\r\n key: \"video\",\r\n text: this.language.videoFiles,\r\n faClass: \"fal fa-video\",\r\n amount: this.webNewsDetailsResponse.video,\r\n },\r\n {\r\n key: \"document\",\r\n text: this.language.documents,\r\n faClass: \"fal fa-file\",\r\n amount: this.webNewsDetailsResponse.document,\r\n },\r\n {\r\n key: \"audio\",\r\n text: this.language.audioFiles,\r\n faClass: \"fal fa-volume-up\",\r\n amount: this.webNewsDetailsResponse.audio,\r\n },\r\n ];\r\n },\r\n (error2) => {\r\n this.router.navigateByUrl(\"/home\");\r\n //\r\n }\r\n );\r\n }\r\n\r\n groupMedia() {\r\n this.imageMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"image\"\r\n );\r\n this.audioMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"audio\"\r\n );\r\n this.videoMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"video\"\r\n );\r\n this.documentMedia = this.filtered.filter(\r\n (x) => x.mediaType.toLowerCase() === \"document\"\r\n );\r\n }\r\n\r\n openMediaPopup(media) {\r\n this.autoplay = false;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n }\r\n\r\n openMediaPopupAutplay(media) {\r\n this.autoplay = true;\r\n this.mediaId = media.id;\r\n this.popup = true;\r\n media.views++;\r\n }\r\n\r\n openShare() {\r\n this.share = !this.share;\r\n }\r\n\r\n openDropdown(id) {\r\n for (const x of this.webNewsDetailsResponse.alsoMayLike) {\r\n if (x.storyId === id) {\r\n x.shareDropdown = !x.shareDropdown;\r\n }\r\n }\r\n }\r\n openMediaDropdown(media) {\r\n media.mediaDropdown = !media.mediaDropdown;\r\n event.stopPropagation();\r\n }\r\n\r\n onClickOutside(event: Object, media) {\r\n if (event && event[\"value\"] === true) {\r\n media.mediaDropdown = false;\r\n }\r\n }\r\n\r\n readMore(id) {\r\n window.scrollTo(0, 0);\r\n this.user = TokenManagerService.getUser();\r\n this.storyId = id.staggingStoryId;\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n\r\n this.router.navigate([\r\n \"/story/\" +\r\n id.staggingStoryId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(id.storyTitle),\r\n ]);\r\n this.loader = true;\r\n\r\n this.getNewsDetails();\r\n }\r\n\r\n mediaChecked(media, e) {\r\n e.stopPropagation();\r\n let component = this;\r\n const index = this.forDownload.indexOf(media);\r\n media.checked = !media.checked;\r\n if (component.forDownload.indexOf(media) == -1 && media.checked) {\r\n component.forDownload.push(media.downloadLink);\r\n component.downloadIds.push(media.id);\r\n } else if (!media.checked) {\r\n component.forDownload.splice(index, 1);\r\n component.downloadIds.splice(index, 1);\r\n }\r\n }\r\n\r\n downloadingAll = false;\r\n downloadingImage = false;\r\n downloadingVideo = false;\r\n downloadingDocument = false;\r\n downloadingAudio = false;\r\n\r\n downloadAll(list = null, mediaType) {\r\n if (mediaType == \"all\") this.downloadingAll;\r\n else if (mediaType == \"image\") this.downloadingImage;\r\n else if (mediaType == \"video\") this.downloadingVideo;\r\n else if (mediaType == \"document\") this.downloadingDocument;\r\n else if (mediaType == \"audio\") this.downloadingAudio;\r\n let component = this;\r\n if (list === null) list = this.filtered;\r\n list.forEach(function (media) {\r\n component.forDownload.push(media.downloadLink);\r\n component.downloadIds.push(media.id);\r\n });\r\n this.download({}, \"text\", mediaType);\r\n }\r\n\r\n sendToCart() {\r\n let component = this;\r\n this.filtered.forEach(function (value) {\r\n if (component.cartItems.indexOf(value.id) == -1 && value.checked) {\r\n component.cartItems.push(value.id);\r\n value.addedToCart = true;\r\n value.checked = false;\r\n component.myFilesService.pushMyFiles(value.id);\r\n }\r\n });\r\n }\r\n\r\n sendAllToCart(list = null) {\r\n let component = this;\r\n if (list === null) list = this.filtered;\r\n list.forEach(function (value) {\r\n if (component.cartItems.indexOf(value.id) == -1) {\r\n component.cartItems.push(value.id);\r\n value.addedToCart = true;\r\n value.checked = false;\r\n component.myFilesService.pushMyFiles(value.id);\r\n }\r\n });\r\n }\r\n\r\n addDownloadClientSide() {\r\n for (const x of this.webNewsDetailsResponse.media) {\r\n for (const y of this.forDownload) {\r\n if (x.downloadLink == y) {\r\n x.downloads++;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onLogin(state) {\r\n if (state) {\r\n this.download({}, \"text\");\r\n }\r\n }\r\n\r\n download(element, text, mediaType = null) {\r\n if (\r\n this.webNewsDetailsResponse.mustRegisterToDownload &&\r\n !this.webNewsDetailsResponse.anonymousShare &&\r\n localStorage.getItem(\"Token\") === null\r\n ) {\r\n window.scrollTo(0, 0);\r\n this.loginPopup = true;\r\n return;\r\n } else {\r\n var urls = this.forDownload;\r\n let component = this;\r\n var zip = new JSZip();\r\n var count = 0;\r\n var zipFilename = \"download.zip\";\r\n this.loader = true;\r\n if (this.forDownload.length > 1) {\r\n element.textContent = text;\r\n component.disabledButton = true;\r\n urls.forEach(function (url) {\r\n var filename = url.split(\"/\")[8];\r\n JSZipUtils.getBinaryContent(url, function (err, data) {\r\n if (err) {\r\n throw err;\r\n }\r\n zip.file(filename, data, { binary: true });\r\n count++;\r\n if (count == urls.length) {\r\n zip.generateAsync({ type: \"blob\" }).then(function (content) {\r\n saveAs(content, zipFilename);\r\n\r\n component.disabledButton = false;\r\n element.textContent = \"Download\";\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n if (mediaType == \"all\") component.downloadingAll = false;\r\n else if (mediaType == \"image\") component.downloadingImage = false;\r\n else if (mediaType == \"video\") component.downloadingVideo = false;\r\n else if (mediaType == \"document\") component.downloadingDocument = false;\r\n else if (mediaType == \"audio\") component.downloadingAudio = false;\r\n\r\n component.loader = false;\r\n });\r\n }\r\n });\r\n });\r\n this.addDownloadClientSide();\r\n } else {\r\n for (const x of this.forDownload) {\r\n component.disabledButton = true;\r\n element.textContent = text;\r\n this.http\r\n .get(x, { responseType: \"blob\" })\r\n .toPromise()\r\n .then(\r\n (blob: Blob) => {\r\n let filename = x.split(\"/\")[8];\r\n saveAs(blob, filename);\r\n component.disabledButton = false;\r\n element.textContent = \"Download\";\r\n if (component.user.cmsUser == null) {\r\n component.addDownload();\r\n }\r\n component.loader = false;\r\n },\r\n (error) => { }\r\n );\r\n this.addDownloadClientSide();\r\n }\r\n }\r\n this.forDownload = [];\r\n }\r\n }\r\n\r\n getStoryUrl(storyId) {\r\n return (\r\n this.currentUrl.slice(0, this.currentUrl.lastIndexOf(\"story/\")) +\r\n \"story/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n this.webNewsDetailsResponse.alsoMayLike.find(\r\n (x) => x.staggingStoryId == storyId\r\n ).storyTitle\r\n )\r\n );\r\n }\r\n\r\n getMediaUrl(mediaId: number) {\r\n const currentUrlArray = this.currentUrl.split(\"/\");\r\n if (currentUrlArray.length > 6) {\r\n return window.location.href;\r\n } else {\r\n return window.location.href + \"/\" + mediaId;\r\n }\r\n }\r\n\r\n changeTab(tab: string) {\r\n this.activeTab = tab;\r\n if (tab == \"all\") this.filtered = this.webNewsDetailsResponse.media;\r\n else {\r\n tab = tab.replace(/\\b\\w/g, (l) => l.toUpperCase());\r\n this.filtered = this.webNewsDetailsResponse.media.filter(\r\n (x) => x.mediaType === tab\r\n );\r\n }\r\n }\r\n\r\n scrollToMedias() {\r\n document.getElementById(\"medias\").scrollIntoView();\r\n }\r\n\r\n toggleSavedStory(storyId) {\r\n if (this.inSavedStories(storyId))\r\n this.savedStoryService\r\n .remove(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n else\r\n this.savedStoryService\r\n .add(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n inSavedStories(storyId) {\r\n return this.savedStoryService.inSavedStories(storyId);\r\n }\r\n\r\n @HostListener(\"window:scroll\", [\"$event\"])\r\n onWindowScroll($event) {\r\n var percentage: number = Math.round(this.getScrollPercentage());\r\n if (percentage == 25 && !this.scrolled25) {\r\n this.scrolled25 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 50 && !this.scrolled50) {\r\n this.scrolled50 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 75 && !this.scrolled75) {\r\n this.scrolled75 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 90 && !this.scrolled90) {\r\n this.scrolled90 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n if (percentage == 100 && !this.scrolled100) {\r\n this.scrolled100 = true;\r\n this.googleAnalytics.emitEvent(\r\n \"Scroll\",\r\n \"ScrollingExperience\",\r\n \"Article Scroll\",\r\n this.webNewsDetailsResponse.storyTitle,\r\n percentage\r\n );\r\n return;\r\n }\r\n }\r\n\r\n getWindowHeight() {\r\n return (\r\n window.innerHeight ||\r\n document.documentElement.clientHeight ||\r\n document.body.clientHeight ||\r\n 0\r\n );\r\n }\r\n getWindowYscroll() {\r\n return (\r\n window.pageYOffset ||\r\n document.body.scrollTop ||\r\n document.documentElement.scrollTop ||\r\n 0\r\n );\r\n }\r\n getDocHeight() {\r\n return Math.max(\r\n document.body.scrollHeight || 0,\r\n document.documentElement.scrollHeight || 0,\r\n document.body.offsetHeight || 0,\r\n document.documentElement.offsetHeight || 0,\r\n document.body.clientHeight || 0,\r\n document.documentElement.clientHeight || 0\r\n );\r\n }\r\n getScrollPercentage() {\r\n return (\r\n ((this.getWindowYscroll() + this.getWindowHeight()) /\r\n this.getDocHeight()) *\r\n 100\r\n );\r\n }\r\n\r\n searchByCategory(category) {\r\n console.log(category);\r\n this.loader = true;\r\n let searchResultResponse = new SearchResultModel();\r\n const searchModel = new WebSearchModel();\r\n searchModel.languageId = Number(localStorage.getItem(\"lng\"));\r\n searchModel.stories = true;\r\n searchModel.media = false;\r\n searchModel.images = false;\r\n searchModel.video = false;\r\n searchModel.document = false;\r\n searchModel.audio = false;\r\n searchModel.page = 1;\r\n searchModel.pageSize = 12;\r\n if (category.isCustom) {\r\n searchModel.customCategoryIds = [category.id];\r\n } else {\r\n searchModel.mainCategoryIds = [category.id];\r\n }\r\n\r\n this.mcService.searchMcStories(searchModel).subscribe(\r\n (response: any) => {\r\n searchResultResponse = response;\r\n for (const result of searchResultResponse.stories) {\r\n if (result.featuredEmbeddedCode) {\r\n result.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n result.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n if (\r\n searchResultResponse.mustRegisterToAccess &&\r\n localStorage.getItem(\"Token\") == null\r\n ) {\r\n this.loader = false;\r\n sessionStorage.setItem(\"redirectUrl\", \"/\" + window.location.pathname);\r\n this.router.navigateByUrl(\"/sign-in\");\r\n } else {\r\n this.storageService.setSearchItemStories(searchResultResponse);\r\n this.storageService.setSearchModel(searchModel);\r\n this.loader = false;\r\n this.router.navigateByUrl(\"/results\");\r\n }\r\n },\r\n (error) => {\r\n searchModel.stories = false;\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{ language.storyPublisher }}
\r\n
\r\n {{ webNewsDetailsResponse?.publishedDate | date : \" dd MMMM yyyy\" }}\r\n
\r\n
\r\n
\r\n
{{ language.storyDate }}
\r\n
\r\n {{ webNewsDetailsResponse?.publishedDate | date : \" dd MMMM yyyy\" }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{ language.addStoryToFav }}\r\n
\r\n
\r\n \r\n {{ downloadingAll ? language.downloading : 'Download All Media' }}\r\n
\r\n
\r\n
\r\n

\r\n {{ webNewsDetailsResponse?.storyTitle }}\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 {{ language.media }}\r\n
\r\n \r\n \r\n
\r\n

\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.images }} ({{ imageMedia.length }})
\r\n
\r\n {{ downloadingImage ? language.downloading : language.downloadAllImages }} \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.videos }} ({{ videoMedia.length }})
\r\n
\r\n {{ downloadingVideo ? language.downloading : language.downloadAllVideos }} \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
\r\n {{ language.documents }} ({{ documentMedia.length }})\r\n
\r\n
\r\n {{ downloadingDocument ? language.downloading : language.downloadAllDocuments }} \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 0 && mediaTabOpened\">\r\n
\r\n
{{ language.audios }} ({{ audioMedia.length }})
\r\n
\r\n {{ downloadingAudio ? language.downloading : language.downloadAllAudios }} \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

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

\r\n {{ language.youMayAlsoLike }}\r\n

\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 { McService } from \"../../shared/services/mc-service\";\r\nimport { TermsModel } from \"./terms-model\";\r\nimport { Router } from \"@angular/router\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\n\r\n@Component({\r\n selector: \"app-terms\",\r\n templateUrl: \"./terms.component.html\",\r\n styleUrls: [\"./terms.component.less\"],\r\n})\r\nexport class TermsComponent implements OnInit {\r\n loader: boolean;\r\n termsResponseModel = new TermsModel();\r\n styles: PageStyle;\r\n language: Language;\r\n\r\n constructor(private mcService: McService, private router: Router, private languageService: LanguageService,\r\n ) {\r\n this.language = languageService.getLanguage();\r\n }\r\n\r\n ngOnInit() {\r\n this.getTerms();\r\n }\r\n\r\n getTerms() {\r\n this.loader = true;\r\n this.mcService.getTerms().subscribe(\r\n (response: any) => {\r\n this.termsResponseModel = response;\r\n this.loader = false;\r\n },\r\n (error) => { }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ language.termsAndConditions }}

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

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

{{ language.privacyPolicy }}

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

\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from \"@angular/core\";\r\nimport { UserCentricsService } from \"./user-centrics.service\";\r\ndeclare let gtag: Function;\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class GoogleAnalyticsEventsService {\r\n trackingId: string;\r\n constructor(private userCentrics: UserCentricsService) {}\r\n\r\n public initGoogleAnalytics(trackingID: string) {\r\n this.trackingId = trackingID;\r\n this.userCentrics.updateGA4Id(this.trackingId);\r\n }\r\n\r\n private getURLParameter(name) {\r\n return (\r\n decodeURIComponent(\r\n (new RegExp(\"[?|&]\" + name + \"=\" + \"([^&;]+?)(&|#|;|$)\").exec(\r\n location.search\r\n ) || [null, \"\"])[1].replace(/\\+/g, \"%20\")\r\n ) || null\r\n );\r\n }\r\n\r\n public emitEvent(\r\n eventName: string,\r\n eventCategory: string,\r\n eventAction: string,\r\n eventLabel: string = null,\r\n eventValue: number = null\r\n ) {\r\n if (this.userCentrics.isAnalyticsConsented())\r\n gtag(\"event\", eventName, {\r\n event_label: eventLabel,\r\n event_category: eventCategory,\r\n event_action: eventAction,\r\n non_interaction: false,\r\n value: eventValue,\r\n uaId: this.trackingId,\r\n });\r\n }\r\n\r\n public emitNonInteracionalEvent(\r\n eventCategory: string,\r\n eventAction: string,\r\n eventLabel: string = null,\r\n eventValue: number = null\r\n ) {\r\n if (this.userCentrics.isAnalyticsConsented())\r\n gtag(\"event\", eventAction, {\r\n event_label: eventLabel,\r\n event_category: eventCategory,\r\n non_interaction: true,\r\n value: eventValue,\r\n uaId: this.trackingId,\r\n });\r\n }\r\n\r\n public emitArticleEvent(webLocation: string, storyId: number) {\r\n var utm_source = this.getURLParameter(\"utm_source\");\r\n if (!utm_source) utm_source = webLocation;\r\n if (this.userCentrics.isAnalyticsConsented())\r\n this.emitNonInteracionalEvent(\r\n \"Articles\",\r\n \"Article page display\",\r\n utm_source,\r\n storyId\r\n );\r\n }\r\n\r\n public emitPageView(currentUrl: string) {\r\n if (this.userCentrics.isAnalyticsConsented())\r\n this.emitEvent(\"pageview\", \"pageview\", \"pageview\", currentUrl);\r\n }\r\n\r\n public emitReadMoreEvent(\r\n clickLocation: string,\r\n articleTitle: string,\r\n url: string\r\n ) {\r\n if (this.userCentrics.isAnalyticsConsented())\r\n gtag(\"event\", \"READ MORE CTA Click\", {\r\n event_label: clickLocation,\r\n event_category: \"ReadMore\",\r\n non_interaction: false,\r\n dimension1: articleTitle,\r\n dimension2: url,\r\n uaId: this.trackingId,\r\n });\r\n }\r\n}\r\n","\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\nimport { throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoginModel, NewPasswordModel, UserModel } from '../../login/login-model';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ToastrConfig } from '../helpers/toastr-config';\r\n\r\n@Injectable()\r\nexport class TokenManagerService {\r\n public token: string;\r\n private userLoginURL = environment.apiUrl + '/MediaCenterUser/Login';\r\n private ForgotPasswordURL = environment.apiUrl + '/MediaCenterUser/ForgotPassword';\r\n private ResetPasswordURL = environment.apiUrl + '/MediaCenterUser/ResetPassword';\r\n private resetPasswordAdminURL = environment.apiUrl + '/MediaCenterUser/ResetPasswordAdmin';\r\n private checkAuthenticationUrl = environment.apiUrl + '/MediaCenterUser/UserAuthentication';\r\n private checkPasswordCodeUrl = environment.apiUrl + '/MediaCenterUser/CheckPasswordCode';\r\n private checkPasswordCodeAdminUrl = environment.apiUrl + '/MediaCenterUser/CheckPasswordCodeAdmin';\r\n private mustRegisterUrl = environment.apiUrl + '/MediaCenterUser/MustRegister';\r\n private registerImportedURL = environment.apiUrl + '/MediaCenterUser/RegisterImported';\r\n\r\n static getToken() {\r\n\r\n if (localStorage.getItem('Token') === null) {\r\n const tokenObject = JSON.parse(localStorage.getItem('Token'));\r\n if (tokenObject !== null) {\r\n return tokenObject.token;\r\n }\r\n } else {\r\n const tokenObject = JSON.parse(localStorage.getItem('Token'));\r\n if (tokenObject !== null) {\r\n return tokenObject.token;\r\n }\r\n }\r\n\r\n }\r\n\r\n static getUser(): UserModel {\r\n if (localStorage.getItem('User') === null) {\r\n const object = JSON.parse(localStorage.getItem('User'));\r\n\r\n if (!object) {\r\n const user = new UserModel();\r\n user.id = 0;\r\n\r\n return user;\r\n }\r\n\r\n return object.user;\r\n\r\n } else {\r\n const object = JSON.parse(localStorage.getItem('User'));\r\n\r\n if (!object) {\r\n const user = new UserModel();\r\n user.id = 0;\r\n\r\n return user;\r\n }\r\n\r\n return object.user;\r\n }\r\n }\r\n\r\n /*static isAdmin() {\r\n if (localStorage.getItem('currentUser') === null) {\r\n return (localStorage.getItem('isAdmin') === 'true');\r\n } else {\r\n return (localStorage.getItem('isAdmin') === 'true');\r\n }\r\n }*/\r\n\r\n constructor(private http: HttpClient, private toastr: ToastrService) {\r\n const token = JSON.parse(localStorage.getItem('Token'));\r\n this.token = token && token.token;\r\n }\r\n\r\n private handleError(response: any) {\r\n \r\n let errMsg: string;\r\n if (response.status > 200) {\r\n errMsg = response.error.message;\r\n } else {\r\n errMsg = response.message ? response.message : response.toString();\r\n }\r\n\r\n this.toastr.error(errMsg, 'Error', ToastrConfig.error);\r\n\r\n return observableThrowError({ status: response.status, message: errMsg });\r\n }\r\n\r\n login(user: LoginModel) {\r\n\r\n return this.http.post(this.userLoginURL, user).pipe(\r\n map((response) => {\r\n const token = response && response.token;\r\n if (token) {\r\n this.token = token;\r\n\r\n if (response.user.role === 3 || response.user.role === 4 || response.user.role === 5 || response.user.role === 6) {\r\n return observableThrowError('Wrong email or password!');\r\n }\r\n\r\n localStorage.setItem('Token', JSON.stringify({ token: token }));\r\n localStorage.setItem('User', JSON.stringify({ user: response.user }));\r\n\r\n return response;\r\n } else {\r\n return false;\r\n }\r\n }),\r\n catchError((response) => this.handleError(response)));\r\n }\r\n\r\n isAuthenticated() {\r\n const promise = new Promise(\r\n (resolve, reject) => {\r\n resolve(TokenManagerService.getToken());\r\n }\r\n );\r\n return promise;\r\n }\r\n\r\n\r\n logout() {\r\n this.token = null;\r\n\r\n localStorage.removeItem('Token');\r\n localStorage.removeItem('User')\r\n\r\n sessionStorage.removeItem('mustRegister');\r\n }\r\n\r\n ForgotPassword(email: string) {\r\n return this.http.post(this.ForgotPasswordURL + '?email=' + email, true);\r\n }\r\n\r\n ResetPassword(model: NewPasswordModel) {\r\n return this.http.post(this.ResetPasswordURL, model);\r\n }\r\n\r\n registerImported(model: NewPasswordModel) {\r\n return this.http.post(this.registerImportedURL, model);\r\n }\r\n\r\n resetPasswordAdmin(model: NewPasswordModel) {\r\n return this.http.post(this.resetPasswordAdminURL, model);\r\n }\r\n\r\n checkAuthentication(resetCode) {\r\n return this.http.post(this.checkAuthenticationUrl, resetCode).pipe(\r\n map((response) => {\r\n const token = response && response.token;\r\n if (token) {\r\n this.token = token;\r\n localStorage.setItem('Token', JSON.stringify({ token: token }));\r\n localStorage.setItem('User', JSON.stringify({ user: response.user }));\r\n return response;\r\n } else {\r\n return false;\r\n }\r\n }),\r\n catchError((response) => this.handleError(response)));;\r\n }\r\n\r\n checkPasswordCode(code) {\r\n return this.http.post(this.checkPasswordCodeUrl + '?code=' + code, true);\r\n }\r\n\r\n checkPasswordCodeAdmin(code) {\r\n return this.http.post(this.checkPasswordCodeAdminUrl + '?code=' + code, true);\r\n }\r\n\r\n mustRegister() {\r\n return this.http.get(this.mustRegisterUrl);\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { environment } from '../../../environments/environment';\r\nimport { ToastrConfig } from \"../helpers/toastr-config\";\r\nimport { HttpRequestService } from \"./http-request.service\";\r\n\r\n@Injectable()\r\nexport class SavedStoryService {\r\n private addUrl = environment.apiUrl + '/SavedStory/Add';\r\n private getAllUrl = environment.apiUrl + '/SavedStory/GetAll';\r\n private removeUrl = environment.apiUrl + '/SavedStory/Remove';\r\n private getAllIdsUrl = environment.apiUrl + '/SavedStory/GetAllIds';\r\n\r\n savedStoryIds: any[] = [];\r\n\r\n constructor(private http: HttpRequestService, private toastr: ToastrService) { }\r\n\r\n add(storyId) {\r\n return this.http.post(this.addUrl, storyId).toPromise().then((response) => {\r\n if (!this.savedStoryIds) this.savedStoryIds = [];\r\n this.savedStoryIds.push(storyId);\r\n localStorage.setItem(\"savedStories\", JSON.stringify(this.savedStoryIds));\r\n this.toastr.success('Story Saved.', 'Well Done!', ToastrConfig.success);\r\n });\r\n }\r\n\r\n remove(storyId) {\r\n return this.http.post(this.removeUrl, storyId).toPromise().then((response) => {\r\n if (!this.savedStoryIds) this.savedStoryIds = [];\r\n this.savedStoryIds = this.savedStoryIds.filter(sId => sId != storyId);\r\n localStorage.setItem(\"savedStories\", JSON.stringify(this.savedStoryIds));\r\n this.toastr.success('Story Removed.', 'Well Done!', ToastrConfig.success);\r\n });\r\n }\r\n\r\n getAll(languageId = 1) {\r\n return this.http.get(this.getAllUrl + '?languageId=' + languageId);\r\n }\r\n\r\n getIds() {\r\n return this.http.get(this.getAllIdsUrl).subscribe(\r\n (response: any) => {\r\n this.savedStoryIds = response;\r\n localStorage.setItem(\"savedStories\", JSON.stringify(this.savedStoryIds));\r\n },\r\n (error) => console.error(error));\r\n }\r\n\r\n inSavedStories(storyId) {\r\n if (!this.savedStoryIds) this.savedStoryIds = [];\r\n return this.savedStoryIds.includes(storyId);\r\n }\r\n}\r\n","import { WebNewsModel } from \"../../routes/news/news-model\";\r\nimport { WebManageMediaModel } from \"../../download/download-model\";\r\nimport { environment } from \"../../../environments/environment\";\r\n\r\nexport class SearchModel {\r\n public subClients: ClientLookupModel[];\r\n public mainCategories: BaseLookupModel[];\r\n public customCategories: CustomCategoryLookupModel[];\r\n public searchModel: WebSearchModel;\r\n public hasCustomCategories: boolean;\r\n public hasMainCategories: boolean;\r\n\r\n constructor() {\r\n this.searchModel = new WebSearchModel();\r\n this.subClients = [];\r\n }\r\n}\r\n\r\nexport class ClientLookupModel {\r\n public parentId: number;\r\n public id: number;\r\n public label: string;\r\n\r\n //added new properties\r\n public checked: boolean;\r\n}\r\n\r\nexport class BaseLookupModel {\r\n public id: number;\r\n public label: string;\r\n\r\n //added new properties\r\n public checked: boolean;\r\n}\r\n\r\nexport class CustomCategoryLookupModel {\r\n public parentId: number;\r\n public mainCategoryId: number;\r\n public clientId: number;\r\n public id: number;\r\n public label: string;\r\n\r\n //added new properties\r\n public marked: boolean;\r\n}\r\n\r\nexport class WebSearchModel {\r\n public stories: boolean;\r\n public media: boolean;\r\n public images: boolean;\r\n public video: boolean;\r\n public document: boolean;\r\n public audio: boolean;\r\n public dateFrom: string;\r\n public dateTo: string;\r\n public searchText: string;\r\n public mainCategoryIds: number[];\r\n public customCategoryIds: number[];\r\n public subClientIds: number[];\r\n public page: number;\r\n public pageSize: number;\r\n public languageId: number;\r\n public marketId: number;\r\n\r\n constructor() {\r\n this.stories = true;\r\n this.media = true;\r\n this.images = true;\r\n this.video = false;\r\n this.document = false;\r\n this.audio = false;\r\n this.dateFrom = null;\r\n this.dateTo = null;\r\n this.searchText = \"\";\r\n this.customCategoryIds = [];\r\n this.mainCategoryIds = [];\r\n this.subClientIds = [];\r\n this.marketId = null;\r\n }\r\n}\r\n\r\nexport class SearchResultModel {\r\n public stories: WebNewsModel[];\r\n public media: WebManageMediaModel[];\r\n public mustRegisterToAccess: boolean;\r\n public mustRegisterToDownload: boolean;\r\n public maxPages: number;\r\n}\r\n\r\nexport class AlgoliaNewsRecords {\r\n public storyId: number;\r\n public title: string;\r\n public addedToCart: boolean;\r\n public mainCategories: any[];\r\n public customCategories: any[];\r\n public type: number;\r\n public tags: any[];\r\n public status: number;\r\n public mediaThumbUrl: string;\r\n public mediaOriginalUrl: string;\r\n\r\n static convertToWebNewsModel(record: AlgoliaNewsRecords): WebNewsModel {\r\n const result = new WebNewsModel();\r\n result.storyId = record.storyId;\r\n result.staggingStoryId = record.storyId;\r\n result.storyTitle = record.title;\r\n result.thumbUrl = record.mediaThumbUrl;\r\n result.fullHDUrl = record.mediaOriginalUrl;\r\n result.category = record.mainCategories\r\n .map((c) => c.name)\r\n .concat(record.customCategories.map((c) => c.name));\r\n return result;\r\n }\r\n}\r\n\r\nexport class AlgoliaMediaRecords {\r\n public objectID: string;\r\n public title: string;\r\n public addedToCart: boolean;\r\n public mainCategories: any[];\r\n public type: number;\r\n public tags: any[];\r\n public status: number;\r\n public typeName: string;\r\n public urls: any[];\r\n public storyMediaIds: any[];\r\n public isPublished: boolean;\r\n public publishedIds: number[];\r\n\r\n static convertToWebManageMediaModel(\r\n record: AlgoliaMediaRecords\r\n ): WebManageMediaModel {\r\n const result = new WebManageMediaModel();\r\n if (record.isPublished) {\r\n console.log(\"entro aca\")\r\n result.id = record.publishedIds && record.publishedIds.length > 0 ? record.publishedIds[0]\r\n : parseInt(record.objectID);\r\n console.log(result.id);\r\n } else {\r\n result.id =\r\n record.storyMediaIds && record.storyMediaIds.length > 0\r\n ? record.storyMediaIds[0]\r\n : parseInt(record.objectID);\r\n }\r\n result.name = record.title;\r\n result.mediaType = record.typeName;\r\n result.mediaType = record.typeName;\r\n result.isPublished = record.isPublished;\r\n if (record.urls.find((url) => url.format == 2))\r\n result.thumbUrl = record.urls.find((url) => url.format == 2).url;\r\n if (\r\n record.typeName === \"image\" &&\r\n record.urls.find((url) => url.format == 3)\r\n )\r\n result.fullHDUrl = record.urls.find((url) => url.format == 3).url;\r\n return result;\r\n }\r\n}\r\n","export class PageStyle {\r\n public downloadedFonts: any[];\r\n public fontType: any[];\r\n public style: Style;\r\n\r\n constructor() {\r\n this.fontType = [];\r\n this.downloadedFonts = [];\r\n }\r\n}\r\nexport class Style {\r\n public cssSpecification: string;\r\n public dateCreated: string;\r\n public embeddedFontData: string;\r\n public fontFileNames: string;\r\n public fontType: string;\r\n public fonts: FontsModel;\r\n public mainBackgroundFooterColor: string;\r\n public mainBackgroundHeaderColor: string;\r\n public mainBackgroundPrimaryColor: string;\r\n public mainBackgroundSecondaryColor: string;\r\n public mainButton1DefaultColor: string;\r\n public mainButton1HoverColor: string;\r\n public mainButton1OutlineColor: string;\r\n public mainButton2DefaultColor: string;\r\n public mainButton2HoverColor: string;\r\n public mainButton2OutlineColor: string;\r\n public mainButton3DefaultColor: string;\r\n public mainButton3HoverColor: string;\r\n public mainButton3OutlineColor: string;\r\n public mainIdentifyingColor: string;\r\n public secondaryIdentifyingColor: string;\r\n public mediaCenterId: string;\r\n public textButton1Color: string;\r\n public textButton2Color: string;\r\n public textButton3Color: string;\r\n public textCounterColor: string;\r\n public textFooterColor: string;\r\n public textH1Color: string;\r\n public textH2Color: string;\r\n public textH3Color: string;\r\n public textH4Color: string;\r\n public textHeaderColor: string;\r\n public textLinkDefaultColor: string;\r\n public textLinkHoverColor: string;\r\n public textMainColor: string;\r\n public textTabsColor: string;\r\n public textTagsColor: string;\r\n\r\n constructor() {\r\n this.fonts = new FontsModel();\r\n this.cssSpecification = '';\r\n this.dateCreated = '';\r\n this.embeddedFontData = '';\r\n this.fontFileNames = '';\r\n this.fontFileNames = '';\r\n this.fontType = '';\r\n this.mainBackgroundFooterColor = '';\r\n this.mainBackgroundHeaderColor = '';\r\n this.mainBackgroundPrimaryColor = '';\r\n this.mainBackgroundSecondaryColor = '';\r\n this.mainButton1DefaultColor = '';\r\n this.mainButton1HoverColor = '';\r\n this.mainButton1OutlineColor = '';\r\n this.mainButton2DefaultColor = '';\r\n this.mainButton2HoverColor = '';\r\n this.mainButton2OutlineColor = '';\r\n this.mainButton3DefaultColor = '';\r\n this.mainButton3HoverColor = '';\r\n this.mainButton3OutlineColor = '';\r\n this.mainIdentifyingColor = '';\r\n this.mediaCenterId = '';\r\n this.textButton1Color = '';\r\n this.textButton2Color = '';\r\n this.textButton3Color = '';\r\n this.textCounterColor = '';\r\n this.textFooterColor = '';\r\n this.textH1Color = '';\r\n this.textH2Color = '';\r\n this.textH3Color = '';\r\n this.textH4Color = '';\r\n this.textHeaderColor = '';\r\n this.textLinkDefaultColor = '';\r\n this.textLinkHoverColor = '';\r\n this.textMainColor = '';\r\n this.textTabsColor = '';\r\n this.textTagsColor = '';\r\n }\r\n}\r\n\r\nexport class FontsModel {\r\n public mainFont;\r\n public navigationFont;\r\n public sliderHeadlineFont;\r\n public sliderButtonFont;\r\n public dateFont;\r\n public featuredNewsHeadlineFont;\r\n public tagFont;\r\n public newsBoxHeadlineFont;\r\n public newsBoxParagraphFont;\r\n public newsBoxReadMoreFont;\r\n public mediaBarFont;\r\n public sectionHeadlineFont;\r\n public paragraphFont;\r\n public profileNameFont;\r\n public profileMessageFont;\r\n public socialDateFont;\r\n public downloadBtnFont;\r\n public aboutHeadlineFont;\r\n public aboutSubHeadlineStrongFont;\r\n public aboutSubHeadlineRegularFont;\r\n public aboutUsQuoteFont;\r\n public contentFileName;\r\n public contentFileMetaFont;\r\n public brandNameFont;\r\n public labelFont;\r\n public placeholderFont;\r\n public footerText;\r\n public footerLink;\r\n public btnFont;\r\n public searchSmallHeadlineFont;\r\n public searchCategoryFont;\r\n\r\n constructor() {\r\n this.mainFont = '';\r\n this.navigationFont = '';\r\n this.sliderHeadlineFont = '';\r\n this.sliderButtonFont = '';\r\n this.dateFont = '';\r\n this.featuredNewsHeadlineFont = '';\r\n this.tagFont = '';\r\n this.newsBoxHeadlineFont = '';\r\n this.newsBoxParagraphFont = '';\r\n this.newsBoxReadMoreFont = '';\r\n this.mediaBarFont = '';\r\n this.sectionHeadlineFont = '';\r\n this.paragraphFont = '';\r\n this.profileNameFont = '';\r\n this.profileMessageFont = '';\r\n this.socialDateFont = '';\r\n this.downloadBtnFont = '';\r\n this.aboutHeadlineFont = '';\r\n this.aboutSubHeadlineStrongFont = '';\r\n this.aboutSubHeadlineRegularFont = '';\r\n this.aboutUsQuoteFont = '';\r\n this.contentFileName = '';\r\n this.contentFileMetaFont = '';\r\n this.brandNameFont = '';\r\n this.labelFont = '';\r\n this.placeholderFont = '';\r\n this.footerText = '';\r\n this.footerLink = '';\r\n this.btnFont = '';\r\n this.searchSmallHeadlineFont = '';\r\n this.searchCategoryFont = '';\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { PageStyle } from '../../../models/style/style.model';\r\nimport { FontsAndColorsService } from '../../services/fonts-and-colors.service';\r\nimport { TokenManagerService } from '../../services/token-manager.service';\r\nimport { McService } from '../../services/mc-service';\r\nimport { GoogleAnalyticsEventsService } from '../../services/google-analytics-events.service';\r\nimport { FacebookService } from 'ngx-facebook';\r\n\r\n@Component({\r\n selector: 'app-share-button',\r\n templateUrl: './share-button.component.html',\r\n styleUrls: ['./share-button.component.less']\r\n})\r\nexport class ShareButtonComponent implements OnInit {\r\n\r\n @Input() social: string;\r\n @Input() open: boolean;\r\n @Input() shared: number;\r\n @Input() storyId: number = null;\r\n @Input() staggingStoryId: number = null;\r\n @Input() mediaId: number = null;\r\n @Input() sbUrl: string;\r\n @Input() description: string;\r\n @Input() title: string;\r\n @Input() image: string;\r\n @Input() isMediaShare: boolean = false;\r\n @Output() emitShared = new EventEmitter();\r\n\r\n embeddedPopupShow: boolean;\r\n user: any;\r\n hovered = false;\r\n styles = new PageStyle();\r\n\r\n constructor(private fb: FacebookService, private fontsAndColorsService: FontsAndColorsService, private mcService: McService, private googleAnalytics: GoogleAnalyticsEventsService) {\r\n\r\n const headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n\r\n fb.init({\r\n appId: headerFooter.facebookAppId,\r\n version: 'v6.0'\r\n });\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n }\r\n\r\n ngOnInit() {\r\n if (this.sbUrl) {\r\n }\r\n }\r\n\r\n getUrlForEmail() {\r\n return this.sbUrl.replace(/(^\\w+:|^)\\/\\//, '');\r\n }\r\n\r\n openShare($event) {\r\n $event.stopPropagation();\r\n this.open = !this.open;\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event['value'] === true) {\r\n this.open = false;\r\n }\r\n }\r\n\r\n openEmbeddedPopup() {\r\n this.embeddedPopupShow = true;\r\n }\r\n\r\n closeEmbeddedPopup() {\r\n this.embeddedPopupShow = false;\r\n\r\n }\r\n\r\n clickSharedNews() {\r\n this.user = TokenManagerService.getUser();\r\n\r\n if (localStorage.getItem('Token') === null) {\r\n this.user.id = 'anonymous';\r\n }\r\n\r\n let networkType = this.getNetworkType(this.social);\r\n\r\n switch (networkType) {\r\n case 'facebook':\r\n this.fb.ui({\r\n method: 'share_open_graph',\r\n action_type: 'og.shares',\r\n action_properties: JSON.stringify({\r\n object: {\r\n 'og:url': this.sbUrl,\r\n 'og:title': this.title,\r\n 'og:description': this.description,\r\n 'og:image': this.image,\r\n }\r\n })\r\n }).then(res => {\r\n //this.shared++;\r\n if (this.user.cmsUser == null)\r\n this.shareAnalytics(networkType);\r\n }).catch(e => {\r\n //\r\n });\r\n break;\r\n\r\n case 'mail':\r\n const iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\r\n\r\n if (iOS) {\r\n try {\r\n (window as any).webkit.messageHandlers.shareByEmailClicked.postMessage({\r\n url: this.sbUrl,\r\n title: this.title,\r\n subject: this.title\r\n });\r\n } catch (err) {\r\n }\r\n\r\n }\r\n window.open(`mailto:?subject=${this.title}&body=${this.description}%0D%0A%0D%0A%0D%0ALink to story: ${this.getUrlForEmail()}`, \"_blank\");\r\n if (this.user.cmsUser == null)\r\n this.shareAnalytics(networkType);\r\n\r\n break;\r\n default:\r\n if (this.user.cmsUser == null)\r\n this.shareAnalytics(networkType);\r\n }\r\n\r\n }\r\n\r\n private shareAnalytics(networkType) {\r\n if (this.isMediaShare) {\r\n this.mcService.addSharedToMedia(this.mediaId, this.user.id, networkType, false, true).subscribe();\r\n this.googleAnalytics.emitEvent('share', `media/${this.mediaId.toString()}`, `share/${networkType}`, this.user.id);\r\n } else {\r\n this.mcService.addSharedToNews(this.storyId, this.user.id, networkType, true).subscribe();\r\n this.googleAnalytics.emitEvent('share', `story/${this.staggingStoryId.toString()}`, `share/${networkType}`, this.user.id);\r\n }\r\n this.shared++;\r\n this.emitShared.emit(this.shared);\r\n }\r\n\r\n share() {\r\n if (this.social.toLowerCase().indexOf('embed') > -1) {\r\n this.openEmbeddedPopup();\r\n } else {\r\n this.clickSharedNews();\r\n }\r\n }\r\n\r\n getNetworkType(social = this.social) {\r\n if (social.toLowerCase().indexOf('facebook') > -1)\r\n return 'facebook';\r\n if (social.toLowerCase().indexOf('twitter') > -1)\r\n return 'twitter';\r\n if (social.toLowerCase().indexOf('linkedin') > -1)\r\n return 'linkedin';\r\n if (social.toLowerCase().indexOf('mail') > -1)\r\n return 'mail';\r\n if (social.toLowerCase().indexOf('embed') > -1)\r\n return 'code';\r\n\r\n return '';\r\n }\r\n\r\n getNetworkTypeClass(social = this.social) {\r\n if (social.toLowerCase().indexOf('facebook') > -1)\r\n return 'fab fa-facebook';\r\n if (social.toLowerCase().indexOf('twitter') > -1)\r\n return 'fab fa-twitter';\r\n if (social.toLowerCase().indexOf('linkedin') > -1)\r\n return 'fab fa-linkedin';\r\n if (social.toLowerCase().indexOf('mail') > -1)\r\n return 'fas fa-envelope';\r\n if (social.toLowerCase().indexOf('embed') > -1)\r\n return 'fas fa-code';\r\n\r\n return '';\r\n }\r\n\r\n hasShareButton() {\r\n let social = this.getNetworkType();\r\n if (social.toLowerCase().indexOf('linkedin') > -1 || social.toLowerCase().indexOf('twitter') > -1)\r\n return true;\r\n\r\n return false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { PageStyle } from '../../models/style/style.model';\r\n\r\n@Injectable()\r\nexport class FontsAndColorsService {\r\n\r\n pageStyleInfo: PageStyle;\r\n constructor() {\r\n }\r\n\r\n setPageStyleInfo(response: PageStyle) {\r\n this.pageStyleInfo = response;\r\n }\r\n\r\n getPageStyleInfo(): PageStyle {\r\n if (this.pageStyleInfo) {\r\n return this.pageStyleInfo;\r\n }\r\n\r\n return new PageStyle();\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, OnInit } from \"@angular/core\";\r\nimport { McService } from \"../shared/services/mc-service\";\r\nimport { LayoutModel } from \"./layout-model\";\r\nimport { PageStyle } from \"../models/style/style.model\";\r\nimport { Language } from \"../models/language/language.model\";\r\nimport { Router, NavigationEnd, ActivatedRoute } from \"@angular/router\";\r\nimport { FontsAndColorsService } from \"../shared/services/fonts-and-colors.service\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { MetaModel } from \"../models/meta/meta\";\r\nimport { StorageService } from \"../shared/services/storage.service\";\r\nimport { TokenManagerService } from \"../shared/services/token-manager.service\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { MCLanguageService } from \"../shared/services/mc-language.service\";\r\nimport { SavedStoryService } from \"../shared/services/saved-story.service\";\r\nimport { AlgoliaService } from \"../shared/services/algolia.service\";\r\nimport { LoginAttemptsService } from \"../shared/services/login-attempts.service\";\r\nimport { forEach } from \"jszip\";\r\nimport { CommunicationService } from \"../shared/services/communication.service\";\r\ndeclare global {\r\n interface Window {\r\n showCustomCookieNotice: boolean;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: \"app-layout\",\r\n templateUrl: \"./layout.component.html\",\r\n styleUrls: [\"./layout.component.less\"],\r\n})\r\nexport class LayoutComponent implements OnInit {\r\n styles: PageStyle;\r\n layoutResponseModel: LayoutModel;\r\n loader = true;\r\n showCookieNotice = true;\r\n metadatas: MetaModel;\r\n sLng: number;\r\n isVodafone: boolean;\r\n isEasyJet: boolean;\r\n isLoci: boolean;\r\n clientName: string = \"\";\r\n language: Language;\r\n\r\n constructor(\r\n private algoliaService: AlgoliaService,\r\n private mcService: McService,\r\n private communicationService: CommunicationService,\r\n private sService: StorageService,\r\n private router: Router,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n public languageService: LanguageService,\r\n public mcLanguageService: MCLanguageService,\r\n private loginAttemptsService: LoginAttemptsService,\r\n private elementRef: ElementRef,\r\n private savedStoryService: SavedStoryService,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n router.events\r\n .pipe(filter((event) => event instanceof NavigationEnd))\r\n .subscribe((response: NavigationEnd) => {\r\n // if (\r\n // window.showCustomCookieNotice != null &&\r\n // window.showCustomCookieNotice\r\n // ) {\r\n // if (localStorage.CookieAgreed != null) {\r\n // this.showCookieNotice = !JSON.parse(localStorage.CookieAgreed);\r\n // } else {\r\n // this.showCookieNotice = true;\r\n // }\r\n // }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n this.loader = true;\r\n this.styles = this.fontsAndColorsService.getPageStyleInfo();\r\n this.setCssVariables();\r\n this.getClientInfo();\r\n this.getHeaderFooter(1);\r\n this.getCurrentMarket();\r\n // this.getLoginAttempts();\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params.token) {\r\n this.mcService.loginWithToken(params.token).subscribe(\r\n (response: any) => {\r\n localStorage.setItem(\"Token\", JSON.stringify({ token: response.token }));\r\n localStorage.setItem(\"User\", JSON.stringify({ user: response.user }));\r\n this.sService.setName(response.user.fullName);\r\n this.savedStoryService.getIds();\r\n this.router.navigateByUrl(\"/\", { replaceUrl: true });\r\n },\r\n (error) => {\r\n this.router.navigateByUrl(\"/\", { replaceUrl: true });\r\n }\r\n );\r\n }\r\n });\r\n\r\n // this.showCookieNotice = false;\r\n // if (\r\n // window.showCustomCookieNotice != null &&\r\n // window.showCustomCookieNotice\r\n // ) {\r\n // this.showCookieNotice = true;\r\n // }\r\n }\r\n\r\n getCurrentMarket() {\r\n this.mcService.getCurrentMarket().subscribe(\r\n (response: any) => {\r\n localStorage.setItem(\"currentMarket\", JSON.stringify(response));\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n getLoginAttempts() {\r\n this.mcService.getLoginAttempts(TokenManagerService.getUser().id, 1, 10).subscribe(\r\n (response: any) => {\r\n localStorage.setItem(\"loginAttempts\", JSON.stringify(response));\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n getHeaderFooter(x) {\r\n this.mcService.getHeaderFooter(this.sLng).subscribe(\r\n (response: any) => {\r\n this.layoutResponseModel = response;\r\n for (const link of this.layoutResponseModel.headerLinks) {\r\n if (\"/\" + link.url === this.router.url) {\r\n link.active = true;\r\n }\r\n }\r\n for (const link of this.layoutResponseModel.footerLinks) {\r\n if (\"/\" + link.url === this.router.url) {\r\n link.active = true;\r\n }\r\n }\r\n localStorage.setItem(\"headerfooter\", JSON.stringify(response));\r\n this.sService.setLogin(response);\r\n\r\n if (!this.sLng) this.sLng = this.layoutResponseModel.defaultLanguageId;\r\n\r\n this.languageService.setLanguageId(this.sLng);\r\n this.getLanguage();\r\n this.getMcLanguage();\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n getMeta() {\r\n this.mcService.getMeta().subscribe(\r\n (response: any) => {\r\n this.metadatas = response;\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n getClientInfo() {\r\n this.mcService.getClientInfo().subscribe(\r\n (response: any) => {\r\n const hideCategories: boolean = response.hideCategories;\r\n this.clientName = response.name;\r\n this.algoliaService.setClientId(response.id);\r\n response.mediaCenterVersions.forEach((mediaCenterVersion) => {\r\n if (mediaCenterVersion.type === 'SuperMediaCenter') {\r\n this.algoliaService.setSuperMediaCenter();\r\n }\r\n })\r\n this.sService.setLegalBanner(response.mediaCenterVersions[0]?.legalBanner);\r\n localStorage.setItem(\"hideCategories\", hideCategories ? \"1\" : \"0\");\r\n localStorage.setItem(\"hasPasswordHardening\", response.passwordHardening);\r\n localStorage.setItem(\"hasStoryCodes\", response.hasStoryCodes);\r\n\r\n // Local id dev (Bacardi) = 264\r\n // Vodafone id = 187\r\n // EasyJet id = 14\r\n // Loci id = 178\r\n localStorage.setItem(\"isVodafone\", response.id == 187 ? \"1\" : \"0\");\r\n localStorage.setItem(\"isEasyJet\", response.id == 14 ? \"1\" : \"0\");\r\n localStorage.setItem(\"isLoci\", response.id == 178 ? \"1\" : \"0\");\r\n this.isVodafone = localStorage.getItem(\"isVodafone\") === \"1\";\r\n this.isEasyJet = localStorage.getItem(\"isEasyJet\") === \"1\";\r\n this.isLoci = localStorage.getItem(\"isLoci\") === \"1\";\r\n\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'mainFont'}`,\r\n 'Montserrat, sans-serif'\r\n );\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'navigationFont'}`,\r\n 'Montserrat, sans-serif'\r\n );\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'sliderHeadlineFont'}`,\r\n 'Montserrat, sans-serif'\r\n );\r\n\r\n if (this.isVodafone) {\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'mainFont'}`,\r\n 'Vodafone Rg, sans-serif'\r\n );\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'navigationFont'}`,\r\n 'Vodafone Rg, sans-serif'\r\n );\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'sliderHeadlineFont'}`,\r\n 'Vodafone ExB, sans-serif'\r\n );\r\n }\r\n if (this.isEasyJet) {\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'mainFont'}`,\r\n 'easyJet Rounded Book, sans-serif'\r\n );\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'navigationFont'}`,\r\n 'easyJet Rounded Book, sans-serif'\r\n );\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'sliderHeadlineFont'}`,\r\n 'easyJet Rounded Headline, sans-serif'\r\n );\r\n }\r\n if (this.isLoci) {\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'mainFont'}`,\r\n 'Roc Grotesk, sans-serif'\r\n );\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'navigationFont'}`,\r\n 'Roc Grotesk, sans-serif'\r\n );\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${'sliderHeadlineFont'}`,\r\n 'Roc Grotesk, sans-serif'\r\n );\r\n }\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n getStyle() {\r\n this.mcService.getStyle().subscribe(\r\n (response: any) => {\r\n this.styles = response;\r\n this.fontsAndColorsService.setPageStyleInfo(response);\r\n this.loader = false;\r\n },\r\n (error) => {\r\n //\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n\r\n getMcLanguage() {\r\n this.mcService.getMcLanguage().subscribe(\r\n (response: any) => {\r\n this.mcLanguageService.setMCLanguage(response);\r\n },\r\n (error) => { }\r\n );\r\n }\r\n\r\n getLanguage() {\r\n if (this.sLng != 0) {\r\n if (this.sLng != 1) {\r\n this.mcService.getTranslation(this.sLng).subscribe(\r\n (response: any) => {\r\n this.languageService.setLanguage(response);\r\n this.loader = false;\r\n this.getMcLanguage();\r\n },\r\n (error) => {\r\n //\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n agreeOnCookie() {\r\n //\r\n localStorage.CookieAgreed = true;\r\n this.showCookieNotice = false;\r\n }\r\n\r\n setCssVariables() {\r\n console.log(\"Estilos:\");\r\n console.log(this.styles.style);\r\n for (let cssVar in this.styles.style) {\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${cssVar}`,\r\n this.styles.style[cssVar] || \"inherit\"\r\n );\r\n }\r\n\r\n for (let cssVar in this.styles.style.fonts) {\r\n this.elementRef.nativeElement.style.setProperty(\r\n `--${cssVar}`,\r\n this.styles.style.fonts[cssVar] || \"inherit\"\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n","\r\nimport { throwError as observableThrowError, Observable } from 'rxjs';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FacebookService, LoginResponse, LoginOptions, UIResponse, UIParams, FBVideoComponent } from 'ngx-facebook';\r\nimport { LoginModel, fbModel } from './login-model';\r\nimport { McService } from '../shared/services/mc-service';\r\nimport { TokenManagerService } from '../shared/services/token-manager.service';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { StorageService } from '../shared/services/storage.service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CustomValidators } from 'ng2-validation';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { PageStyle } from '../models/style/style.model';\r\nimport { FontsAndColorsService } from '../shared/services/fonts-and-colors.service';\r\nimport { environment } from \"../../environments/environment\";\r\nimport { LayoutModel } from '../layout/layout-model';\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { Language } from \"../models/language/language.model\";\r\nimport { ToastrConfig } from '../shared/helpers/toastr-config';\r\nimport { SavedStoryService } from '../shared/services/saved-story.service';\r\nimport { MyFilesService } from '../shared/services/my-files.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.less']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n loggedUserName: string;\r\n isPassowordSet: boolean;\r\n loginModel = new LoginModel();\r\n response: any;\r\n loader = false;\r\n emailPopup: boolean;\r\n valForm: FormGroup;\r\n fbData = new fbModel();\r\n token: string;\r\n styles = new PageStyle();\r\n error: string;\r\n layoutResponseModel: LayoutModel;\r\n language: Language;\r\n returnUrl = '/';\r\n showPassword: boolean;\r\n type: string;\r\n\r\n\r\n constructor(private mcService: McService,\r\n private toastr: ToastrService,\r\n private languageService: LanguageService,\r\n private fb: FacebookService,\r\n private form: FormBuilder,\r\n private authLoginService: TokenManagerService,\r\n private router: Router,\r\n private sService: StorageService,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private activatedRoute: ActivatedRoute,\r\n private savedStoryService: SavedStoryService,\r\n private myFilesService: MyFilesService) {\r\n\r\n //\r\n\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n\r\n this.valForm = this.form.group({\r\n 'password': [null, Validators.required],\r\n 'username': [null, Validators.compose([Validators.required, CustomValidators.email])],\r\n });\r\n\r\n const headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n\r\n fb.init({\r\n appId: headerFooter.facebookAppId,\r\n version: 'v6.0'\r\n });\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n const token = JSON.parse(localStorage.getItem('Token'));\r\n this.token = token && token.token;\r\n\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n this.token = params['token'];\r\n });\r\n\r\n this.activatedRoute.queryParams.subscribe((params: Params) => {\r\n this.error = params['error'];\r\n });\r\n\r\n if (sessionStorage.getItem('redirectUrl'))\r\n this.returnUrl = sessionStorage.getItem('redirectUrl');\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.error) {\r\n this.toastr.error(this.error, 'Error', ToastrConfig.error);\r\n } else if (this.token) {\r\n\r\n localStorage.setItem('Token', JSON.stringify({ token: this.token }));\r\n this.mcService.getUserByToken(this.token)\r\n .subscribe((response: any) => {\r\n\r\n localStorage.setItem('Token', JSON.stringify({ token: this.token }));\r\n localStorage.setItem('User', JSON.stringify({ user: response.user }));\r\n\r\n this.sService.setName(response.user.fullName);\r\n this.router.navigateByUrl(this.returnUrl, { replaceUrl: true });\r\n },\r\n (error) => {\r\n localStorage.removeItem('Token')\r\n //\r\n });\r\n\r\n } else if (localStorage.getItem('Token') !== null) {\r\n this.router.navigateByUrl(this.returnUrl, { replaceUrl: true });\r\n }\r\n\r\n this.sService.getLogin().subscribe(term => {\r\n this.layoutResponseModel = term;\r\n });\r\n\r\n this.showPassword = false;\r\n this.type = 'password';\r\n //\r\n }\r\n\r\n visiblePassword(): void {\r\n this.showPassword = !this.showPassword;\r\n this.type = this.showPassword ? 'text' : 'password';\r\n }\r\n\r\n loginTwitter() {\r\n window.location.href = environment.apiUrl + '/MediaCenterUser/LoginWithTwitter';\r\n }\r\n\r\n login() {\r\n this.fb.login()\r\n .then((res: LoginResponse) => {\r\n this.mcService.logInFb(res.authResponse.accessToken)\r\n .subscribe((response: any) => {\r\n //\r\n const token = response.token;\r\n if (token) {\r\n this.token = token;\r\n\r\n if (response.user.role === 3 || response.user.role === 4 || response.user.role === 5 || response.user.role === 6) {\r\n return observableThrowError('Wrong email or password!');\r\n }\r\n localStorage.setItem('Token', JSON.stringify({ token: token }));\r\n localStorage.setItem('User', JSON.stringify({ user: response.user }));\r\n const files = this.myFilesService.getFiles();\r\n this.myFilesService.setMyFiles(files);\r\n this.savedStoryService.getIds();\r\n this.sService.setName(response.user.fullName);\r\n this.router.navigateByUrl(this.returnUrl, { replaceUrl: true });\r\n } else {\r\n return false;\r\n }\r\n },\r\n (error) => {\r\n\r\n this.toastr.error(error.message, 'Error', ToastrConfig.error);\r\n });\r\n })\r\n .catch(this.handleError);\r\n }\r\n\r\n st() {\r\n this.fb.api('/me?fields=email,first_name,last_name').then(\r\n (response: any) => {\r\n //\r\n this.fbData.email = response.email;\r\n this.fbData.facebookId = response.id;\r\n this.fbData.firstName = response.first_name;\r\n this.fbData.lastName = response.last_name;\r\n // this.loginModel.email=response.email;\r\n // this.loginModel.password='';\r\n //\r\n this.mcService.logInFb(this.fbData)\r\n .subscribe((response: any) => {\r\n\r\n const token = response.token;\r\n if (token) {\r\n this.processLogin(token, response);\r\n const files = this.myFilesService.getFiles();\r\n this.myFilesService.setMyFiles(files);\r\n } else {\r\n return false;\r\n }\r\n\r\n },\r\n (error) => {\r\n\r\n this.toastr.error(error.message, 'Error', ToastrConfig.error);\r\n });\r\n }\r\n )\r\n .catch(this.handleError);\r\n }\r\n\r\n registerPage() {\r\n this.router.navigateByUrl('/register');\r\n }\r\n\r\n\r\n private handleError(error) {\r\n console.error('Error processing action', error);\r\n this.toastr.error(error.message, 'Error', ToastrConfig.error);\r\n }\r\n\r\n submitLoginForm(e) {\r\n e.stopPropagation();\r\n for (const c in this.valForm.controls) {\r\n this.valForm.controls[c].markAsTouched();\r\n }\r\n if (this.valForm.valid) {\r\n this.loader = true;\r\n this.authLoginService.login(this.loginModel)\r\n .subscribe((response: any) => {\r\n this.response = response;\r\n this.loader = false;\r\n this.loggedUserName = TokenManagerService.getUser().fullName;\r\n // this.isPassowordSet = TokenManagerService.getUser().isPasswordSet;\r\n this.sService.setName(this.loggedUserName);\r\n\r\n const files = this.myFilesService.getFiles();\r\n this.myFilesService.setMyFiles(files);\r\n\r\n // this.sService.setPw(this.isPassowordSet);\r\n this.router.navigateByUrl(this.returnUrl);\r\n this.savedStoryService.getIds();\r\n\r\n },\r\n (error) => {\r\n this.toastr.error(error.message, 'Error', ToastrConfig.error);\r\n\r\n this.loader = false;\r\n });\r\n }\r\n }\r\n\r\n forgotPassword() {\r\n this.router.navigateByUrl('/forgotpassword');\r\n }\r\n\r\n processLogin(token, response) {\r\n this.token = token;\r\n\r\n if (response.user.role === 3 || response.user.role === 4 || response.user.role === 5 || response.user.role === 6) {\r\n return observableThrowError('Wrong email or password!');\r\n }\r\n localStorage.setItem('Token', JSON.stringify({ token: token }));\r\n localStorage.setItem('User', JSON.stringify({ user: response.user }));\r\n\r\n this.sService.setName(response.user.fullName);\r\n this.router.navigateByUrl(this.returnUrl);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{ language.signIn }}\r\n

\r\n

\r\n {{ language.register }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ language.emailNameRequired }}\r\n \r\n {{ language.invalidEmail }}\r\n
\r\n
\r\n \r\n
\r\n \"Show\r\n \"Hide\r\n
\r\n \r\n \r\n Password is required\r\n \r\n
\r\n
\r\n {{ language.forgotPassword }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { NgModule, Injector } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrandsComponent } from \"../routes/brands/brands.component\";\r\nimport { NewsComponent } from \"../routes/news/news.component\";\r\nimport { RedirectOldComponent } from \"../routes/redirect-old/redirect-old.component\";\r\nimport { MediaComponent } from \"../routes/media/media.component\";\r\nimport { ContactComponent } from \"../routes/contact/contact.component\";\r\nimport { LayoutComponent } from \"../layout/layout.component\";\r\nimport { HeaderComponent } from \"../header/header.component\";\r\nimport { HeaderComponent2 } from \"../header/header-2.component\";\r\nimport { HeaderComponent3 } from \"../header/header-3.component\";\r\nimport { FooterComponent } from \"../footer/footer.component\";\r\nimport { HomepageComponent } from \"./homepage/homepage.component\";\r\nimport { HomepageComponent2 } from \"./homepage/homepage-2.component\";\r\nimport { HomepageComponent3 } from \"./homepage/homepage-3.component\";\r\nimport { HomepageComponent4 } from \"./homepage/homepage-4.component\";\r\nimport { TestimonialsComponent } from \"../testimonials/testimonials.component\";\r\nimport { RegisterComponent } from \"../register/register.component\";\r\nimport { LoginComponent } from \"../login/login.component\";\r\nimport { NewsDetailComponent } from \"./news/news-detail/news-detail.component\";\r\nimport { NewsDetailComponent2 } from \"./news/news-detail/news-detail-2.component\";\r\nimport { NewsDetailComponent4 } from \"./news/news-detail/news-detail-4.component\";\r\nimport { PopupComponent } from \"../shared/components/popup/popup.component\";\r\nimport { DownloadComponent } from \"../download/download.component\";\r\nimport { SocialHomeComponent } from \"../social-home/social-home.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { DropdownComponent } from \"../shared/components/dropdown/dropdown.component\";\r\nimport { ClickOutsideDirective } from \"../shared/directives/click-outside.directive\";\r\nimport { SearchComponent } from \"../header/search/search.component\";\r\nimport { SearchResultsComponent } from \"../header/search-results/search-results.component\";\r\nimport { HttpRequestService } from \"../shared/services/http-request.service\";\r\nimport {\r\n HTTP_INTERCEPTORS,\r\n HttpClient,\r\n HttpClientModule,\r\n} from \"@angular/common/http\";\r\nimport { ToastrModule, ToastrService } from \"ngx-toastr\";\r\nimport { NgxPaginationModule } from \"ngx-pagination\";\r\nimport { CommunicationService } from \"../shared/services/communication.service\";\r\nimport { LoaderComponent } from \"../shared/components/loader/loader.component\";\r\nimport { LoadersmallComponent } from \"../shared/components/loader-small/loader.component\";\r\nimport { LoaderrelativeComponent } from \"../shared/components/loader-relative/loader.component\";\r\nimport { McService } from \"../shared/services/mc-service\";\r\nimport { MCLanguageService } from \"../shared/services/mc-language.service\";\r\nimport { MyFilesService } from \"../shared/services/my-files.service\";\r\nimport { StorageService } from \"../shared/services/storage.service\";\r\nimport { SearchPipe } from \"../shared/pipes/search.pipe\";\r\nimport { TermsComponent } from \"./terms/terms.component\";\r\nimport { ResultsComponent } from \"./results/results.component\";\r\nimport { ResultsSearchComponent } from \"./results/results-search/results-search.component\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { TokenManagerService } from \"../shared/services/token-manager.service\";\r\nimport { AuthInterceptorService } from \"../shared/services/auth-interceptor.service\";\r\nimport {\r\n AnonymousShareGuard,\r\n AuthGuard,\r\n AuthGuardService,\r\n MustRegisterGuard,\r\n} from \"../shared/services/auth-guard.service\";\r\nimport { ProfileComponent } from \"../header/profile/profile.component\";\r\nimport { EmailPopupComponent } from \"../login/email-popup/email-popup.component\";\r\nimport { ResetPasswordComponent } from \"../login/reset-password/reset-password.component\";\r\nimport { CheckAuthenticationComponent } from \"../login/check-authentication/check-authentication.component\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { LoginpopupComponent } from \"../shared/components/loginpopup/loginpopup.component\";\r\nimport { FontsAndColorsService } from \"../shared/services/fonts-and-colors.service\";\r\nimport { LanguageService } from \"../shared/services/language.service\";\r\nimport { DxDateBoxModule } from \"devextreme-angular\";\r\nimport { TermsPopupComponent } from \"../shared/components/terms-popup/terms-popup.component\";\r\nimport { GoogleAnalyticsEventsService } from \"../shared/services/google-analytics-events.service\";\r\nimport { ShareModule } from \"ngx-sharebuttons\";\r\nimport { ShareComponent } from \"../shared/components/share/share.component\";\r\nimport { StoryPreviewComponent } from \"../shared/components/story-preview/story-preview.component\";\r\nimport { ShareButtonComponent } from \"../shared/components/share-button/share-button.component\";\r\nimport { DebounceComponent } from \"../shared/debounce/debounce.component\";\r\nimport { BrandStoriesComponent } from \"./brand-stories/brand-stories.component\";\r\nimport { StyleDirective } from \"../shared/directives/style.directive\";\r\nimport { ShortenPipe } from \"../shared/pipes/shorten.pipe\";\r\nimport { ClipboardModule } from \"ngx-clipboard\";\r\nimport { ReplacePipe } from \"../shared/pipes/replace.pipe\";\r\nimport { ResetPasswordAdminComponent } from \"../login/reset-password-admin/reset-password-admin.component\";\r\nimport { RegisterImportedComponent } from \"../register-imported/register-imported.component\";\r\nimport { EmbeddedShareComponent } from \"../shared/components/embedded-share/embedded-share.component\";\r\nimport { ErrorComponent } from \"../error/error.component\";\r\nimport { RegisterPopupComponent } from \"../shared/components/register-popup/register-popup.component\";\r\nimport { MyFilesComponent } from \"../header/my-files/my-files.component\";\r\nimport { MediaFileComponent } from \"../shared/components/media-file/media-file.component\";\r\nimport { AboutUsComponent } from \"./about-us/about-us.component\";\r\nimport { ContactsComponent } from \"./contacts/contacts.component\";\r\nimport { FileHistoryComponent } from \"./file-history/file-history.component\";\r\nimport { DownloadBoxService } from \"../shared/services/download-box.service\";\r\nimport { SavedStoryService } from \"../shared/services/saved-story.service\";\r\nimport { CompetitionPageComponent } from \"./competition-page/competition-page.component\";\r\nimport { UnsubscribeNewsletterComponent } from './unsubscribe-newsletter/unsubscribe-newsletter.component';\r\nimport { SliderPictureComponent } from \"../shared/components/slider-picture/slider-picture.component\";\r\nimport { RerenderDirective } from \"../shared/directives/rerender.directive\";\r\nimport { NewsGroupComponent } from \"./news/news-group/news-group.component\";\r\nimport { MediaGroupComponent } from \"./media/media-group/media-group.component\";\r\nimport { CodeStoryComponent } from './news/code-story/code-story.component';\r\nimport { ArticleComponent } from './news/article/article.component';\r\nconst appRoutes: Routes = [\r\n {\r\n path: \"\",\r\n component: LayoutComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n canActivate: [MustRegisterGuard],\r\n component: (() => {\r\n if (localStorage.getItem(\"isVodafone\") === \"1\") {\r\n return HomepageComponent2;\r\n }\r\n if (localStorage.getItem(\"isEasyJet\") === \"1\") {\r\n return HomepageComponent4\r\n }\r\n return HomepageComponent;\r\n })(),\r\n pathMatch: \"full\",\r\n },\r\n { path: \"error\", component: ErrorComponent },\r\n { path: \"sign-in\", component: LoginComponent },\r\n { path: \"sign-in/:token\", component: LoginComponent },\r\n { path: \"register\", component: RegisterComponent },\r\n {\r\n path: \"competition\",\r\n component: CompetitionPageComponent,\r\n },\r\n {\r\n path: \"register/:oauth_verifier/:authorization_id/:twitterName\",\r\n component: RegisterComponent,\r\n },\r\n { path: \"register-imported/:code\", component: RegisterImportedComponent },\r\n {\r\n path: \"home\",\r\n canActivate: [MustRegisterGuard],\r\n component: (() => {\r\n if (localStorage.getItem(\"isVodafone\") === \"1\") {\r\n return HomepageComponent2;\r\n }\r\n if (localStorage.getItem(\"isEasyJet\") === \"1\") {\r\n return HomepageComponent4\r\n }\r\n return HomepageComponent;\r\n })(),\r\n },\r\n {\r\n path: \"home/:id/:title/:media\",\r\n canActivate: [AnonymousShareGuard],\r\n component: (() => {\r\n if (localStorage.getItem(\"isVodafone\") === \"1\") {\r\n return HomepageComponent2;\r\n }\r\n if (localStorage.getItem(\"isEasyJet\") === \"1\") {\r\n return HomepageComponent4\r\n }\r\n return HomepageComponent;\r\n })(),\r\n },\r\n {\r\n path: \"about-us\",\r\n canActivate: [AuthGuard, MustRegisterGuard],\r\n component: AboutUsComponent,\r\n },\r\n {\r\n path: \"contacts\",\r\n canActivate: [MustRegisterGuard],\r\n component: (() => {\r\n if (localStorage.getItem(\"isVodafone\") === \"1\") {\r\n return HomepageComponent2;\r\n }\r\n if (localStorage.getItem(\"isEasyJet\") === \"1\") {\r\n return ContactsComponent\r\n }\r\n return HomepageComponent;\r\n })(),\r\n // component: ContactsComponent,\r\n },\r\n {\r\n path: \"brands\",\r\n canActivate: [MustRegisterGuard],\r\n component: BrandsComponent,\r\n },\r\n {\r\n path: \"brands/:brand\",\r\n canActivate: [MustRegisterGuard],\r\n component: BrandStoriesComponent,\r\n },\r\n {\r\n path: \"results\",\r\n canActivate: [MustRegisterGuard],\r\n component: ResultsComponent,\r\n },\r\n {\r\n path: \"results/:id/:title/:media\",\r\n canActivate: [AnonymousShareGuard],\r\n component: ResultsComponent,\r\n },\r\n {\r\n path: \"results/:id\",\r\n canActivate: [AnonymousShareGuard],\r\n component: ResultsComponent,\r\n },\r\n {\r\n path: \"stories\",\r\n canActivate: [AuthGuard, MustRegisterGuard],\r\n component: NewsComponent,\r\n },\r\n {\r\n path: \"content-files/:id/:title/:media\",\r\n canActivate: [AnonymousShareGuard],\r\n component: MediaComponent,\r\n },\r\n {\r\n path: \"content-files\",\r\n canActivate: [MustRegisterGuard],\r\n component: MediaComponent,\r\n },\r\n {\r\n path: \"media-library/:id/:title/:media\",\r\n canActivate: [AnonymousShareGuard],\r\n component: MediaComponent,\r\n },\r\n {\r\n path: \"media-library\",\r\n canActivate: [MustRegisterGuard],\r\n component: MediaComponent,\r\n },\r\n // {\r\n // path: \"profile\",\r\n // canActivate: [AuthGuardService, MustRegisterGuard],\r\n // component: ProfileComponent,\r\n // },\r\n {\r\n // path: \"file-history\",\r\n path: \"profile\",\r\n canActivate: [AuthGuardService, MustRegisterGuard],\r\n component: FileHistoryComponent,\r\n },\r\n {\r\n path: \"contact-us\",\r\n canActivate: [MustRegisterGuard],\r\n component: ContactComponent,\r\n },\r\n {\r\n path: \"testimonials\",\r\n canActivate: [AuthGuard, MustRegisterGuard],\r\n component: TestimonialsComponent,\r\n },\r\n {\r\n path: \"download\",\r\n canActivate: [MustRegisterGuard],\r\n component: DownloadComponent,\r\n },\r\n {\r\n path: \"download/share/:ids\",\r\n canActivate: [MustRegisterGuard],\r\n component: DownloadComponent,\r\n },\r\n {\r\n path: \"search\",\r\n canActivate: [MustRegisterGuard],\r\n component: SearchComponent,\r\n },\r\n { path: \"forgotpassword\", component: EmailPopupComponent },\r\n {\r\n path: \"legal\",\r\n canActivate: [MustRegisterGuard],\r\n component: TermsComponent,\r\n },\r\n {\r\n path: \"newsdetail/:id\",\r\n canActivate: [MustRegisterGuard],\r\n component: (() => {\r\n // return localStorage.getItem(\"isVodafone\") === \"1\" ? NewsDetailComponent2 : NewsDetailComponent;\r\n return localStorage.getItem(\"isEasyJet\") === \"1\" ? NewsDetailComponent4 : NewsDetailComponent2;\r\n return NewsDetailComponent2;\r\n })(),\r\n },\r\n {\r\n path: \"story/:id/:title\",\r\n canActivate: [AnonymousShareGuard],\r\n component: (() => {\r\n // return localStorage.getItem(\"isVodafone\") === \"1\" ? NewsDetailComponent2 : NewsDetailComponent;\r\n return localStorage.getItem(\"isEasyJet\") === \"1\" ? NewsDetailComponent4 : NewsDetailComponent2;\r\n return NewsDetailComponent2;\r\n })(),\r\n },\r\n {\r\n path: \"story/:id/:title/:media\",\r\n canActivate: [AnonymousShareGuard],\r\n component: (() => {\r\n // return localStorage.getItem(\"isVodafone\") === \"1\" ? NewsDetailComponent2 : NewsDetailComponent;\r\n return localStorage.getItem(\"isEasyJet\") === \"1\" ? NewsDetailComponent4 : NewsDetailComponent2;\r\n return NewsDetailComponent2;\r\n })(),\r\n },\r\n {\r\n path: \"story/:id\",\r\n canActivate: [AnonymousShareGuard],\r\n component: (() => {\r\n // return localStorage.getItem(\"isVodafone\") === \"1\" ? NewsDetailComponent2 : NewsDetailComponent;\r\n return localStorage.getItem(\"isEasyJet\") === \"1\" ? NewsDetailComponent4 : NewsDetailComponent2;\r\n return NewsDetailComponent2;\r\n })(),\r\n },\r\n {\r\n path: \"story/:id/:media\",\r\n canActivate: [AnonymousShareGuard],\r\n component: (() => {\r\n // return localStorage.getItem(\"isVodafone\") === \"1\" ? NewsDetailComponent2 : NewsDetailComponent;\r\n return localStorage.getItem(\"isEasyJet\") === \"1\" ? NewsDetailComponent4 : NewsDetailComponent2;\r\n return NewsDetailComponent2;\r\n })(),\r\n },\r\n // https://digitalnewsagency.com/stories/12170-formula-e-partners-with-voestalpine-for-european-races\r\n {\r\n path: \"stories/:id\",\r\n canActivate: [MustRegisterGuard],\r\n component: RedirectOldComponent,\r\n },\r\n // https://digitalnewsagency.com/media/254056/share\r\n {\r\n path: \"media/:id/share\",\r\n canActivate: [MustRegisterGuard],\r\n component: RedirectOldComponent,\r\n },\r\n // https://digitalnewsagency.com//users/49390/reset_password/f30373a60686b05d10b2c594d973666f4bf9f740\r\n // {path: 'users/:id/reset_password/:hash', component: RedirectOldComponent},\r\n { path: \"users\", component: RedirectOldComponent },\r\n { path: \"users/:id\", component: RedirectOldComponent },\r\n { path: \"users/:id/:ida\", component: RedirectOldComponent },\r\n { path: \"users/:id/:ida/:idb\", component: RedirectOldComponent },\r\n { path: \"users/:id/:ida/:idb/:idc\", component: RedirectOldComponent },\r\n {\r\n path: \"users/:id/:ida/:idb/:idc/:idd\",\r\n component: RedirectOldComponent,\r\n },\r\n { path: \"ResetPassword/:id\", component: ResetPasswordComponent },\r\n { path: \"reset-password/:id\", component: ResetPasswordAdminComponent },\r\n {\r\n path: \"UserAuthentication/:id\",\r\n component: CheckAuthenticationComponent,\r\n },\r\n {\r\n path: \"unsubscribeNewsletter/:code\",\r\n component: UnsubscribeNewsletterComponent,\r\n },\r\n { path: \"**\", redirectTo: \"/\" },\r\n // {path: 'popup', component: PopupComponent},\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule.forRoot(appRoutes),\r\n BrowserModule,\r\n ToastrModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxPaginationModule,\r\n DxDateBoxModule,\r\n AgmCoreModule.forRoot({\r\n apiKey: \"AIzaSyD-5r_vASKExMERIUadi_Ff0n0n67xpVQM\",\r\n }),\r\n ShareModule,\r\n ClipboardModule,\r\n ],\r\n declarations: [\r\n AboutUsComponent,\r\n ContactsComponent,\r\n BrandsComponent,\r\n TermsPopupComponent,\r\n NewsComponent,\r\n MediaComponent,\r\n ContactComponent,\r\n LayoutComponent,\r\n HeaderComponent,\r\n HeaderComponent2,\r\n HeaderComponent3,\r\n MyFilesComponent,\r\n FooterComponent,\r\n HomepageComponent,\r\n HomepageComponent2,\r\n HomepageComponent3,\r\n HomepageComponent4,\r\n TestimonialsComponent,\r\n RegisterComponent,\r\n LoginComponent,\r\n NewsDetailComponent,\r\n NewsDetailComponent2,\r\n NewsDetailComponent4,\r\n RedirectOldComponent,\r\n PopupComponent,\r\n DownloadComponent,\r\n LoginpopupComponent,\r\n LoaderComponent,\r\n LoadersmallComponent,\r\n LoaderrelativeComponent,\r\n SocialHomeComponent,\r\n DropdownComponent,\r\n ClickOutsideDirective,\r\n StyleDirective,\r\n RerenderDirective,\r\n SearchComponent,\r\n SearchResultsComponent,\r\n SearchPipe,\r\n TermsComponent,\r\n ResultsComponent,\r\n ResultsSearchComponent,\r\n ProfileComponent,\r\n EmailPopupComponent,\r\n ResetPasswordComponent,\r\n CheckAuthenticationComponent,\r\n ShareComponent,\r\n EmbeddedShareComponent,\r\n ShareButtonComponent,\r\n NewsGroupComponent,\r\n MediaGroupComponent,\r\n StoryPreviewComponent,\r\n DebounceComponent,\r\n BrandStoriesComponent,\r\n ShortenPipe,\r\n ReplacePipe,\r\n ErrorComponent,\r\n RegisterPopupComponent,\r\n MediaFileComponent,\r\n FileHistoryComponent,\r\n CompetitionPageComponent,\r\n UnsubscribeNewsletterComponent,\r\n SliderPictureComponent,\r\n CodeStoryComponent,\r\n ArticleComponent\r\n ],\r\n exports: [RouterModule],\r\n providers: [\r\n HttpRequestService,\r\n HttpClient,\r\n ToastrService,\r\n McService,\r\n DownloadBoxService,\r\n MCLanguageService,\r\n MyFilesService,\r\n SavedStoryService,\r\n CommunicationService,\r\n StorageService,\r\n TokenManagerService,\r\n AuthGuardService,\r\n AuthGuard,\r\n MustRegisterGuard,\r\n AnonymousShareGuard,\r\n GoogleAnalyticsEventsService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptorService,\r\n multi: true,\r\n },\r\n FontsAndColorsService,\r\n LanguageService,\r\n ],\r\n})\r\nexport class RoutesModule { }\r\n","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport { LanguageService } from \"../../../shared/services/language.service\";\r\n\r\ndeclare var $: any;\r\n\r\n\r\n@Component({\r\n selector: 'app-code-story',\r\n templateUrl: './code-story.component.html',\r\n styleUrls: ['./code-story.component.less']\r\n})\r\nexport class CodeStoryComponent implements AfterViewInit {\r\n\r\n @Input() storiesByCode: any;\r\n @Input() mustRegisterToDownload: boolean;\r\n @Input() anonymousShare: boolean;\r\n @ViewChild(\"carousel\") carousel: any;\r\n language: Language;\r\n\r\n\r\n slideConfig = {\r\n slidesToShow: 3.5,\r\n slidesToScroll: 3,\r\n infinite: false,\r\n responsive: [\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n slidesToShow: 1.15,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ]\r\n };\r\n\r\n constructor(private languageService: LanguageService) {\r\n this.language = languageService.getLanguage();\r\n }\r\n\r\n ngAfterViewInit() {\r\n $(this.carousel.nativeElement).slick(this.slideConfig);\r\n }\r\n}\r\n","
\r\n
\r\n
{{ storiesByCode.date | date: 'mediumDate' }}
\r\n

({{ storiesByCode.code }}) {{ storiesByCode.name }}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { PageStyle } from '../../../models/style/style.model';\r\nimport { FontsAndColorsService } from '../../services/fonts-and-colors.service';\r\nimport { TokenManagerService } from '../../services/token-manager.service';\r\nimport { McService } from '../../services/mc-service';\r\nimport { GoogleAnalyticsEventsService } from '../../services/google-analytics-events.service';\r\nimport { UrlHelper } from '../../helpers/url-helper';\r\nimport { WebNewsDetailsModel } from '../../../routes/news/news-model';\r\nimport { FacebookService } from 'ngx-facebook';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { ButtonsHelper } from '../../helpers/buttons-helper';\r\nimport { Language } from \"../../../models/language/language.model\";\r\nimport { LanguageService } from \"../../services/language.service\";\r\n\r\n@Component({\r\n selector: 'app-share',\r\n templateUrl: './share.component.html',\r\n styleUrls: ['./share.component.less']\r\n})\r\nexport class ShareComponent implements OnInit {\r\n\r\n @Input() socials: string[];\r\n @Input() open: boolean = false;\r\n @Input() shared: number;\r\n @Input() storyId: number = null;\r\n @Input() staggingStoryId: number = null;\r\n @Input() mediaId: number = null;\r\n @Input() sbUrl: string;\r\n @Input() big: boolean = false;\r\n @Input() vertical: boolean = false;\r\n @Input() horizontal: boolean = false;\r\n @Input() noTitle: boolean = false;\r\n @Input() description: string;\r\n @Input() title: string;\r\n @Input() image: string;\r\n @Input() webNewsDetailsResponse: WebNewsDetailsModel;\r\n @Input() isMediaShare: boolean = false;\r\n @Input() isMediaShareVertical: boolean = false;\r\n @Input() isMediaShareBig: boolean = false;\r\n @Input() whiteShareStyle: boolean;\r\n @Input() hideShareNumber = true;\r\n @Input() isPublished = false;\r\n @Output() emitShared = new EventEmitter();\r\n @Output() embeddOpen = new EventEmitter();\r\n\r\n buttonsHelper = ButtonsHelper;\r\n embeddedPopupShow: boolean;\r\n user: any;\r\n activeFb = false;\r\n activeMail = false;\r\n activeTw = false;\r\n activeIn = false;\r\n activeEm = false;\r\n urlStoryForEmail: string;\r\n styles = new PageStyle();\r\n language: Language;\r\n\r\n constructor(private fb: FacebookService, private languageService: LanguageService, private fontsAndColorsService: FontsAndColorsService, private mcService: McService, private googleAnalytics: GoogleAnalyticsEventsService) {\r\n\r\n const headerFooter = JSON.parse(localStorage.getItem('headerfooter'));\r\n\r\n fb.init({\r\n appId: headerFooter.facebookAppId,\r\n version: 'v6.0'\r\n });\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n console.log(\"isPublished share\", this.isPublished);\r\n if (this.sbUrl) {\r\n this.urlStoryForEmail = this.sbUrl.replace(/(^\\w+:|^)\\/\\//, '');\r\n }\r\n }\r\n\r\n openShare($event) {\r\n $event.stopPropagation();\r\n this.open = !this.open;\r\n }\r\n\r\n onClickOutside(event: Object) {\r\n if (event && event['value'] === true) {\r\n this.open = false;\r\n }\r\n }\r\n\r\n\r\n openEmbeddedPopup() {\r\n this.embeddedPopupShow = true;\r\n }\r\n\r\n closeEmbeddedPopup() {\r\n this.embeddedPopupShow = false;\r\n\r\n }\r\n\r\n clickSharedNews(networkType) {\r\n this.user = TokenManagerService.getUser();\r\n\r\n if (localStorage.getItem('Token') === null) {\r\n this.user.id = 'anonymous';\r\n }\r\n\r\n\r\n switch (networkType) {\r\n case 'facebook':\r\n this.fb.ui({\r\n method: 'share_open_graph',\r\n action_type: 'og.shares',\r\n action_properties: JSON.stringify({\r\n object: {\r\n 'og:url': this.sbUrl,\r\n 'og:title': this.title,\r\n 'og:description': this.description,\r\n 'og:image': this.image,\r\n }\r\n })\r\n }).then(res => {\r\n //this.shared++;\r\n }).catch(e => {\r\n //\r\n });\r\n break;\r\n case 'twitter':\r\n const twitterUrl = 'https://twitter.com/intent/tweet?text=' + encodeURIComponent(this.title) + '&url=' + encodeURIComponent(this.sbUrl);\r\n window.open(twitterUrl, '_blank');\r\n break;\r\n case 'linkedin':\r\n const linkedinUrl = \"https://www.linkedin.com/shareArticle?mini=true&url=\" + encodeURIComponent(this.sbUrl);\r\n window.open(linkedinUrl, '_blank');\r\n break;\r\n case 'mail':\r\n const iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\r\n\r\n if (iOS) {\r\n try {\r\n (window as any).webkit.messageHandlers.shareByEmailClicked.postMessage({\r\n url: this.sbUrl,\r\n title: this.title,\r\n subject: this.title\r\n });\r\n } catch (err) {\r\n }\r\n\r\n }\r\n break;\r\n default:\r\n }\r\n this.shareAnalytics(networkType);\r\n }\r\n\r\n private shareAnalytics(networkType) {\r\n if (this.isMediaShare) {\r\n this.mcService.addSharedToMedia(this.mediaId, this.user.id, networkType, this.isPublished, true).subscribe();\r\n this.googleAnalytics.emitEvent('share', \"SocialSharing\", \"ArticleSharing\", `${this.title} | ${networkType}`);\r\n } else {\r\n this.mcService.addSharedToNews(this.storyId, this.user.id, networkType, true).subscribe();\r\n this.googleAnalytics.emitEvent('share', \"SocialSharing\", \"ArticleSharing\", `${this.title} | ${networkType}`);\r\n }\r\n this.shared++;\r\n this.emitShared.emit(this.shared);\r\n }\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ContactsService } from './contacts.service';\r\nimport { ContactsModel } from './contacts.model';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { McService } from '../../shared/services/mc-service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { PageStyle } from '../../models/style/style.model';\r\nimport { FontsAndColorsService } from '../../shared/services/fonts-and-colors.service';\r\nimport { MetaModel } from '../../models/meta/meta';\r\nimport { LanguageService } from '../../shared/services/language.service';\r\nimport { Language } from '../../models/language/language.model';\r\nimport { BrandsManageModel, BrandsModel } from '../brands/brands-model';\r\n\r\n@Component({\r\n selector: 'app-contacts',\r\n templateUrl: './contacts.component.html',\r\n styleUrls: ['./contacts.component.less'],\r\n providers: [ContactsService]\r\n})\r\nexport class ContactsComponent implements OnInit {\r\n contacts = new ContactsModel();\r\n loader: boolean;\r\n styles = new PageStyle();\r\n metadatas: MetaModel;\r\n language: Language;\r\n brandsResponse = new BrandsModel();\r\n brands: BrandsManageModel[] = [];\r\n isEasyJet: boolean = false;\r\n\r\n constructor(private ContactsService: ContactsService, private languageService: LanguageService, private meta: Meta, private titleService: Title, private router: Router,\r\n private mcService: McService, private fontsAndColorsService: FontsAndColorsService) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.language = languageService.getLanguage();\r\n\r\n this.languageService.language.subscribe(\r\n (language) => {\r\n this.language = language;\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.getContacts();\r\n // if (localStorage.getItem(\"isEasyJet\") === \"1\") {\r\n // this.isEasyJet = true;\r\n // }\r\n }\r\n\r\n getContacts() {\r\n this.loader = true;\r\n this.getHardcodedContacts();\r\n // this.ContactsService.mediaCenterWebContacts()\r\n\r\n // .subscribe((response: any) => {\r\n // // this.contacts = response;\r\n // this.loader = false;\r\n // },\r\n // (error) => {\r\n // //\r\n // });\r\n }\r\n\r\n getHardcodedContacts() {\r\n this.contacts.ourTeam = [\r\n {\r\n name: 'Holly Mitchell',\r\n email: 'Holly.Mitchell@easyjet.com',\r\n description: 'for easyJet media enquiries for journalists from the UK or UK publications.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Holly Mitchell.jpg',\r\n },\r\n {\r\n name: 'Andy Cockburn',\r\n email: 'Andy.Cockburn@easyJet.com',\r\n description: 'For easyJet media enquiries for journalists from the UK or UK publications on London Gatwick, London Luton, London Stansted, London Southend, Liverpool and Manchester as well as Egypt, Israel, Turkey and Jordan.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Andy Cockburn.jpg',\r\n },\r\n {\r\n name: 'Paula Peralta',\r\n email: 'Paula.Peralta@easyjet.com',\r\n description: 'for easyJet media enquiries for journalists from the UK or UK publications on Scotland and Northern Ireland as well as the Isle of Man, Jersey and Gibraltar.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Paula Peralta.jpg',\r\n },\r\n {\r\n name: 'Lottie Phillips',\r\n email: 'Lottie.phillips@easyJet.com',\r\n description: 'For easyJet media enquiries for Bristol, Birmingham, Bournemouth, Newcastle, Newquay, Southampton, as well as Denmark, Sweden, Norway and Finland and Iceland.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Lottie Phillips.jpg',\r\n },\r\n {\r\n name: 'Kirsten de Haan',\r\n email: 'Kirsten.dehaan@easyjet.com',\r\n description: 'for easyJet media enquiries for journalists from the Netherlands and Belgium.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Kirsten Dehaan.jpg',\r\n },\r\n {\r\n name: 'Matteo Finotto',\r\n email: 'Matteo.Finotto@easyJet.com',\r\n description: 'for easyJet media enquiries for journalists from Southern Europe and the Balkans (Italy, Spain, Portugal, Greece, Bulgaria, Croatia, Cyprus, Kosovo, Serbia, Montenegro and Slovenia).',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Matteo Finotto.jpg',\r\n },\r\n {\r\n name: 'Sara Scuri',\r\n email: 'Sara.Scuri@easyJet.com',\r\n description: 'for easyJet media enquiries for Italy.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Sara Scuri.jpg',\r\n },\r\n {\r\n name: 'Carinne Heinen',\r\n email: 'Carinne.Heinen@easyJet.com',\r\n description: 'for easyJet media enquiries for journalists from France, Switzerland (French-speaking), Belgium (French-speaking), Luxembourg and Morocco.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Carinne Heinen.jpg',\r\n },\r\n {\r\n name: 'Manuel Guenin',\r\n email: 'Manuel.Guenin@easyjet.com',\r\n description: 'for easyJet media enquiries for journalists from Austria, Germany, Hungary, Poland and Switzerland (German-speaking).',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Manuel Guenin.jpg',\r\n },\r\n {\r\n name: 'Doris Diagne',\r\n email: 'Doris.Diagne@easyjet.com',\r\n description: 'for easyJet media enquiries for journalists from France.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Doris Diagne.jpg',\r\n },\r\n {\r\n name: 'Kundai Musara',\r\n email: 'Kundai.Musara@easyJet.com',\r\n description: 'for easyJet media enquiries on Sustainability Communications.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Kundai Musara.jpg',\r\n },\r\n {\r\n name: 'Matt Clemens',\r\n email: 'Matt.Clemens@easyJet.com',\r\n description: 'for easyJet media enquiries on Sustainability Communications.',\r\n position: '1',\r\n thumbUrl: '../../assets/easyJet/Matt.jpeg',\r\n },\r\n ]\r\n this.contacts.rotary = [\r\n { day: 'Friday', date: '20/10/2023', name: 'Kundai Musara' },\r\n { day: 'Saturday', date: '21/10/2023', name: 'Kundai Musara' },\r\n { day: 'Sunday', date: '22/10/2023', name: 'Kundai Musara' },\r\n { day: 'Monday', date: '23/10/2023', name: 'Kundai Musara' },\r\n { day: 'Tuesday', date: '24/10/2023', name: 'Kundai Musara' },\r\n { day: 'Wednesday', date: '25/10/2023', name: 'Kundai Musara' },\r\n { day: 'Thursday', date: '26/10/2023', name: 'Kundai Musara' },\r\n { day: 'Friday', date: '27/10/2023', name: 'Matteo Finotto' },\r\n { day: 'Saturday', date: '28/10/2023', name: 'Matteo Finotto' },\r\n { day: 'Sunday', date: '29/10/2023', name: 'Matteo Finotto' },\r\n { day: 'Monday', date: '30/10/2023', name: 'Manuel Guenin' },\r\n { day: 'Tuesday', date: '31/10/2023', name: 'Manuel Guenin' },\r\n { day: 'Wednesday', date: '1/11/2023', name: 'Manuel Guenin' },\r\n { day: 'Thursday', date: '2/11/2023', name: 'Manuel Guenin' },\r\n { day: 'Friday', date: '3/11/2023', name: 'Carinne Heinen' },\r\n { day: 'Saturday', date: '4/11/2023', name: 'Carinne Heinen' },\r\n { day: 'Sunday', date: '5/11/2023', name: 'Carinne Heinen' },\r\n { day: 'Monday', date: '6/11/2023', name: 'Sara Scuri' },\r\n { day: 'Tuesday', date: '7/11/2023', name: 'Sara Scuri' },\r\n { day: 'Wednesday', date: '8/11/2023', name: 'Sara Scuri' },\r\n { day: 'Thursday', date: '9/11/2023', name: 'Sara Scuri' },\r\n { day: 'Friday', date: '10/11/2023', name: 'Lottie Phillips' },\r\n { day: 'Saturday', date: '11/11/2023', name: 'Lottie Phillips' },\r\n { day: 'Sunday', date: '12/11/2023', name: 'Lottie Phillips' },\r\n { day: 'Monday', date: '13/11/2023', name: 'Paula Peralta' },\r\n { day: 'Tuesday', date: '14/11/2023', name: 'Paula Peralta' },\r\n { day: 'Wednesday', date: '15/11/2023', name: 'Paula Peralta' },\r\n { day: 'Thursday', date: '16/11/2023', name: 'Paula Peralta' },\r\n { day: 'Friday', date: '17/11/2023', name: 'Manuel Guenin' },\r\n { day: 'Saturday', date: '18/11/2023', name: 'Manuel Guenin' },\r\n { day: 'Sunday', date: '19/11/2023', name: 'Manuel Guenin' },\r\n { day: 'Monday', date: '20/11/2023', name: 'Doris Diagne' },\r\n { day: 'Tuesday', date: '21/11/2023', name: 'Doris Diagne' },\r\n { day: 'Wednesday', date: '22/11/2023', name: 'Doris Diagne' },\r\n { day: 'Thursday', date: '23/11/2023', name: 'Doris Diagne' },\r\n { day: 'Friday', date: '24/11/2023', name: 'Andy Cockburn' },\r\n { day: 'Saturday', date: '25/11/2023', name: 'Andy Cockburn' },\r\n { day: 'Sunday', date: '26/11/2023', name: 'Andy Cockburn' },\r\n { day: 'Monday', date: '27/11/2023', name: 'Matteo Finotto' },\r\n { day: 'Tuesday', date: '28/11/2023', name: 'Matteo Finotto' },\r\n { day: 'Wednesday', date: '29/11/2023', name: 'Matteo Finotto' },\r\n { day: 'Thursday', date: '30/11/2023', name: 'Matteo Finotto' },\r\n { day: 'Friday', date: '1/12/2023', name: 'Kundai Musara' },\r\n { day: 'Saturday', date: '2/12/2023', name: 'Kundai Musara' },\r\n { day: 'Sunday', date: '3/12/2023', name: 'Kundai Musara' },\r\n { day: 'Monday', date: '4/12/2023', name: 'Carinne Heinen' },\r\n { day: 'Tuesday', date: '5/12/2023', name: 'Carinne Heinen' },\r\n { day: 'Wednesday', date: '6/12/2023', name: 'Carinne Heinen' },\r\n { day: 'Thursday', date: '7/12/2023', name: 'Carinne Heinen' },\r\n { day: 'Friday', date: '8/12/2023', name: 'Paula Peralta' },\r\n { day: 'Saturday', date: '9/12/2023', name: 'Paula Peralta' },\r\n { day: 'Sunday', date: '10/12/2023', name: 'Paula Peralta' },\r\n { day: 'Monday', date: '11/12/2023', name: 'Andy Cockburn' },\r\n { day: 'Tuesday', date: '12/12/2023', name: 'Andy Cockburn' },\r\n { day: 'Wednesday', date: '13/12/2023', name: 'Andy Cockburn' },\r\n { day: 'Thursday', date: '14/12/2023', name: 'Andy Cockburn' },\r\n { day: 'Friday', date: '15/12/2023', name: 'Sara Scuri' },\r\n { day: 'Saturday', date: '16/12/2023', name: 'Sara Scuri' },\r\n { day: 'Sunday', date: '17/12/2023', name: 'Sara Scuri' },\r\n { day: 'Monday', date: '18/12/2023', name: 'Kundai Musara' },\r\n { day: 'Tuesday', date: '19/12/2023', name: 'Kundai Musara' },\r\n { day: 'Wednesday', date: '20/12/2023', name: 'Kundai Musara' },\r\n { day: 'Thursday', date: '21/12/2023', name: 'Kundai Musara' },\r\n { day: 'Friday', date: '22/12/2023', name: 'Manuel Guenin' },\r\n { day: 'Saturday', date: '23/12/2023', name: 'Paula Peralta' },\r\n { day: 'Sunday', date: '24/12/2023', name: 'Andy Cockburn' },\r\n { day: 'Monday', date: '25/12/2023', name: 'Matteo Finotto' },\r\n { day: 'Tuesday', date: '26/12/2023', name: 'Doris Diagne' },\r\n { day: 'Wednesday', date: '27/12/2023', name: 'Lottie Phillips' },\r\n { day: 'Thursday', date: '28/12/2023', name: 'Sara Scuri' },\r\n { day: 'Friday', date: '29/12/2023', name: 'Paula Peralta' },\r\n { day: 'Saturday', date: '30/12/2023', name: 'Kundai Musara' },\r\n { day: 'Sunday', date: '31/12/2023', name: 'Carinne Heinen' },\r\n { day: 'Monday', date: '1/1/2024', name: 'Manuel Guenin' },\r\n { day: 'Tuesday', date: '2/1/2024', name: 'Manuel Guenin' },\r\n { day: 'Wednesday', date: '3/1/2024', name: 'Manuel Guenin' },\r\n { day: 'Thursday', date: '4/1/2024', name: 'Manuel Guenin' },\r\n { day: 'Friday', date: '5/1/2024', name: 'Lottie Phillips' },\r\n { day: 'Saturday', date: '6/1/2024', name: 'Lottie Phillips' },\r\n { day: 'Sunday', date: '7/1/2024', name: 'Lottie Phillips' },\r\n { day: 'Monday', date: '8/1/2024', name: 'Carinne Heinen' },\r\n { day: 'Tuesday', date: '9/1/2024', name: 'Carinne Heinen' },\r\n { day: 'Wednesday', date: '10/1/2024', name: 'Carinne Heinen' },\r\n { day: 'Thursday', date: '11/1/2024', name: 'Carinne Heinen' },\r\n { day: 'Friday', date: '12/1/2024', name: 'Doris Diagne' },\r\n { day: 'Saturday', date: '13/1/2024', name: 'Doris Diagne' },\r\n { day: 'Sunday', date: '14/1/2024', name: 'Doris Diagne' },\r\n { day: 'Monday', date: '15/1/2024', name: 'Paula Peralta' },\r\n { day: 'Tuesday', date: '16/1/2024', name: 'Paula Peralta' },\r\n { day: 'Wednesday', date: '17/1/2024', name: 'Paula Peralta' },\r\n { day: 'Thursday', date: '18/1/2024', name: 'Paula Peralta' },\r\n { day: 'Friday', date: '19/1/2024', name: 'Matteo Finotto' },\r\n { day: 'Saturday', date: '20/1/2024', name: 'Matteo Finotto' },\r\n { day: 'Sunday', date: '21/1/2024', name: 'Matteo Finotto' },\r\n { day: 'Monday', date: '22/1/2024', name: 'Sara Scuri' },\r\n { day: 'Tuesday', date: '23/1/2024', name: 'Sara Scuri' },\r\n { day: 'Wednesday', date: '23/1/2024', name: 'Sara Scuri' },\r\n { day: 'Thursday', date: '24/1/2024', name: 'Sara Scuri' },\r\n { day: 'Friday', date: '25/1/2024', name: 'Kundai Musara' },\r\n { day: 'Saturday', date: '26/1/2024', name: 'Kundai Musara' },\r\n { day: 'Sunday', date: '27/1/2024', name: 'Kundai Musara' },\r\n { day: 'Monday', date: '28/1/2024', name: 'Lottie Phillips' },\r\n { day: 'Tuesday', date: '29/1/2024', name: 'Lottie Phillips' },\r\n { day: 'Wednesday', date: '30/1/2024', name: 'Lottie Phillips' },\r\n { day: 'Thursday', date: '31/1/2024', name: 'Lottie Phillips' },\r\n ]\r\n }\r\n\r\n getBrands() {\r\n this.loader = true;\r\n this.mcService.getBrands()\r\n .subscribe((response: any) => {\r\n this.brandsResponse = response;\r\n // if (this.brandsResponse.mustRegisterToAccess && localStorage.getItem('Token') == null) {\r\n // sessionStorage.setItem('redirectUrl', '/' + window.location.pathname);\r\n // this.router.navigateByUrl('/sign-in');\r\n // }\r\n this.brands = response.clients;\r\n this.loader = false;\r\n if (this.brandsResponse.customCategories && this.brandsResponse.customCategories.length > 0)\r\n this.brandsResponse.customCategories.unshift({ id: 0, parentId: 0, label: 'All' });\r\n if (this.brandsResponse.mainCategories && this.brandsResponse.mainCategories.length > 0)\r\n this.brandsResponse.mainCategories.unshift({ id: 0, parentId: 0, label: 'All' });\r\n },\r\n (error) => {\r\n //\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n

Contact Us

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

\r\n Media\r\n

\r\n

\r\n If you’re a journalist and would like to speak to one of the team, please\r\n email us using the contact details below.\r\n Our office hours are 09.00 to 17.00 Monday to Friday.\r\n

\r\n

\r\n Outside of office hours only, please call +44 (0) 1582 525252 for instructions to speak to the duty\r\n press officer.\r\n

\r\n

\r\n \r\n \r\n We will be unable to answer any queries not from journalists\r\n \r\n so please visit the support\r\n section where you can find many of the most frequently asked questions and alternative contact details.\r\n

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

\r\n Corporate and
Government Relations\r\n

\r\n

\r\n If you’d like to talk to us about stakeholder relations, Government, political or policy issues please contact\r\n our\r\n public affairs team at: public.affairs@easyjet.com.\r\n

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

{{contact.name}}

\r\n

{{contact.email}}

\r\n \r\n

{{contact.description}}

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

Please find a schedule of who to contact for any out-of-hours media enquiries.

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{item.day}}{{item.date}}{{item.name}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{item.day}}{{item.date}}{{item.name}}
\r\n
\r\n
\r\n
\r\n \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\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n","import {\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n NgZone,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { NewsModel } from \"../../models/news/news.model\";\r\nimport { McService } from \"../../shared/services/mc-service\";\r\nimport {\r\n FeaturedStoriesModel,\r\n HomeModel,\r\n LatestMediaModel,\r\n LatestStoriesModel,\r\n} from \"./home-model\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\nimport { SavedStoryService } from \"../../shared/services/saved-story.service\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { TokenManagerService } from \"../../shared/services/token-manager.service\";\r\nimport { StorageService } from \"../../shared/services/storage.service\";\r\nimport { UrlHelper } from \"../../shared/helpers/url-helper\";\r\nimport { PageStyle } from \"../../models/style/style.model\";\r\nimport { Language } from \"../../models/language/language.model\";\r\nimport { Meta } from \"@angular/platform-browser\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FontsAndColorsService } from \"../../shared/services/fonts-and-colors.service\";\r\nimport { LanguageService } from \"../../shared/services/language.service\";\r\nimport { Location } from \"@angular/common\";\r\n\r\ndeclare var $: any;\r\n\r\nimport { MetaModel } from \"../../models/meta/meta\";\r\nimport { FacebookService } from \"ngx-facebook\";\r\nimport { environment } from \"../../../environments/environment\";\r\nimport { GoogleAnalyticsEventsService } from \"../../shared/services/google-analytics-events.service\";\r\nimport { CommunicationService } from \"../../shared/services/communication.service\";\r\nimport { MCLanguageService } from \"../../shared/services/mc-language.service\";\r\nimport { ButtonsHelper } from \"../../shared/helpers/buttons-helper\";\r\nimport { WebpHelperService } from \"../../shared/services/webp-helper.service\";\r\nimport { BrandsManageModel } from \"../brands/brands-model\";\r\n\r\n@Component({\r\n selector: \"app-homepage-4\",\r\n templateUrl: \"./homepage-4.component.html\",\r\n styleUrls: [\"./homepage-4.component.less\"],\r\n})\r\nexport class HomepageComponent4 implements OnInit {\r\n config: any;\r\n news: NewsModel[];\r\n picture: SafeHtml;\r\n visibleNews: NewsModel[];\r\n searchText = \"\";\r\n dropdown = false;\r\n grid: string;\r\n latestCategoryGrid: string;\r\n activeSubTab: number;\r\n filtered: LatestMediaModel[] = [];\r\n category: string;\r\n mediaId: number;\r\n popup = false;\r\n p = 1;\r\n subcategory = false;\r\n twitterActive: boolean;\r\n facebookActive: boolean;\r\n instagramActive: boolean;\r\n linkedinActive: boolean;\r\n loader: boolean;\r\n image: string;\r\n audio: number;\r\n video: number;\r\n document: number;\r\n images: number;\r\n twitter: any[];\r\n facebook: any[];\r\n linkedin: any;\r\n homeModelResponse = new HomeModel();\r\n storyGroupings: LatestStoriesModel[][] = [[]];\r\n items: Array = [];\r\n backgroundUrl = \"\";\r\n videoUrl = \"\";\r\n thumbUrl = \"\";\r\n autoplay: boolean;\r\n selectedFs: any = {};\r\n activeSlide: number = 0;\r\n all = true;\r\n imageTab = false;\r\n videoTab = false;\r\n documentTab = false;\r\n audioTab = false;\r\n styles = new PageStyle();\r\n showVideos = false;\r\n showImages = false;\r\n showAudios = false;\r\n showDocuments = false;\r\n countAll = 0;\r\n countVideos = 0;\r\n countImages = 0;\r\n countAudios = 0;\r\n countDocuments = 0;\r\n user: any;\r\n activeAllTab = false;\r\n activeTab = false;\r\n activeImageTab = false;\r\n activeVideoTab = false;\r\n activeDocumentsTab = false;\r\n activeAudioTab = false;\r\n socials: string[] = [];\r\n currentUrl: string;\r\n activeAll: boolean = true;\r\n activeImage: boolean = false;\r\n activeVideo: boolean = false;\r\n activeDoc: boolean = false;\r\n activeAudio: boolean = false;\r\n fStories: FeaturedStoriesModel[];\r\n nextFStories: FeaturedStoriesModel[] = [];\r\n filterDropdown: boolean;\r\n metadatas: MetaModel;\r\n newsHeadlineLength: number;\r\n newsGridResponse: HomeModel;\r\n shortDescriptionLength: number;\r\n allActive = false;\r\n imageActive = false;\r\n videoActive = false;\r\n docActive = false;\r\n audioActive = false;\r\n language: Language;\r\n mcLanguage = [];\r\n sLng: number;\r\n loading = false;\r\n xDown = null;\r\n yDown = null;\r\n featuredEmbeddedCode: SafeHtml;\r\n buttonsHelper = ButtonsHelper;\r\n mediaLoaded = false;\r\n initialLoaded = false;\r\n latestStoriesLoaded = false;\r\n storiesCategoryLoaded = false;\r\n showCategory = true;\r\n brands: BrandsManageModel[] = [];\r\n brandsCurrentScroll: number = 0;\r\n brandsMaxScroll: number = 0;\r\n innerWidth: number = 0;\r\n @ViewChild(\"brandsContainer\")\r\n brandsContainer: ElementRef;\r\n\r\n constructor(\r\n private mcService: McService,\r\n private router: Router,\r\n private ngZone: NgZone,\r\n private sService: StorageService,\r\n private meta: Meta,\r\n private titleService: Title,\r\n public fontsAndColorsService: FontsAndColorsService,\r\n private languageService: LanguageService,\r\n private mcLanguageService: MCLanguageService,\r\n private fbo: FacebookService,\r\n private route: ActivatedRoute,\r\n private googleAnalytics: GoogleAnalyticsEventsService,\r\n private location: Location,\r\n private communicationService: CommunicationService,\r\n private sanitizer: DomSanitizer,\r\n private savedStoryService: SavedStoryService,\r\n public webPHelper: WebpHelperService\r\n ) {\r\n this.styles = fontsAndColorsService.getPageStyleInfo();\r\n this.languageService.language.subscribe((language) => {\r\n this.language = language;\r\n });\r\n this.mcLanguageService.language.subscribe((language) => {\r\n this.getHomeTexts(language);\r\n });\r\n this.route.params.subscribe((params: Params) => {\r\n const id: string = params[\"id\"];\r\n const title: string = params[\"title\"];\r\n let media: string = params[\"media\"];\r\n\r\n if (media && media.indexOf(\"?\") > -1)\r\n media = media.substr(0, media.indexOf(\"?\"));\r\n\r\n if (media) {\r\n this.openPopup(+media);\r\n }\r\n this.route.queryParams.subscribe((params) => {\r\n if (params[\"parentBrandUrl\"]) {\r\n this.communicationService.setFromBrands(decodeURI(params[\"parentBrandUrl\"]));\r\n }\r\n });\r\n });\r\n }\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.resize();\r\n }\r\n\r\n getHomeTexts(mcLanguage) {\r\n if (mcLanguage) {\r\n let homeKeywords = [\r\n \"SearchBoxTitle\",\r\n \"SearchBoxText\",\r\n \"SearchBoxSubtitle\",\r\n ];\r\n let homeKeywordIds = [];\r\n let homeIdToKeyword = [];\r\n for (const keyword of mcLanguage.keywords) {\r\n if (homeKeywords.includes(keyword.label)) {\r\n homeKeywordIds.push(keyword.id);\r\n homeIdToKeyword[keyword.id] = keyword.label;\r\n }\r\n }\r\n let lngId = localStorage.getItem(\"lng\");\r\n for (const mccl of mcLanguage.mediaCenterChosenLanguages) {\r\n if (\r\n homeKeywordIds.includes(mccl.keywordId) &&\r\n mccl.languageId == lngId\r\n ) {\r\n this.mcLanguage[homeIdToKeyword[mccl.keywordId]] = mccl.translation;\r\n }\r\n }\r\n }\r\n }\r\n\r\n openPopup(id) {\r\n this.mediaId = id;\r\n this.popup = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.showCategory = localStorage.getItem(\"hideCategories\") != \"1\";\r\n this.language = this.languageService.getLanguage();\r\n this.getHomeTexts(this.mcLanguageService.getMCLanguage());\r\n document.addEventListener(\r\n \"touchstart\",\r\n (evt) => {\r\n this.xDown = evt.touches[0].clientX;\r\n this.yDown = evt.touches[0].clientY;\r\n },\r\n false\r\n );\r\n this.sLng = Number(localStorage.getItem(\"lng\"));\r\n window.scrollTo(0, 0);\r\n\r\n this.getHomepage();\r\n this.user = TokenManagerService.getUser();\r\n this.currentUrl = window.location.href;\r\n\r\n this.facebook = [];\r\n this.getBrands();\r\n }\r\n\r\n getBrands() {\r\n this.mcService.getBrands().subscribe(\r\n (response: any) => {\r\n this.brands = response.clients;\r\n setTimeout(() => {\r\n this.brandsMaxScroll = this.brandsContainer?.nativeElement?.offsetWidth;\r\n }, 1000);\r\n },\r\n (error) => {\r\n //\r\n }\r\n );\r\n }\r\n\r\n handleTouchStart(evt) {\r\n this.xDown = evt.touches[0].clientX;\r\n this.yDown = evt.touches[0].clientY;\r\n }\r\n\r\n resize() {\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns2\") {\r\n this.newsHeadlineLength = 155;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 120;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n }\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns3\") {\r\n this.newsHeadlineLength = 90;\r\n this.shortDescriptionLength = 140;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 65;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 120;\r\n this.shortDescriptionLength = 95;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 75;\r\n this.shortDescriptionLength = 75;\r\n }\r\n }\r\n if (this.homeModelResponse.latesStoryGridType === \"Columns4\") {\r\n this.newsHeadlineLength = 60;\r\n if (window.innerWidth <= 1500 && window.innerWidth >= 1200) {\r\n this.newsHeadlineLength = 15;\r\n }\r\n if (window.innerWidth <= 1200 && window.innerWidth >= 1000) {\r\n this.newsHeadlineLength = 110;\r\n }\r\n if (window.innerWidth <= 1000 && window.innerWidth >= 700) {\r\n this.newsHeadlineLength = 100;\r\n }\r\n }\r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n getStoryUrl(storyId, stories) {\r\n return (\r\n this.currentUrl.replace(\"home\", \"story\") +\r\n \"/\" +\r\n storyId +\r\n \"/\" +\r\n UrlHelper.getUrlTitle(\r\n stories.find((x) => x.staggingStoryId == storyId).storyTitle\r\n )\r\n );\r\n }\r\n\r\n getFeaturedStoryUrl() {\r\n return `/story/${this.selectedFs?.staggingStoryId}/${UrlHelper.getUrlTitle(\r\n this.selectedFs?.storyTitle\r\n )}`;\r\n }\r\n\r\n homepageLoaded() {\r\n if (this.latestStoriesLoaded && this.initialLoaded) {\r\n this.resize();\r\n this.loader = false;\r\n }\r\n }\r\n\r\n getHomepage() {\r\n this.loader = true;\r\n this.mcService.getHomepageInitial(this.sLng).subscribe(\r\n (response: any) => {\r\n console.log(\"Initial Load\");\r\n this.initialLoaded = true;\r\n this.homeModelResponse.featuredStories = response.featuredStories;\r\n this.homeModelResponse.mustRegisterToAccess =\r\n response.mustRegisterToAccess;\r\n this.homeModelResponse.mustRegisterToDownload =\r\n response.mustRegisterToDownload;\r\n this.homeModelResponse.hideCounters = response.hideCounters;\r\n this.homeModelResponse.latesStoryGridType = response.latesStoryGridType;\r\n this.grid = this.homeModelResponse.latesStoryGridType;\r\n this.homeModelResponse.title = response.title;\r\n this.homeModelResponse.bodyText = response.bodyText;\r\n this.homeModelResponse.additionalBodyText = response.additionalBodyText;\r\n this.homeModelResponse.socialSharing = response.socialSharing;\r\n\r\n this.fStories = response.featuredStories;\r\n this.selectedFs = this.homeModelResponse.featuredStories[0];\r\n for (let i = 1; i < this.fStories.length && i <= 4; i++) {\r\n this.nextFStories.push(this.fStories[i]);\r\n }\r\n if (this.nextFStories.length < 4) {\r\n this.nextFStories.push(this.fStories[0]);\r\n if (this.nextFStories.length < 4 && this.fStories.length > 1) {\r\n this.nextFStories.push(this.fStories[1]);\r\n }\r\n }\r\n for (const x of this.homeModelResponse.featuredStories) {\r\n this.images = x.images;\r\n this.video = x.video;\r\n this.audio = x.audio;\r\n this.document = x.document;\r\n }\r\n this.backgroundUrl =\r\n this.homeModelResponse?.featuredStories[0]?.fullHDUrl || \"\";\r\n\r\n for (const x of this.fStories) {\r\n if (x.fullHDUrl === \"\") {\r\n this.thumbUrl = x.thumbUrl;\r\n }\r\n }\r\n\r\n for (const featuredStory of this.homeModelResponse.featuredStories) {\r\n if (featuredStory.featuredEmbeddedCode) {\r\n featuredStory.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n featuredStory.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n if (this.homeModelResponse.socialSharing != null) {\r\n this.socials = this.homeModelResponse.socialSharing;\r\n }\r\n this.homepageLoaded();\r\n },\r\n (error) => { }\r\n );\r\n this.mcService.getHomepageLatestStories(this.sLng).subscribe(\r\n (response: any) => {\r\n console.log(\"Latest Stories\");\r\n this.latestStoriesLoaded = true;\r\n this.homeModelResponse.latestStories = response.latestStories;\r\n for (const latestStory of this.homeModelResponse.latestStories) {\r\n if (latestStory.featuredEmbeddedCode) {\r\n latestStory.embeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n latestStory.featuredEmbeddedCode\r\n );\r\n }\r\n }\r\n this.loadStoryGroupings();\r\n this.homepageLoaded();\r\n },\r\n (error) => { }\r\n );\r\n }\r\n\r\n loadStoryGroupings() {\r\n let count = 0;\r\n for (const story of this.homeModelResponse.latestStories) {\r\n if (this.storyGroupings[count].length >= 4) count++;\r\n if (!this.storyGroupings[count]) this.storyGroupings[count] = [];\r\n this.storyGroupings[count].push(story);\r\n }\r\n }\r\n\r\n changeStory(story: FeaturedStoriesModel, i) {\r\n this.videoUrl = \"\";\r\n this.images = story.images;\r\n this.video = story.video;\r\n this.audio = story.audio;\r\n this.document = story.document;\r\n this.selectedFs = story;\r\n if (story.mediaType == \"Image\") {\r\n this.backgroundUrl = story.fullHDUrl;\r\n this.featuredEmbeddedCode = null;\r\n }\r\n if (story.mediaType == \"Video\") {\r\n this.videoUrl = story.fullHDUrl;\r\n this.featuredEmbeddedCode = null;\r\n }\r\n if (story.featuredEmbeddedCode) {\r\n this.selectedFs.mediaType = null;\r\n this.backgroundUrl = \"\";\r\n this.featuredEmbeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n story.featuredEmbeddedCode\r\n );\r\n }\r\n this.activeSlide = i;\r\n }\r\n\r\n moveLeftBrands() {\r\n const moveAmount = window.innerWidth;\r\n this.brandsCurrentScroll = this.brandsCurrentScroll - moveAmount;\r\n if (this.brandsCurrentScroll < 0) this.brandsCurrentScroll = 0;\r\n }\r\n\r\n moveRightBrands() {\r\n const moveAmount = window.innerWidth;\r\n this.brandsCurrentScroll = this.brandsCurrentScroll + moveAmount;\r\n if (this.brandsCurrentScroll > this.brandsMaxScroll - this.innerWidth)\r\n this.brandsCurrentScroll = this.brandsMaxScroll - this.innerWidth;\r\n }\r\n\r\n prevSlide() {\r\n this.featuredEmbeddedCode = null;\r\n if (this.activeSlide != 0) {\r\n this.activeSlide = this.activeSlide - 1;\r\n } else {\r\n this.activeSlide = this.fStories.length - 1;\r\n }\r\n this.changeSlide();\r\n }\r\n\r\n nextSlide() {\r\n this.featuredEmbeddedCode = null;\r\n if (this.activeSlide != this.fStories.length - 1) {\r\n this.activeSlide = this.activeSlide + 1;\r\n } else {\r\n this.activeSlide = 0;\r\n }\r\n this.changeSlide();\r\n }\r\n\r\n changeSlide() {\r\n this.selectedFs = this.fStories[this.activeSlide];\r\n this.backgroundUrl = this.fStories[this.activeSlide].fullHDUrl;\r\n for (const x of this.fStories) {\r\n if (x.mediaType == \"Video\") {\r\n this.videoUrl = this.fStories[this.activeSlide].fullHDUrl;\r\n }\r\n }\r\n\r\n if (this.selectedFs.featuredEmbeddedCode) {\r\n this.featuredEmbeddedCode = this.sanitizer.bypassSecurityTrustHtml(\r\n this.selectedFs.featuredEmbeddedCode\r\n );\r\n this.selectedFs.mediaType = null;\r\n this.backgroundUrl = \"\";\r\n }\r\n this.nextFStories = [];\r\n for (let i = this.activeSlide + 1; this.nextFStories.length < 4; i++) {\r\n if (i >= this.fStories.length) i = 0;\r\n this.nextFStories.push(this.fStories[i]);\r\n }\r\n }\r\n\r\n readMore(id, title) {\r\n localStorage.setItem(\"storyId\", JSON.stringify(id));\r\n if (localStorage.getItem(\"Token\") === null) {\r\n this.user.id = null;\r\n }\r\n if (this.user.cmsUser == null) {\r\n this.googleAnalytics.emitEvent(\r\n \"story/\" + id.staggingStoryId,\r\n \"view\",\r\n this.user.id ? this.user.id.toString() : \"anonymous\"\r\n );\r\n }\r\n this.googleAnalytics.emitArticleEvent(\"homepage\", id.staggingStoryId);\r\n this.googleAnalytics.emitReadMoreEvent(\r\n \"slider\",\r\n title,\r\n \"/story/\" + id.staggingStoryId + \"/\" + UrlHelper.getUrlTitle(title)\r\n );\r\n this.router.navigate([\r\n \"/story/\" + id.staggingStoryId + \"/\" + UrlHelper.getUrlTitle(title),\r\n ]);\r\n }\r\n\r\n toggleSavedStory(storyId) {\r\n if (this.inSavedStories(storyId))\r\n this.savedStoryService\r\n .remove(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n else\r\n this.savedStoryService\r\n .add(storyId)\r\n .then((response: any) => { })\r\n .catch((error) => {\r\n console.error(error);\r\n });\r\n }\r\n\r\n inSavedStories(storyId) {\r\n return this.savedStoryService.inSavedStories(storyId);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ language.addStoryToFav }}\r\n
\r\n\r\n 0\" [image]=\"selectedFs?.thumbUrl\"\r\n [title]=\"selectedFs?.storyTitle\" [description]=\"selectedFs?.shortDescription\" [big]=\"false\"\r\n [horizontal]=\"true\" [shared]=\"selectedFs?.shared\" [sbUrl]=\"getFeaturedStoryUrl()\"\r\n [staggingStoryId]=\"selectedFs?.staggingStoryId\" [mediaId]=\"selectedFs?.mediaId\"\r\n [storyId]=\"selectedFs?.storyId\" [socials]=\"homeModelResponse.socialSharing\">\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 {{ selectedFs?.storyTitle }}\r\n

\r\n

\r\n {{ selectedFs?.shortDescription }}\r\n

\r\n
\r\n
\r\n {{ language.readMore }}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n

\r\n {{ language.latestStory }}\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=\"brands\">\r\n
\r\n

\r\n {{ language.brands }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n"]}