{"version":3,"file":"main.js","mappings":"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","sources":["./globals.ts","./src/app/app-password.directive.ts","./src/app/app-routing.module.ts","./src/app/app.api-auth-interceptor.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/footer/footer.component.ts","./src/app/core/footer/footer.component.html","./src/app/core/navbar/navbar.component.ts","./src/app/core/navbar/navbar.component.html","./src/app/core/secondary-menu/secondary-menu.component.ts","./src/app/core/secondary-menu/secondary-menu.component.html","./src/app/core/sidebar/sidebar.component.ts","./src/app/core/sidebar/sidebar.component.html","./src/app/json-ld.service.ts","./src/app/pages/analytics/analytics.component.ts","./src/app/pages/analytics/analytics.component.html","./src/app/pages/analytics/analytics.service.ts","./src/app/pages/cms/cms-field/cms-field.component.ts","./src/app/pages/cms/cms-field/cms-field.component.html","./src/app/pages/cms/cms-module/cms-module.component.ts","./src/app/pages/cms/cms-module/cms-module.component.html","./src/app/pages/cms/cms.component.ts","./src/app/pages/cms/cms.component.html","./src/app/pages/cms/service/cms.service.ts","./src/app/pages/dashboard/dashboard.component.ts","./src/app/pages/dashboard/dashboard.component.html","./src/app/pages/experiences/experiences-list/experiences-list.component.ts","./src/app/pages/experiences/experiences-list/experiences-list.component.html","./src/app/pages/experiences/experiences-page/experiences-page.component.ts","./src/app/pages/experiences/experiences-page/experiences-page.component.html","./src/app/pages/experiences/experiences/experience.model.ts","./src/app/pages/experiences/experiences/experiences.component.ts","./src/app/pages/experiences/experiences/experiences.component.html","./src/app/pages/experiences/experiences/experiences.service.ts","./src/app/pages/experiences/experiences/media-experiences.service.ts","./src/app/pages/home/home.component.ts","./src/app/pages/home/home.component.html","./src/app/pages/login/login.component.ts","./src/app/pages/login/login.component.html","./src/app/pages/maker/maker-admin.component.ts","./src/app/pages/maker/maker-admin.component.html","./src/app/pages/maker/maker-contacts/maker-contacts-list/maker-contacts-list.component.ts","./src/app/pages/maker/maker-contacts/maker-contacts-list/maker-contacts-list.component.html","./src/app/pages/maker/maker-contacts/maker-contacts/maker-contacts.component.ts","./src/app/pages/maker/maker-contacts/maker-contacts/maker-contacts.component.html","./src/app/pages/maker/maker-contacts/maker-group/maker-group.component.ts","./src/app/pages/maker/maker-contacts/maker-group/maker-group.component.html","./src/app/pages/maker/maker-directories/maker-directories.component.ts","./src/app/pages/maker/maker-directories/maker-directories.component.html","./src/app/pages/maker/maker-list/maker-page.component.ts","./src/app/pages/maker/maker-list/maker-page.component.html","./src/app/pages/maker/maker-pin/maker-pin.component.ts","./src/app/pages/maker/maker-pin/maker-pin.component.html","./src/app/pages/maker/maker-profile/maker.component.ts","./src/app/pages/maker/maker-profile/maker.component.html","./src/app/pages/maker/maker-profile/maker.model.ts","./src/app/pages/maker/maker-profile/media-maker.ts","./src/app/pages/maker/maker-resellers-list/maker-resellers-list.component.ts","./src/app/pages/maker/maker-resellers-list/maker-resellers-list.component.html","./src/app/pages/not-found/not-found.component.ts","./src/app/pages/product-reviews-list/product-reviews-list.component.ts","./src/app/pages/product-reviews-list/product-reviews-list.component.html","./src/app/pages/product/product-page/product-page.component.ts","./src/app/pages/product/product-page/product-page.component.html","./src/app/pages/product/product-pin-page/product-pin-page.component.ts","./src/app/pages/product/product-pin-page/product-pin-page.component.html","./src/app/pages/register/register-maker/register-maker.component.ts","./src/app/pages/register/register-maker/register-maker.component.html","./src/app/pages/register/register-reseller/register-reseller.component.ts","./src/app/pages/register/register-reseller/register-reseller.component.html","./src/app/pages/register/register.component.ts","./src/app/pages/register/register.component.html","./src/app/pages/reseller/reseller-admin.component.ts","./src/app/pages/reseller/reseller-admin.component.html","./src/app/pages/reseller/reseller-contacts/reseller-contacts-list/reseller-contacts-list.component.ts","./src/app/pages/reseller/reseller-contacts/reseller-contacts-list/reseller-contacts-list.component.html","./src/app/pages/reseller/reseller-contacts/reseller-contacts/reseller-contacts.component.ts","./src/app/pages/reseller/reseller-contacts/reseller-contacts/reseller-contacts.component.html","./src/app/pages/reseller/reseller-countries-list/reseller-countries-list.component.ts","./src/app/pages/reseller/reseller-countries-list/reseller-countries-list.component.html","./src/app/pages/reseller/reseller-experiences-list/reseller-experiences-list.component.ts","./src/app/pages/reseller/reseller-experiences-list/reseller-experiences-list.component.html","./src/app/pages/reseller/reseller-locations-list/reseller-locations-list.component.ts","./src/app/pages/reseller/reseller-locations-list/reseller-locations-list.component.html","./src/app/pages/reseller/reseller-makers-list/reseller-makers-list.component.ts","./src/app/pages/reseller/reseller-makers-list/reseller-makers-list.component.html","./src/app/pages/reseller/reseller-profile/media-reseller.ts","./src/app/pages/reseller/reseller-profile/reseller.component.ts","./src/app/pages/reseller/reseller-profile/reseller.component.html","./src/app/pages/reseller/reseller-profile/reseller.model.ts","./src/app/pages/reviews/reviews-page.component.ts","./src/app/pages/reviews/reviews-page.component.html","./src/app/pages/sales/sales-history/sales-history.component.ts","./src/app/pages/sales/sales-history/sales-history.component.html","./src/app/pages/sales/sales-list/sales-list.component.ts","./src/app/pages/sales/sales-list/sales-list.component.html","./src/app/pages/sales/sales.service.ts","./src/app/pages/shared/auth-guard.service.ts","./src/app/pages/shared/auth.service.ts","./src/app/pages/shared/confirmation-dialog/confirmation-dialog.component.ts","./src/app/pages/shared/confirmation-dialog/confirmation-dialog.component.html","./src/app/pages/shared/cropper/cropper.component.ts","./src/app/pages/shared/cropper/cropper.component.html","./src/app/pages/shared/cropper/cropper2.component.ts","./src/app/pages/shared/cropper/cropper2.component.html","./src/app/pages/shared/cropper/cropper3.component.ts","./src/app/pages/shared/cropper/cropper3.component.html","./src/app/pages/shared/cropper/cropper4.component.ts","./src/app/pages/shared/cropper/cropper4.component.html","./src/app/pages/shared/cropper/full-width-cropper.component.ts","./src/app/pages/shared/cropper/full-width-cropper.component.html","./src/app/pages/shared/custom-validators.ts","./src/app/pages/shared/logged-in-guard.service.ts","./src/app/pages/shared/maker.service.ts","./src/app/pages/shared/redirect/redirect.component.ts","./src/app/pages/shared/redirect/redirect.component.html","./src/app/pages/shared/reseller.service.ts","./src/app/pages/shared/taker.service.ts","./src/app/pages/taker/taker-admin.component.ts","./src/app/pages/taker/taker-admin.component.html","./src/app/pages/taker/taker-favorites/taker-favorites.component.ts","./src/app/pages/taker/taker-favorites/taker-favorites.component.html","./src/app/pages/taker/taker-profile/taker.component.ts","./src/app/pages/taker/taker-profile/taker.component.html","./src/app/pages/taker/taker-profile/taker.model.ts","./src/app/pages/users/contact-form/contact-form.component.ts","./src/app/pages/users/contact-form/contact-form.component.html","./src/app/pages/users/password-recover/password-recover.component.ts","./src/app/pages/users/password-recover/password-recover.component.html","./src/app/pages/users/reset-password/reset-password.component.ts","./src/app/pages/users/reset-password/reset-password.component.html","./src/app/pages/webs/webs.component.ts","./src/app/pages/webs/webs.component.html","./src/app/pages/wordpress-page/wordpress-page.component.ts","./src/app/pages/wordpress-page/wordpress-page.component.html","./src/app/shared/categories/categories.service.ts","./src/app/shared/experience-card/experience-card.component.ts","./src/app/shared/experience-card/experience-card.component.html","./src/app/shared/experience-search/experience-search.component.ts","./src/app/shared/experience-search/experience-search.component.html","./src/app/shared/icons/eco.ts","./src/app/shared/icons/google.ts","./src/app/shared/icons/icons.module.ts","./src/app/shared/icons/land.ts","./src/app/shared/icons/sea.ts","./src/app/shared/languages/languages.service.ts","./src/app/shared/locations/country.model.ts","./src/app/shared/locations/country.service.ts","./src/app/shared/locations/location.model.ts","./src/app/shared/locations/location.service.ts","./src/app/shared/maker-card/maker-card.component.ts","./src/app/shared/maker-card/maker-card.component.html","./src/app/shared/maker-cta/maker-cta.component.ts","./src/app/shared/maker-cta/maker-cta.component.html","./src/app/shared/maker-search/maker-search.component.ts","./src/app/shared/maker-search/maker-search.component.html","./src/app/shared/modal-alert/modal-alert.component.ts","./src/app/shared/modal-alert/modal-alert.component.html","./src/app/shared/review-form/review-form.component.ts","./src/app/shared/review-form/review-form.component.html","./src/app/shared/review-form/review.service.ts","./src/app/shared/reviews/reviews.component.ts","./src/app/shared/reviews/reviews.component.html","./src/app/shared/tags/tags.service.ts","./src/app/shared/users/user.model.ts","./src/app/shared/users/users.component.ts","./src/app/shared/users/users.component.html","./src/app/shared/users/users.service.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["export const maxTableRows: number = 5;","import { Directive, ElementRef, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[passToggle]'\r\n})\r\nexport class AppPasswordDirective {\r\n visible: boolean = false;\r\n\r\n constructor(\r\n private elem: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit() {\r\n const inputElem = this.elem.nativeElement;\r\n\r\n // create wrapper around input .input-group\r\n const wrapper = document.createElement('div');\r\n wrapper.classList.add('input-group');\r\n inputElem.parentNode.insertBefore(wrapper, inputElem);\r\n wrapper.appendChild(inputElem);\r\n\r\n // create toggle element\r\n const toggleElem = this.renderer.createElement('div');\r\n toggleElem.classList.add('input-group-append');\r\n toggleElem.innerHTML = ``;\r\n\r\n // append toggle element to input wrapper\r\n this.renderer.appendChild(wrapper, toggleElem);\r\n\r\n // listen to click event on toggle button\r\n this.renderer.listen(toggleElem, 'click', (event) => {\r\n const toggleIcon = document.getElementById('toggle-icon');\r\n this.visible = !this.visible;\r\n\r\n if (this.visible) {\r\n this.renderer.addClass(toggleIcon, 'fa-eye');\r\n this.renderer.removeClass(toggleIcon, 'fa-eye-slash');\r\n } else {\r\n this.renderer.addClass(toggleIcon, 'fa-eye-slash');\r\n this.renderer.removeClass(toggleIcon, 'fa-eye');\r\n }\r\n\r\n this.renderer.setAttribute(inputElem, 'type', this.visible ? 'text' : 'password');\r\n });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { ExperiencesPageComponent } from './pages/experiences/experiences-page/experiences-page.component';\r\nimport { HomeComponent } from './pages/home/home.component';\r\nimport { ExperiencesListComponent } from './pages/experiences/experiences-list/experiences-list.component';\r\nimport { ExperiencesComponent } from './pages/experiences/experiences/experiences.component';\r\n// import { LoginComponent } from './pages/login/login.component';\r\nimport { PasswordRecoverComponent } from './pages/users/password-recover/password-recover.component';\r\nimport { RegisterComponent } from './pages/register/register.component';\r\nimport { RegisterMakerComponent } from './pages/register/register-maker/register-maker.component';\r\nimport { MakerAdminComponent } from './pages/maker/maker-admin.component';\r\nimport { MakerComponent } from './pages/maker/maker-profile/maker.component';\r\nimport { AuthGuard } from './pages/shared/auth-guard.service';\r\nimport { UsersComponent } from './shared/users/users.component';\r\nimport { TakerComponent } from './pages/taker/taker-profile/taker.component';\r\nimport { TakerAdminComponent } from './pages/taker/taker-admin.component';\r\nimport { ResetPasswordComponent } from './pages/users/reset-password/reset-password.component';\r\nimport { TakerFavoritesComponent } from './pages/taker/taker-favorites/taker-favorites.component';\r\nimport { NotFoundComponent } from './pages/not-found/not-found.component';\r\nimport { WordpressPageComponent } from './pages/wordpress-page/wordpress-page.component';\r\nimport { MakerPageComponent } from './pages/maker/maker-list/maker-page.component';\r\nimport { MakerPinComponent } from './pages/maker/maker-pin/maker-pin.component';\r\nimport { MakerContactsListComponent } from './pages/maker/maker-contacts/maker-contacts-list/maker-contacts-list.component';\r\nimport { MakerContactsComponent } from './pages/maker/maker-contacts/maker-contacts/maker-contacts.component';\r\nimport { ContactFormComponent } from './pages/users/contact-form/contact-form.component';\r\nimport { ResellerAdminComponent } from './pages/reseller/reseller-admin.component';\r\nimport { ResellerComponent } from './pages/reseller/reseller-profile/reseller.component';\r\nimport { ResellerContactsListComponent } from './pages/reseller/reseller-contacts/reseller-contacts-list/reseller-contacts-list.component';\r\nimport { ResellerContactsComponent } from './pages/reseller/reseller-contacts/reseller-contacts/reseller-contacts.component';\r\nimport { RegisterResellerComponent } from './pages/register/register-reseller/register-reseller.component';\r\nimport { ResellerMakersListComponent } from './pages/reseller/reseller-makers-list/reseller-makers-list.component';\r\nimport { ResellerExperiencesListComponent } from './pages/reseller/reseller-experiences-list/reseller-experiences-list.component';\r\nimport { ResellerCountriesListComponent } from './pages/reseller/reseller-countries-list/reseller-countries-list.component';\r\nimport { ResellerLocationsListComponent } from './pages/reseller/reseller-locations-list/reseller-locations-list.component';\r\nimport { MakerResellersListComponent } from './pages/maker/maker-resellers-list/maker-resellers-list.component';\r\nimport { RedirectComponent } from './pages/shared/redirect/redirect.component';\r\nimport { MakerGroupComponent } from './pages/maker/maker-contacts/maker-group/maker-group.component';\r\nimport { SalesListComponent } from './pages/sales/sales-list/sales-list.component';\r\nimport { SalesHistoryComponent } from './pages/sales/sales-history/sales-history.component';\r\nimport { AnalyticsComponent } from './pages/analytics/analytics.component';\r\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\r\nimport { ProductPageComponent } from './pages/product/product-page/product-page.component';\r\nimport { ProductPinPageComponent } from './pages/product/product-pin-page/product-pin-page.component';\r\nimport { ReviewsPageComponent } from './pages/reviews/reviews-page.component';\r\nimport { ProductReviewsListComponent } from './pages/product-reviews-list/product-reviews-list.component';\r\nimport { MakerDirectories } from './pages/maker/maker-directories/maker-directories.component';\r\nimport { CmsComponent } from './pages/cms/cms.component';\r\nimport { WebsComponent } from './pages/webs/webs.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HomeComponent },\r\n { path: ':lang', component: HomeComponent },\r\n { path: ':lang/experiencias', component: ExperiencesPageComponent },\r\n { path: ':lang/makers', component: MakerDirectories },\r\n { path: ':lang/maker/:makerName', component: MakerPageComponent },\r\n { path: ':lang/maker/:id/pin', component: MakerPinComponent },\r\n { path: ':lang/product/:productName', component: ProductPageComponent },\r\n // { path: ':lang/product/:productName/:id', component: ProductPageComponent },\r\n { path: ':lang/product/:productName/pin', component: ProductPinPageComponent },\r\n {\r\n path: ':lang/maker/admin',\r\n component: MakerAdminComponent,\r\n data: { breadcrumb: 'Organizadores' },\r\n canActivate: [AuthGuard],\r\n children: [\r\n {\r\n path: 'datos-acceso',\r\n component: UsersComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'perfil/:plan',\r\n component: MakerComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'perfil',\r\n component: MakerComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'dashboard',\r\n component: DashboardComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'experiencias',\r\n component: ExperiencesListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'webs',\r\n component: WebsComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'cms/:id',\r\n component: CmsComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'reviews',\r\n component: ReviewsPageComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'reviews/:id',\r\n component: ProductReviewsListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'analiticas',\r\n component: AnalyticsComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'ventas',\r\n component: SalesListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'historial-ventas',\r\n component: SalesHistoryComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'nueva-experiencia',\r\n component: ExperiencesComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'editar-experiencia/:id',\r\n component: ExperiencesComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'mis-resellers',\r\n component: MakerResellersListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'contactos',\r\n component: MakerContactsListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'nuevo-contacto',\r\n component: MakerContactsComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'editar-contacto/:id',\r\n component: MakerContactsComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'nuevo-grupo',\r\n component: MakerGroupComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'editar-grupo/:id',\r\n component: MakerGroupComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n ]\r\n },\r\n {\r\n path: ':lang/taker/admin',\r\n component: TakerAdminComponent,\r\n data: { breadcrumb: 'Takers' },\r\n canActivate: [AuthGuard],\r\n children: [\r\n {\r\n path: 'datos-acceso',\r\n component: UsersComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'perfil',\r\n component: TakerComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'favoritos',\r\n component: TakerFavoritesComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n ]\r\n },\r\n {\r\n path: ':lang/reseller/admin',\r\n component: ResellerAdminComponent,\r\n data: { breadcrumb: 'Resellers' },\r\n canActivate: [AuthGuard],\r\n children: [\r\n {\r\n path: 'datos-acceso',\r\n component: UsersComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'perfil',\r\n component: ResellerComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'mis-productos',\r\n component: ResellerExperiencesListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'mis-makers',\r\n component: ResellerMakersListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'mis-paises',\r\n component: ResellerCountriesListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'mis-destinos',\r\n component: ResellerLocationsListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'contactos',\r\n component: ResellerContactsListComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'nuevo-contacto',\r\n component: ResellerContactsComponent,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'editar-contacto/:id',\r\n component: ResellerContactsComponent,\r\n canActivate: [AuthGuard]\r\n }\r\n ]\r\n },\r\n // { path: 'login', component: LoginComponent },\r\n { path: ':lang/registro', component: RegisterComponent },\r\n { path: ':lang/registro-maker', component: RegisterMakerComponent },\r\n { path: ':lang/registro-reseller', component: RegisterResellerComponent },\r\n { path: ':lang/recuperar-contrasena', component: PasswordRecoverComponent },\r\n { path: ':lang/formulario-contacto', component: ContactFormComponent },\r\n { path: ':lang/reset-password/:token', component: ResetPasswordComponent },\r\n { path: ':lang/categoria/:category', component: WordpressPageComponent },\r\n { path: ':lang/experiencias/:slug/redirigir', component: RedirectComponent },\r\n { path: ':lang/:page', component: WordpressPageComponent },\r\n { path: '**', component: NotFoundComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy', scrollPositionRestoration: 'enabled' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","\r\nimport { throwError as observableThrowError, Observable, BehaviorSubject, throwError } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor, HttpRequest, HttpHandler, HttpSentEvent, HttpHeaderResponse,\r\n HttpProgressEvent, HttpResponse, HttpUserEvent, HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { catchError, finalize, switchMap, filter, take } from 'rxjs/operators';\r\n\r\n\r\nimport { environment } from '../environments/environment';\r\nimport { AuthService } from './pages/shared/auth.service';\r\n\r\n\r\n@Injectable()\r\nexport class ApiAuthInterceptor implements HttpInterceptor {\r\n isRefreshingToken = false;\r\n tokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private authService: AuthService) { }\r\n\r\n addToken(req: HttpRequest, token: string): HttpRequest {\r\n return req.clone({ setHeaders: { Authorization: 'Bearer ' + token } });\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable | HttpUserEvent> {\r\n if (req.url.includes(environment.apiUrl) && this.authService.isLoggedIn()) {\r\n if (!this.authService.isReallyLoggedIn()) {\r\n return this.logoutUser();\r\n }\r\n return next.handle(this.addToken(req, this.authService.getToken())).pipe(\r\n catchError(error => {\r\n if (error instanceof HttpErrorResponse) {\r\n switch ((error as HttpErrorResponse).status) {\r\n case 401:\r\n if (req.url === environment.apiUrl + '/token/refresh') {\r\n return this.handleExpiredRefreshToken(error);\r\n }\r\n return this.handleUnauthorizedAccess(req, next);\r\n default:\r\n return throwError(error);\r\n }\r\n } else {\r\n return observableThrowError(error);\r\n }\r\n }));\r\n } else {\r\n return next.handle(req);\r\n }\r\n\r\n }\r\n\r\n handleExpiredRefreshToken(error) {\r\n if (error && error.status === 400 && error.error && error.error.error === 'invalid_grant') {\r\n // If we get a 400 and the error message is 'invalid_grant', the token is no longer valid so logout.\r\n return this.logoutUser();\r\n }\r\n\r\n return observableThrowError(error);\r\n }\r\n\r\n handleUnauthorizedAccess(req: HttpRequest, next: HttpHandler) {\r\n if (!this.isRefreshingToken) {\r\n this.isRefreshingToken = true;\r\n\r\n // Reset here so that the following requests wait until the token\r\n // comes back from the refreshToken call.\r\n this.tokenSubject.next(null);\r\n\r\n return this.authService.doRefreshToken().pipe(\r\n switchMap((newToken: string) => {\r\n if (newToken) {\r\n this.tokenSubject.next(newToken);\r\n this.authService.saveToStorage({ token: newToken });\r\n return next.handle(this.addToken(req, newToken));\r\n }\r\n\r\n // If we don't get a new token, we are in trouble so logout.\r\n return this.logoutUser();\r\n }),\r\n catchError(error => {\r\n // If there is an exception calling 'refreshToken', bad news so logout.\r\n return this.logoutUser();\r\n }),\r\n finalize(() => {\r\n this.isRefreshingToken = false;\r\n }));\r\n } else {\r\n return this.tokenSubject\r\n .pipe(\r\n filter(token => {\r\n return token != null;\r\n }),\r\n take(1),\r\n switchMap(token => {\r\n return next.handle(this.addToken(req, token));\r\n }));\r\n }\r\n }\r\n\r\n logoutUser() {\r\n this.authService.logout();\r\n return observableThrowError('');\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n styleUrls: ['./app.component.scss'],\r\n templateUrl: './app.component.html',\r\n})\r\nexport class AppComponent {\r\n title = 'public';\r\n\r\n ngOnInit(): void {\r\n let fareharbor = document.getElementsByClassName(\"fareharbor-calendar-wrap\")[0];\r\n (fareharbor as any).style.display = \"none\";\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\n\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\n\r\nimport { ExperiencesPageComponent } from './pages/experiences/experiences-page/experiences-page.component';\r\nimport { HomeComponent } from './pages/home/home.component';\r\nimport { IconsModule } from './shared/icons/icons.module';\r\nimport { NavbarComponent } from './core/navbar/navbar.component';\r\nimport { SidebarComponent } from './core/sidebar/sidebar.component';\r\nimport { ExperiencesListComponent } from './pages/experiences/experiences-list/experiences-list.component';\r\nimport { ExperiencesComponent } from './pages/experiences/experiences/experiences.component';\r\nimport { ExperiencesService } from './pages/experiences/experiences/experiences.service';\r\nimport { CategoriesService } from './shared/categories/categories.service';\r\nimport { TagsService } from './shared/tags/tags.service';\r\nimport { LanguagesService } from './shared/languages/languages.service';\r\nimport { LocationService } from './shared/locations/location.service';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { MediaExperiencesService } from './pages/experiences/experiences/media-experiences.service';\r\nimport { CountryService } from './shared/locations/country.service';\r\nimport { LoginComponent } from './pages/login/login.component';\r\nimport { RegisterComponent } from './pages/register/register.component';\r\nimport { RegisterMakerComponent } from './pages/register/register-maker/register-maker.component';\r\nimport { AuthService } from './pages/shared/auth.service';\r\nimport { AuthGuard } from './pages/shared/auth-guard.service';\r\nimport { LoggedInGuard } from './pages/shared/logged-in-guard.service';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MakerService } from './pages/shared/maker.service';\r\nimport { ApiAuthInterceptor } from './app.api-auth-interceptor';\r\nimport { MakerAdminComponent } from './pages/maker/maker-admin.component';\r\nimport { MakerComponent } from './pages/maker/maker-profile/maker.component';\r\nimport { MediaMakerService } from './pages/maker/maker-profile/media-maker';\r\nimport { ExperienceSearchComponent } from './shared/experience-search/experience-search.component';\r\nimport { FooterComponent } from './core/footer/footer.component';\r\nimport { MakerCtaComponent } from './shared/maker-cta/maker-cta.component';\r\nimport { CropperComponent } from './pages/shared/cropper/cropper.component';\r\nimport { AngularCropperjsModule } from 'angular-cropperjs';\r\nimport { UsersService } from './shared/users/users.service';\r\nimport { UsersComponent } from './shared/users/users.component';\r\nimport { PasswordRecoverComponent } from './pages/users/password-recover/password-recover.component';\r\nimport { TakerService } from './pages/shared/taker.service';\r\nimport { TakerAdminComponent } from './pages/taker/taker-admin.component';\r\nimport { TakerComponent } from './pages/taker/taker-profile/taker.component';\r\nimport { ConfirmationDialogComponent } from './pages/shared/confirmation-dialog/confirmation-dialog.component';\r\nimport { ResetPasswordComponent } from './pages/users/reset-password/reset-password.component';\r\nimport { TakerFavoritesComponent } from './pages/taker/taker-favorites/taker-favorites.component';\r\nimport { FacebookLoginProvider, GoogleLoginProvider, SocialAuthServiceConfig, SocialLoginModule } from 'angularx-social-login';\r\nimport { environment } from '../environments/environment';\r\nimport { NotFoundComponent } from './pages/not-found/not-found.component';\r\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { AppPasswordDirective } from './app-password.directive';\r\nimport { WordpressPageComponent } from './pages/wordpress-page/wordpress-page.component';\r\nimport { MakerPageComponent } from './pages/maker/maker-list/maker-page.component';\r\nimport { Cropper2Component } from './pages/shared/cropper/cropper2.component';\r\nimport { Cropper3Component } from './pages/shared/cropper/cropper3.component';\r\nimport { Cropper4Component } from './pages/shared/cropper/cropper4.component';\r\nimport { FullWidthCropperComponent } from './pages/shared/cropper/full-width-cropper.component';\r\nimport { MakerPinComponent } from './pages/maker/maker-pin/maker-pin.component';\r\nimport { MakerContactsListComponent } from './pages/maker/maker-contacts/maker-contacts-list/maker-contacts-list.component';\r\nimport { MakerContactsComponent } from './pages/maker/maker-contacts/maker-contacts/maker-contacts.component';\r\nimport { SecondaryMenuComponent } from './core/secondary-menu/secondary-menu.component';\r\nimport { ContactFormComponent } from './pages/users/contact-form/contact-form.component';\r\nimport { ResellerAdminComponent } from './pages/reseller/reseller-admin.component';\r\nimport { ResellerComponent } from './pages/reseller/reseller-profile/reseller.component';\r\nimport { ResellerService } from './pages/shared/reseller.service';\r\nimport { MediaResellerService } from './pages/reseller/reseller-profile/media-reseller';\r\nimport { ResellerContactsListComponent } from './pages/reseller/reseller-contacts/reseller-contacts-list/reseller-contacts-list.component';\r\nimport { ResellerContactsComponent } from './pages/reseller/reseller-contacts/reseller-contacts/reseller-contacts.component';\r\nimport { RegisterResellerComponent } from './pages/register/register-reseller/register-reseller.component';\r\nimport { ResellerExperiencesListComponent } from './pages/reseller/reseller-experiences-list/reseller-experiences-list.component';\r\nimport { ResellerMakersListComponent } from './pages/reseller/reseller-makers-list/reseller-makers-list.component';\r\nimport { ResellerCountriesListComponent } from './pages/reseller/reseller-countries-list/reseller-countries-list.component';\r\nimport { ResellerLocationsListComponent } from './pages/reseller/reseller-locations-list/reseller-locations-list.component';\r\nimport { MakerResellersListComponent } from './pages/maker/maker-resellers-list/maker-resellers-list.component';\r\nimport { RedirectComponent } from './pages/shared/redirect/redirect.component';\r\nimport { MakerGroupComponent } from './pages/maker/maker-contacts/maker-group/maker-group.component';\r\nimport { SalesListComponent } from './pages/sales/sales-list/sales-list.component';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { defineLocale } from 'ngx-bootstrap/chronos';\r\nimport { esLocale } from 'ngx-bootstrap/locale';\r\ndefineLocale('es', esLocale);\r\nimport { SalesService } from './pages/sales/sales.service';\r\nimport { EditorModule } from '@tinymce/tinymce-angular';\r\nimport { SalesHistoryComponent } from './pages/sales/sales-history/sales-history.component';\r\nimport { AnalyticsService } from './pages/analytics/analytics.service';\r\nimport { AnalyticsComponent } from './pages/analytics/analytics.component';\r\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\r\nimport { QRCodeModule } from 'angular2-qrcode';\r\nimport { ProductPageComponent } from './pages/product/product-page/product-page.component';\r\nimport { ProductPinPageComponent } from './pages/product/product-pin-page/product-pin-page.component';\r\nimport { ExperienceCardComponent } from './shared/experience-card/experience-card.component';\r\nimport { ReviewsComponent } from './shared/reviews/reviews.component';\r\nimport { ReviewFormComponent } from './shared/review-form/review-form.component';\r\nimport { ReviewsPageComponent } from './pages/reviews/reviews-page.component';\r\nimport { ProductReviewsListComponent } from './pages/product-reviews-list/product-reviews-list.component';\r\nimport { ModalAlertComponent } from './shared/modal-alert/modal-alert.component';\r\nimport { MakerDirectories } from './pages/maker/maker-directories/maker-directories.component';\r\nimport { MakerSearch } from './shared/maker-search/maker-search.component';\r\nimport { MakerCardComponent } from './shared/maker-card/maker-card.component';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { CmsComponent } from './pages/cms/cms.component';\r\nimport { CmsModuleComponent } from './pages/cms/cms-module/cms-module.component';\r\nimport { CmsFieldComponent } from './pages/cms/cms-field/cms-field.component';\r\nimport { WebsComponent } from './pages/webs/webs.component';\r\n\r\n@NgModule({\r\n bootstrap: [AppComponent],\r\n declarations: [\r\n AppComponent,\r\n ExperiencesPageComponent,\r\n HomeComponent,\r\n NavbarComponent,\r\n SidebarComponent,\r\n ExperiencesListComponent,\r\n ExperiencesComponent,\r\n ExperienceSearchComponent,\r\n LoginComponent,\r\n RegisterComponent,\r\n RegisterMakerComponent,\r\n RegisterResellerComponent,\r\n MakerAdminComponent,\r\n MakerComponent,\r\n MakerPageComponent,\r\n MakerPinComponent,\r\n MakerContactsListComponent,\r\n MakerContactsComponent,\r\n TakerAdminComponent,\r\n TakerComponent,\r\n TakerFavoritesComponent,\r\n ResellerAdminComponent,\r\n ResellerComponent,\r\n ResellerContactsListComponent,\r\n ResellerContactsComponent,\r\n ResellerMakersListComponent,\r\n ResellerExperiencesListComponent,\r\n ResellerCountriesListComponent,\r\n ResellerLocationsListComponent,\r\n MakerResellersListComponent,\r\n UsersComponent,\r\n FooterComponent,\r\n MakerCtaComponent,\r\n CropperComponent,\r\n Cropper2Component,\r\n Cropper3Component,\r\n Cropper4Component,\r\n FullWidthCropperComponent,\r\n PasswordRecoverComponent,\r\n ContactFormComponent,\r\n ConfirmationDialogComponent,\r\n ResetPasswordComponent,\r\n NotFoundComponent,\r\n WordpressPageComponent,\r\n AppPasswordDirective,\r\n SecondaryMenuComponent,\r\n RedirectComponent,\r\n MakerGroupComponent,\r\n SalesListComponent,\r\n SalesHistoryComponent,\r\n AnalyticsComponent,\r\n DashboardComponent,\r\n ProductPageComponent,\r\n ProductPinPageComponent,\r\n ExperienceCardComponent,\r\n ReviewsComponent,\r\n ReviewFormComponent,\r\n ReviewsPageComponent,\r\n ProductReviewsListComponent,\r\n ModalAlertComponent,\r\n MakerDirectories,\r\n MakerSearch,\r\n MakerCardComponent,\r\n CmsComponent,\r\n CmsModuleComponent,\r\n CmsFieldComponent,\r\n WebsComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n IconsModule,\r\n InfiniteScrollModule,\r\n FormsModule,\r\n AccordionModule.forRoot(),\r\n CarouselModule.forRoot(),\r\n ModalModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n NgxDatatableModule,\r\n NgSelectModule,\r\n BsDropdownModule.forRoot(),\r\n CollapseModule.forRoot(),\r\n BrowserAnimationsModule,\r\n AngularCropperjsModule,\r\n SocialLoginModule,\r\n EditorModule,\r\n BsDatepickerModule.forRoot(),\r\n TranslateModule.forRoot({\r\n defaultLanguage: 'en',\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (http: HttpClient) => {\r\n return new TranslateHttpLoader(http);\r\n },\r\n deps: [ HttpClient ]\r\n }\r\n }),\r\n QRCodeModule,\r\n CKEditorModule\r\n ],\r\n providers: [\r\n {\r\n provide: 'SocialAuthServiceConfig',\r\n useValue: {\r\n autoLogin: false,\r\n providers: [\r\n {\r\n id: GoogleLoginProvider.PROVIDER_ID,\r\n provider: new GoogleLoginProvider(environment.google.clientId),\r\n },\r\n {\r\n id: FacebookLoginProvider.PROVIDER_ID,\r\n provider: new FacebookLoginProvider(environment.facebook.clientId),\r\n },\r\n ],\r\n } as SocialAuthServiceConfig,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ApiAuthInterceptor,\r\n multi: true,\r\n },\r\n ExperiencesService,\r\n CategoriesService,\r\n TagsService,\r\n LanguagesService,\r\n CountryService,\r\n LocationService,\r\n MediaExperiencesService,\r\n AuthService,\r\n AuthGuard,\r\n LoggedInGuard,\r\n MakerService,\r\n TakerService,\r\n ResellerService,\r\n UsersService,\r\n MediaMakerService,\r\n MediaResellerService,\r\n Title,\r\n TranslateService,\r\n SalesService,\r\n AnalyticsService\r\n ]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LocationService } from 'src/app/shared/locations/location.service';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent implements OnInit {\r\n locations: any;\r\n constructor(\r\n public translate: TranslateService,\r\n private locationService: LocationService,\r\n private router: Router\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.locationService.getActiveLocations().subscribe((locations: any) => {\r\n this.locations = locations['hydra:member'];\r\n })\r\n }\r\n\r\n get maker() {\r\n if (this.router.url.includes('maker/admin')) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n searchExperiences(value) {\r\n let searchUrl = this.translate.getDefaultLang() + '/experiencias?';\r\n\r\n searchUrl += 'localidad=' + value;\r\n\r\n location.replace(searchUrl);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{ 'Las experiencias' |\r\n translate }}
{{ 'nos unen' | translate }}
\r\n
\r\n
\r\n \"Venntur\"\r\n
{{ 'Conecta con nosotros' | translate }}
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
","import { Location, LocationStrategy } from '@angular/common';\r\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { AuthService } from '../../pages/shared/auth.service';\r\nimport { MakerService } from '../../pages/shared/maker.service';\r\nimport { TakerService } from '../../pages/shared/taker.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ResellerService } from '../../pages/shared/reseller.service';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n styleUrls: ['./navbar.component.scss'],\r\n templateUrl: './navbar.component.html',\r\n animations: [\r\n trigger('openClose', [\r\n // ...\r\n state('open', style({\r\n width: '80%',\r\n })),\r\n state('closed', style({\r\n width: '0px',\r\n })),\r\n transition('open => closed', [\r\n animate('0.25s')\r\n ]),\r\n transition('closed => open', [\r\n animate('0.25s')\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n @ViewChild('loginModalContent') loginModalContent: TemplateRef;\r\n isAdmin = false;\r\n modalRef: BsModalRef;\r\n public iconOnlyToggled = false;\r\n public activeLang = 'es';\r\n loginData: any = {};\r\n isOpen = false;\r\n\r\n isCms = false;\r\n\r\n constructor(\r\n public authService: AuthService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private location: Location,\r\n public makerService: MakerService,\r\n public takerService: TakerService,\r\n public resellerService: ResellerService,\r\n private modalService: BsModalService,\r\n public translate: TranslateService\r\n ) {\r\n router.events.subscribe(val => {\r\n if (location.path().indexOf('/' + this.activeLang + '/maker/admin/') === 0 ||\r\n location.path().indexOf('/' + this.activeLang + '/taker/admin/') === 0 ||\r\n location.path().indexOf('/' + this.activeLang + '/reseller/admin/') === 0) {\r\n this.isAdmin = true;\r\n }\r\n });\r\n\r\n\r\n \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.getIsCms();\r\n\r\n // this.adjustSiblingMargin();\r\n setTimeout(() => {\r\n this.loginData.email = this.activatedRoute.snapshot.queryParamMap.get('email');\r\n this.loginData.password = this.activatedRoute.snapshot.queryParamMap.get('pk');\r\n\r\n if (this.activatedRoute.snapshot.queryParamMap.get('login') == 'true') {\r\n this.openLoginModal(this.loginModalContent);\r\n }\r\n }, 500);\r\n }\r\n\r\n getIsCms() {\r\n if (this.location.path().indexOf('admin') !== -1) {\r\n // this.translate.currentLang = 'es';\r\n this.translate.setDefaultLang('es');\r\n this.isCms = true;\r\n } else {\r\n this.activeLang = this.location.path().substring(1, 3);\r\n // this.translate.currentLang = this.activeLang;\r\n // this.translate.setDefaultLang(this.activeLang === 'ev' ? 'es' : this.activeLang);\r\n this.translate.setDefaultLang( this.activeLang ? this.activeLang : this.translate.getDefaultLang())\r\n this.translate.currentLang = this.translate.getDefaultLang();\r\n \r\n this.isCms = false;\r\n }\r\n\r\n\r\n return this.isCms;\r\n }\r\n\r\n logout() {\r\n this.isAdmin = false;\r\n this.authService.logout();\r\n // this.router.navigateByUrl('/' + this.translate.getDefaultLang());\r\n location.replace('/' + this.translate.getDefaultLang());\r\n }\r\n\r\n // login() {\r\n // this.router.navigateByUrl('/login');\r\n // }\r\n\r\n openLoginModal(template: TemplateRef) {\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n // toggle sidebar\r\n toggleSidebar() {\r\n let body = document.querySelector('body');\r\n this.iconOnlyToggled = !this.iconOnlyToggled;\r\n if (this.iconOnlyToggled) {\r\n body.classList.add('sidebar-icon-only');\r\n } else {\r\n body.classList.remove('sidebar-icon-only');\r\n }\r\n }\r\n\r\n public changeLanguage(event) {\r\n this.activeLang = event.target.value.toLowerCase();\r\n this.translate.use(event.target.value.toLowerCase());\r\n window.open(`/${event.target.value.toLowerCase()}${this.router.url.substring(3)}`, '_self');\r\n }\r\n\r\n changeMobileLanguage(event) {\r\n this.activeLang = event.target.textContent.toLowerCase();\r\n this.translate.use(event.target.textContent.toLowerCase());\r\n window.open(`/${event.target.textContent.toLowerCase()}${this.router.url.substring(3)}`, '_self');\r\n }\r\n\r\n getFirstWord(phrase: string): string {\r\n // Split the phrase into words using spaces as a delimiter\r\n const words = phrase ? phrase.split(' ') : '';\r\n\r\n // Check if there are words in the phrase\r\n if (words.length > 0) {\r\n if (words[0].length < 11) {\r\n // Return the first word\r\n return words[0] + '...';\r\n } else {\r\n return words[0].slice(0, 10) + '...';\r\n }\r\n\r\n } else {\r\n // If there are no words, return an empty string or handle the case accordingly\r\n return this.makerService.getUserMail();\r\n }\r\n }\r\n\r\n //Burguer menu\r\n openBurguerMenu() {\r\n this.isOpen = !this.isOpen;\r\n }\r\n\r\n // adjustSiblingMargin() {\r\n // const absoluteDiv = document.getElementById('navbar');\r\n // const siblingDiv = document.getElementById('open-close-container');\r\n // console.log(absoluteDiv.clientHeight + 11.77);\r\n // const absoluteDivHeight = absoluteDiv.offsetHeight + 11.77;\r\n // siblingDiv.style.marginTop = absoluteDivHeight + 'px';\r\n // }\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
  • \r\n EN\r\n |\r\n ES\r\n
  • \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n
    {{ '¿Ya tienes cuenta?' | translate}}
    \r\n

    {{ 'Accede para ir a tu panel de usuario' | translate}}

    \r\n \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-secondary-menu',\r\n styleUrls: ['./secondary-menu.component.scss'],\r\n templateUrl: './secondary-menu.component.html',\r\n})\r\nexport class SecondaryMenuComponent implements OnInit {\r\n isCollapsed = true;\r\n\r\n constructor(\r\n public translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n","import { Location } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../../pages/shared/auth.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n\r\n isCollapsed = {\r\n Experiences: true,\r\n Maker: true,\r\n Taker: true,\r\n Reseller: true,\r\n MiWeb: true,\r\n };\r\n\r\n public iconOnlyToggled = false;\r\n isAdmin = false;\r\n public activeLang = 'es';\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public translate: TranslateService,\r\n public router: Router,\r\n public location: Location,\r\n\r\n ) {\r\n router.events.subscribe(val => {\r\n if (location.path().indexOf('/' + this.activeLang + '/maker/admin/') === 0 ||\r\n location.path().indexOf('/' + this.activeLang + '/taker/admin/') === 0 ||\r\n location.path().indexOf('/' + this.activeLang + '/reseller/admin/') === 0) {\r\n this.isAdmin = true;\r\n }\r\n });\r\n this.activeLang = location.path().substring(1, 3);\r\n this.translate.setDefaultLang(this.activeLang === 'ev' ? 'es' : this.activeLang);\r\n }\r\n\r\n ngOnInit(): void {\r\n const body = document.querySelector('body');\r\n\r\n document.querySelectorAll('.sidebar .nav-item').forEach(function (el) {\r\n el.addEventListener('mouseover', function () {\r\n if (body.classList.contains('sidebar-icon-only')) {\r\n el.classList.add('hover-open');\r\n }\r\n });\r\n el.addEventListener('mouseout', function () {\r\n if (body.classList.contains('sidebar-icon-only')) {\r\n el.classList.remove('hover-open');\r\n }\r\n });\r\n });\r\n }\r\n\r\n // toggle sidebar\r\n toggleSidebar() {\r\n let body = document.querySelector('body');\r\n this.iconOnlyToggled = !this.iconOnlyToggled;\r\n if (this.iconOnlyToggled) {\r\n body.classList.add('sidebar-icon-only');\r\n } else {\r\n body.classList.remove('sidebar-icon-only');\r\n }\r\n }\r\n\r\n getMaker() {\r\n return JSON.parse(localStorage.getItem('maker')).id;\r\n }\r\n\r\n}\r\n","","import { Injectable, Inject, Renderer2, RendererFactory2, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class JsonLdService {\n private renderer: Renderer2;\n\n constructor(\n private rendererFactory: RendererFactory2,\n @Inject(PLATFORM_ID) private platformId: Object\n ) {\n this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n setData(schema: any): void {\n if (!isPlatformBrowser(this.platformId)) {\n return; // Ensure this code only runs in the browser\n }\n\n // Serialize the schema into JSON\n const jsonLDContent = JSON.stringify(schema, null, 2);\n\n // Check if a script with the same content already exists\n const existingScripts = Array.from(document.head.querySelectorAll('script[type=\"application/ld+json\"]'));\n const isAlreadyPresent = existingScripts.some((script) => script.textContent === jsonLDContent);\n\n if (isAlreadyPresent) {\n console.log(\"YA TIENE SCHEMA\");\n return; // Avoid appending duplicate scripts\n }\n\n console.log(\"Sending schema\", jsonLDContent);\n\n // Create a new script element\n const script = this.renderer.createElement('script');\n this.renderer.setAttribute(script, 'type', 'application/ld+json');\n this.renderer.setProperty(script, 'textContent', jsonLDContent);\n\n // Append the script to the \n this.renderer.appendChild(document.head, script);\n }\n\n clearAllData(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n // Remove all existing JSON-LD scripts\n const existingScripts = document.head.querySelectorAll('script[type=\"application/ld+json\"]');\n existingScripts.forEach((script) => this.renderer.removeChild(document.head, script));\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { AnalyticsService } from './analytics.service';\r\nimport { MakerService } from '../shared/maker.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport Chart from 'chart.js/auto';\r\n\r\n@Component({\r\n selector: 'app-analytics',\r\n templateUrl: './analytics.component.html',\r\n styleUrls: ['./analytics.component.scss']\r\n})\r\nexport class AnalyticsComponent implements OnInit {\r\n title = 'Analíticas';\r\n directoryAnalytics: any;\r\n showTab = 'directory';\r\n interactionChart: any;\r\n directoryChart: any;\r\n currentDate: any;\r\n activeFilter = 'months';\r\n\r\n labelsArray = [];\r\n brandImpressionsArray = [];\r\n brandVisitsArray = [];\r\n productsImpressionsArray = [];\r\n maker:any;\r\n\r\n constructor(private analyticsService: AnalyticsService, private makerService: MakerService, public translate: TranslateService) { }\r\n\r\n ngOnInit(): void {\r\n var currentDate = new Date();\r\n\r\n // Format the date as 'YYYY-MM-DD'\r\n this.currentDate = currentDate.toISOString().split('T')[0];\r\n this.analyticsService.getDirectoryAnalyticsByMakerId(this.makerService.getId()).subscribe(((resp: any) => {\r\n this.directoryAnalytics = resp['hydra:member'][0];\r\n this.createInteractionChart();\r\n this.createDirectoryChart();\r\n }))\r\n\r\n this.makerService.getMaker('/makers/'+this.makerService.getId()).subscribe(((resp: any) => {\r\n this.maker = resp;\r\n }))\r\n }\r\n\r\n createInteractionChart() {\r\n this.labelsArray = [];\r\n let dataArray = [];\r\n if (this.activeFilter == 'hours') {\r\n this.labelsArray = Array.from({ length: 24 }, (_, i) => (i < 10 ? '0' + i : i.toString()));\r\n this.labelsArray.forEach(hour => {\r\n dataArray.push(this.directoryAnalytics['calculateAnalyticsHour']['interactions'][hour] ? this.directoryAnalytics['calculateAnalyticsHour']['interactions'][hour] : 0);\r\n });\r\n } else if (this.activeFilter == 'days') {\r\n const today = new Date();\r\n\r\n for (let i = 0; i < 30; i++) {\r\n const currentDate = new Date(today);\r\n currentDate.setDate(today.getDate() - i);\r\n\r\n const year = currentDate.getFullYear();\r\n const month = String(currentDate.getMonth() + 1).padStart(2, '0');\r\n const day = String(currentDate.getDate()).padStart(2, '0');\r\n\r\n this.labelsArray.push(`${year}-${month}-${day}`);\r\n }\r\n\r\n this.labelsArray = this.labelsArray.reverse();\r\n\r\n this.labelsArray.forEach(day => {\r\n dataArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['interactionsDays'][day] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['interactionsDays'][day] : 0);\r\n });\r\n } else {\r\n const today = new Date();\r\n\r\n for (let i = 0; i < 12; i++) {\r\n const currentMonth = new Date(today);\r\n currentMonth.setMonth(today.getMonth() - i);\r\n\r\n const year = currentMonth.getFullYear();\r\n const month = String(currentMonth.getMonth() + 1).padStart(2, '0');\r\n\r\n this.labelsArray.push(`${year}-${month}`);\r\n }\r\n\r\n this.labelsArray = this.labelsArray.reverse();\r\n\r\n this.labelsArray.forEach(month => {\r\n dataArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['interactionsMonths'][month] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['interactionsMonths'][month] : 0);\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n const data = {\r\n labels: this.labelsArray,\r\n datasets: [\r\n {\r\n label: 'Directorio',\r\n data: dataArray,\r\n borderColor: '#ff341f82',\r\n backgroundColor: '#ff341f82',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n },\r\n {\r\n label: 'Totales',\r\n data: dataArray,\r\n borderColor: '#f9c64875',\r\n backgroundColor: '#f9c64875',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n }\r\n ]\r\n };\r\n\r\n this.interactionChart = new Chart(\"interactionChart\", {\r\n type: 'line', //this denotes tha type of chart\r\n\r\n data: data,\r\n options: {\r\n responsive: true,\r\n plugins: {\r\n title: {\r\n display: true,\r\n // text: (ctx) => 'Point Style: ' + ctx.chart.data.datasets[0].pointStyle,\r\n }\r\n }\r\n }\r\n\r\n });\r\n }, 500);\r\n }\r\n\r\n createDirectoryChart() {\r\n this.brandImpressionsArray = [];\r\n this.brandVisitsArray = [];\r\n this.productsImpressionsArray = [];\r\n\r\n // let labelsArray = [];\r\n if (this.activeFilter == 'hours') {\r\n // labelsArray = Array.from({ length: 24 }, (_, i) => (i < 10 ? '0' + i : i.toString()));\r\n\r\n this.labelsArray.forEach(hour => {\r\n this.brandImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsHour']['directory']['brandImpressions'][hour] ? this.directoryAnalytics['calculateAnalyticsHour']['directory']['brandImpressions'][hour] : 0);\r\n this.brandVisitsArray.push(this.directoryAnalytics['calculateAnalyticsHour']['directory']['brandVisits'][hour] ? this.directoryAnalytics['calculateAnalyticsHour']['directory']['brandVisits'][hour] : 0);\r\n this.productsImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsHour']['directory']['productsImpressions'][hour] ? this.directoryAnalytics['calculateAnalyticsHour']['directory']['productsImpressions'][hour] : 0);\r\n });\r\n } else if (this.activeFilter == 'days') {\r\n // const today = new Date();\r\n\r\n // for (let i = 0; i < 30; i++) {\r\n // const currentDate = new Date(today);\r\n // currentDate.setDate(today.getDate() - i);\r\n\r\n // const year = currentDate.getFullYear();\r\n // const month = String(currentDate.getMonth() + 1).padStart(2, '0');\r\n // const day = String(currentDate.getDate()).padStart(2, '0');\r\n\r\n // this.labelsArray.push(`${year}-${month}-${day}`);\r\n // }\r\n\r\n // this.labelsArray = labelsArray.reverse();\r\n\r\n this.labelsArray.forEach(day => {\r\n this.brandImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsDays'][day] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsDays'][day] : 0);\r\n this.brandVisitsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsDays'][day] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsDays'][day] : 0);\r\n this.productsImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsDays'][day] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsDays'][day] : 0);\r\n });\r\n } else {\r\n // const today = new Date();\r\n\r\n // for (let i = 0; i < 12; i++) {\r\n // const currentMonth = new Date(today);\r\n // currentMonth.setMonth(today.getMonth() - i);\r\n\r\n // const year = currentMonth.getFullYear();\r\n // const month = String(currentMonth.getMonth() + 1).padStart(2, '0');\r\n\r\n // labelsArray.push(`${year}-${month}`);\r\n // }\r\n\r\n // labelsArray = labelsArray.reverse();\r\n\r\n this.labelsArray.forEach(month => {\r\n this.brandImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsMonths'][month] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsMonths'][month] : 0);\r\n this.brandVisitsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsMonths'][month] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsMonths'][month] : 0);\r\n \r\n if(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsMonths']) {\r\n this.productsImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsMonths'][month] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsMonths'][month] : 0);\r\n } else {\r\n this.productsImpressionsArray.push(0);\r\n }\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n const data = {\r\n labels: this.labelsArray,\r\n datasets: [\r\n {\r\n label: 'Impresiones de marca',\r\n data: this.brandImpressionsArray,\r\n borderColor: '#ff341f82',\r\n backgroundColor: '#ff341f82',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n },\r\n {\r\n label: 'Visitas ficha maker',\r\n data: this.brandVisitsArray,\r\n borderColor: '#f9c64875',\r\n backgroundColor: '#f9c64875',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n },\r\n {\r\n label: 'Impresiones de productos',\r\n data: this.productsImpressionsArray,\r\n borderColor: '#e5408f7d',\r\n backgroundColor: '#e5408f7d',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n }\r\n // {\r\n // label: 'Visitas ficha productos',\r\n // data: [0, 1, 2, 1, 2, 3, 1, 3, 2, 0, 1, 2, 1, 2, 3, 1, 3, 2, 0, 1, 2, 1, 2, 3, 1, 3],\r\n // borderColor: '#0867ff80',\r\n // backgroundColor: '#0867ff80',\r\n // pointStyle: 'circle',\r\n // pointRadius: 5,\r\n // pointHoverRadius: 8\r\n // }\r\n ]\r\n };\r\n\r\n this.directoryChart = new Chart(\"directoryChart\", {\r\n type: 'line', //this denotes tha type of chart\r\n\r\n data: data,\r\n options: {\r\n responsive: true,\r\n plugins: {\r\n title: {\r\n display: true,\r\n // text: (ctx) => 'Point Style: ' + ctx.chart.data.datasets[0].pointStyle,\r\n }\r\n }\r\n }\r\n\r\n });\r\n }, 500);\r\n }\r\n\r\n changeFilter(type: any) {\r\n this.activeFilter = type;\r\n this.interactionChart.destroy();\r\n this.directoryChart.destroy();\r\n this.createInteractionChart();\r\n this.createDirectoryChart();\r\n }\r\n}\r\n","

    {{translate.instant(title)}}

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

    \r\n Últimos\r\n 12 meses

    \r\n

    Últimos\r\n 30\r\n días

    \r\n

    \r\n 24 horas

    \r\n\r\n \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{ interactionChart }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ directoryChart }}\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Directorio\r\n
    \r\n
    \r\n
    \r\n {{value}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Impresiones de marca\r\n
    \r\n
    \r\n
    \r\n {{value}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Visitas ficha maker\r\n
    \r\n
    \r\n
    \r\n {{value}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Impresiones de productos\r\n
    \r\n
    \r\n
    \r\n {{value}}\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { User, UserCollection } from '../../shared/users/user.model';\r\nimport {map} from 'rxjs/operators';\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class AnalyticsService {\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n public calculateAnalytic(analytic): Observable {\r\n return this.http\r\n .post(API_URL + '/calculate_analytic', analytic);\r\n }\r\n\r\n public getDirectoryAnalyticsByMakerId(id: string): Observable {\r\n return this.http\r\n .get(API_URL + `/makers/${id}/directories_analytics`);\r\n }\r\n\r\n public getUsers(filters?: any): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['email']) {\r\n httpParams = httpParams.set('email', String(filters.email));\r\n }\r\n return this.http\r\n .get(API_URL + '/users', { params: httpParams });\r\n }\r\n\r\n public deleteUser(userId: string): any {\r\n return this.http.delete(API_URL + '/users/' + userId);\r\n }\r\n\r\n public putUser(userId: string, user: User): Observable {\r\n return this.http\r\n .put(API_URL + '/users/' + userId, user);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { errorMessages } from '../../shared/custom-validators';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-cms-field',\r\n templateUrl: './cms-field.component.html',\r\n styleUrls: ['./cms-field.component.scss']\r\n})\r\nexport class CmsFieldComponent implements OnInit {\r\n public Editor = ClassicEditor;\r\n cmsForm: UntypedFormGroup;\r\n\r\n @Input() field;\r\n @Input() currentField;\r\n\r\n errors = errorMessages;\r\n isTooManyImages = false;\r\n CMS_API_URL = environment.cmsApiUrl\r\n\r\n constructor(public translate: TranslateService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n // onUploadedImage(uploadedImage: any, formControlName: string) {\r\n // console.log(uploadedImage);\r\n // this.field.value.valueMedia.push(uploadedImage['id']);\r\n // }\r\n\r\n // onUploadedImage(uploadedImage: object, formControlName: string) {\r\n // this.mediaExperiences.push({\r\n // url: uploadedImage['url'],\r\n // id: uploadedImage['id'],\r\n // });\r\n // this.expandedMediaExperiences.push({\r\n // url: uploadedImage['url'],\r\n // id: uploadedImage['id'],\r\n // });\r\n // this.uploadedFiles.push(uploadedImage['id']);\r\n // this.experienceForm.get(formControlName).patchValue(this.uploadedFiles);\r\n // }\r\n\r\n showError(formValue) {\r\n return (\r\n false\r\n )\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n
    \r\n \"Imagen\r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n {{ translate.instant(errors[\"buttonText\"]) }}\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 { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { errorMessages } from 'src/app/pages/shared/custom-validators';\r\nimport { CmsService } from '../service/cms.service';\r\n\r\n@Component({\r\n selector: 'app-cms-module',\r\n templateUrl: './cms-module.component.html',\r\n styleUrls: ['./cms-module.component.scss']\r\n})\r\nexport class CmsModuleComponent implements OnInit {\r\n public Editor = ClassicEditor;\r\n cmsForm: UntypedFormGroup;\r\n\r\n @Input() module;\r\n @Input() currentModule;\r\n\r\n mediaExperiences = [];\r\n expandedMediaExperiences = [];\r\n uploadedFiles = [];\r\n\r\n showTab = 'question1';\r\n isMicroSheetValid = false;\r\n isWebSheetValid = false;\r\n\r\n isTooManyImages = false;\r\n errors = errorMessages;\r\n\r\n pages = [];\r\n\r\n @Input() orderClass;\r\n\r\n constructor(private formBuilder: UntypedFormBuilder, public translate: TranslateService, public cmsService: CmsService) { }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n\r\n this.currentModule.fields = [];\r\n\r\n }\r\n\r\n createForm() {\r\n this.cmsForm = this.formBuilder.group({\r\n mediaExperiences: [null, [Validators.required, Validators.minLength(5), Validators.maxLength(11)]],\r\n mainSectionButtonText: [''],\r\n mainSectionTitleText: [''],\r\n mainSectionSubtitleText: [''],\r\n destinySectionTitleText: [''],\r\n destinySectionDescriptionText: [''],\r\n bannerSectionTitleText: [''],\r\n bannerSectionDescriptionText: [''],\r\n aboutUsSectionTitleText: [''],\r\n aboutUsSectionDescriptionText: [''],\r\n faqSectionTitleText: [''],\r\n faqSectionDescriptionText: ['']\r\n });\r\n }\r\n\r\n onUploadedImage(uploadedImage: object, formControlName: string) {\r\n this.mediaExperiences.push({\r\n url: uploadedImage['url'],\r\n id: uploadedImage['id'],\r\n });\r\n this.expandedMediaExperiences.push({\r\n url: uploadedImage['url'],\r\n id: uploadedImage['id'],\r\n });\r\n this.uploadedFiles.push(uploadedImage['id']);\r\n this.cmsForm.get(formControlName).patchValue(this.uploadedFiles);\r\n }\r\n\r\n showError(formValue) {\r\n return (\r\n 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
    ","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CmsService } from './service/cms.service';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ModalAlertComponent } from 'src/app/shared/modal-alert/modal-alert.component';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-cms',\r\n templateUrl: './cms.component.html',\r\n styleUrls: ['./cms.component.scss']\r\n})\r\nexport class CmsComponent implements OnInit {\r\n currentTab;\r\n cmsForm: UntypedFormGroup;\r\n pageObject: any = {\r\n modules: []\r\n };\r\n\r\n dialogRef: BsModalRef;\r\n\r\n web = [];\r\n\r\n constructor(private formBuilder: UntypedFormBuilder, public translate: TranslateService, public cmsService: CmsService, public dialog: BsModalService, private activatedRoute: ActivatedRoute ) { }\r\n\r\n ngOnInit(): void {\r\n this.getWeb();\r\n }\r\n\r\n getWeb() {\r\n this.cmsService.get(this.activatedRoute.snapshot.params.id, 'webs').subscribe((resp: any) => {\r\n this.web = resp;\r\n this.currentTab = this.web['pages'][0].slug\r\n })\r\n }\r\n\r\n saveWeb() {\r\n this.cmsService.updateWeb('update_web', this.web).subscribe((resp: any) => {\r\n this.openAlert('Página Guardada!', 'w-300', true);\r\n })\r\n }\r\n\r\n openAlert(modalText: string, className: string, status: boolean) {\r\n let iconClass: string;\r\n if (status) {\r\n iconClass = 'vi-check';\r\n } else {\r\n iconClass = 'vi-sad';\r\n }\r\n const modalConfig = {\r\n class: className,\r\n initialState: {\r\n alertMessage: this.translate.instant(\r\n modalText\r\n ),\r\n iconClass,\r\n status\r\n }\r\n }\r\n this.dialogRef = this.dialog.show(ModalAlertComponent, modalConfig);\r\n setTimeout(() => {\r\n this.dialogRef.hide();\r\n }, 2500);\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    0\" (click)=\"currentTab=page.slug\">\r\n \r\n {{page.name}}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import { HttpClient, HttpErrorResponse, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nconst API_URL = environment.cmsApiUrl;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmsService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public get(id: any, endpoint: string): Observable {\r\n return this.http.get(`${API_URL}/${endpoint}/${id}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n public getAll(endpoint: string): Observable {\r\n return this.http.get(`${API_URL}/${endpoint}`).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n \r\n public update(id: any, endpoint: string, data: any): Observable {\r\n return this.http.put(`${API_URL}/${endpoint}/${id}`, data).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n public updateWeb(endpoint: string, data: any): Observable {\r\n return this.http.post(`${API_URL}/${endpoint}`, data).pipe(\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n public cmsMediaUpload(fileItem: File, url, extraData?: object): Observable {\r\n const apiCreateEndpoint = `${API_URL}${url}`;\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('file', fileItem, fileItem.name);\r\n if (extraData) {\r\n for (const key in extraData) {\r\n if (extraData.hasOwnProperty(key)) {\r\n formData.append(key, extraData[key]);\r\n }\r\n }\r\n }\r\n return this.http.post(`${apiCreateEndpoint}`, formData).pipe(\r\n catchError(this.handleError)\r\n );\r\n\r\n // const req = new HttpRequest('POST', apiCreateEndpoint, formData, {\r\n // reportProgress: true // for progress data\r\n // });\r\n // return this.http.request(req);\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n console.error('Ha ocurrido un error:', error.error.message);\r\n } else {\r\n console.error(\r\n `Backend devolvió el codigo ${error.status}, ` +\r\n `Contenido: ${error.error}`);\r\n }\r\n return throwError(\r\n 'Algún error ocurrió: por favor vuelva a intentarlo.');\r\n };\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MakerService } from '../shared/maker.service';\r\nimport { AnalyticsService } from '../analytics/analytics.service';\r\nimport Chart from 'chart.js/auto';\r\nimport { ExperiencesService } from '../experiences/experiences/experiences.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss',\r\n '../../../../node_modules/keen-slider/keen-slider.min.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n dashboardCardsIndex = 0\r\n\r\n title = 'Dashboard';\r\n activeFilter = 'months';\r\n\r\n directoryAnalytics: any;\r\n interactionChart: any;\r\n directoryChart: any;\r\n makerExperiences: any = [];\r\n publishedExperiences = 0;\r\n totalExperiences: any;\r\n makerContacts: any;\r\n totalContacts: any;\r\n makerGroups: any;\r\n totalGroups: any;\r\n maker: any;\r\n\r\n labelsArray = [];\r\n brandImpressionsArray = [];\r\n brandVisitsArray = [];\r\n productsImpressionsArray = [];\r\n shownDays = [\r\n { value: 0, text: 'Todos los días' },\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n safeUrls = [];\r\n\r\n\r\n constructor(private experiencesService: ExperiencesService, private analyticsService: AnalyticsService, private makerService: MakerService, public translate: TranslateService, private sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit(): void {\r\n this.analyticsService.getDirectoryAnalyticsByMakerId(this.makerService.getId()).subscribe(((resp: any) => {\r\n this.directoryAnalytics = resp['hydra:member'][0];\r\n this.createInteractionChart();\r\n this.createDirectoryChart();\r\n }))\r\n\r\n this.experiencesService.getAllExperiencesByMakerId(this.makerService.getId()).subscribe(((resp: any) => {\r\n resp['hydra:member'].forEach(experience => {\r\n if (experience.microsheetCompleted && experience.maker.directoryCompleted) {\r\n this.makerExperiences.push(experience);\r\n }\r\n });\r\n\r\n // console.log(this.makerExperiences)\r\n\r\n this.totalExperiences = resp['hydra:member'].length;\r\n\r\n this.makerExperiences.forEach(experience => {\r\n if (experience.isActive) {\r\n this.publishedExperiences++\r\n }\r\n this.safeUrls.push(this.sanitizer.bypassSecurityTrustResourceUrl('https://venntur.com/es/product/' + experience.slug));\r\n });\r\n }))\r\n\r\n this.makerService.getContactsByMakerId(this.makerService.getId()).subscribe(((resp: any) => {\r\n this.makerContacts = resp['hydra:member'];\r\n this.totalContacts = this.makerContacts.length;\r\n }))\r\n\r\n this.makerService.getContactsGroupsByMakerId(this.makerService.getId()).subscribe(((resp: any) => {\r\n this.makerGroups = resp['hydra:member'];\r\n this.totalGroups = this.makerGroups.length;\r\n }))\r\n\r\n this.makerService.getMaker('/makers/' + this.makerService.getId()).subscribe(((resp: any) => {\r\n this.maker = resp;\r\n }))\r\n }\r\n\r\n changeFilter(type: any) {\r\n this.activeFilter = type;\r\n this.interactionChart.destroy();\r\n this.directoryChart.destroy();\r\n this.createInteractionChart();\r\n this.createDirectoryChart();\r\n }\r\n\r\n createInteractionChart() {\r\n this.labelsArray = [];\r\n let dataArray = [];\r\n if (this.activeFilter == 'hours') {\r\n this.labelsArray = Array.from({ length: 24 }, (_, i) => (i < 10 ? '0' + i : i.toString()));\r\n this.labelsArray.forEach(hour => {\r\n dataArray.push(this.directoryAnalytics['calculateAnalyticsHour']['interactions'][hour] ? this.directoryAnalytics['calculateAnalyticsHour']['interactions'][hour] : 0);\r\n });\r\n } else if (this.activeFilter == 'days') {\r\n const today = new Date();\r\n\r\n for (let i = 0; i < 30; i++) {\r\n const currentDate = new Date(today);\r\n currentDate.setDate(today.getDate() - i);\r\n\r\n const year = currentDate.getFullYear();\r\n const month = String(currentDate.getMonth() + 1).padStart(2, '0');\r\n const day = String(currentDate.getDate()).padStart(2, '0');\r\n\r\n this.labelsArray.push(`${year}-${month}-${day}`);\r\n }\r\n\r\n this.labelsArray = this.labelsArray.reverse();\r\n\r\n this.labelsArray.forEach(day => {\r\n dataArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['interactionsDays'][day] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['interactionsDays'][day] : 0);\r\n });\r\n } else {\r\n const today = new Date();\r\n\r\n for (let i = 0; i < 12; i++) {\r\n const currentMonth = new Date(today);\r\n currentMonth.setMonth(today.getMonth() - i);\r\n\r\n const year = currentMonth.getFullYear();\r\n const month = String(currentMonth.getMonth() + 1).padStart(2, '0');\r\n\r\n this.labelsArray.push(`${year}-${month}`);\r\n }\r\n\r\n this.labelsArray = this.labelsArray.reverse();\r\n\r\n this.labelsArray.forEach(month => {\r\n dataArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['interactionsMonths'].length > 0 ? this.directoryAnalytics['calculateAnalyticsDayMonth']['interactionsMonths'][month] : 0);\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n const data = {\r\n labels: this.labelsArray,\r\n datasets: [\r\n {\r\n label: 'Directorio',\r\n data: dataArray,\r\n borderColor: '#ff341f82',\r\n backgroundColor: '#ff341f82',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n },\r\n {\r\n label: 'Totales',\r\n data: dataArray,\r\n borderColor: '#f9c64875',\r\n backgroundColor: '#f9c64875',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n }\r\n ]\r\n };\r\n\r\n this.interactionChart = new Chart(\"interactionChart\", {\r\n type: 'line', //this denotes tha type of chart\r\n\r\n data: data,\r\n options: {\r\n responsive: true,\r\n plugins: {\r\n title: {\r\n display: true,\r\n // text: (ctx) => 'Point Style: ' + ctx.chart.data.datasets[0].pointStyle,\r\n }\r\n }\r\n }\r\n\r\n });\r\n }, 500);\r\n }\r\n\r\n createDirectoryChart() {\r\n this.brandImpressionsArray = [];\r\n this.brandVisitsArray = [];\r\n this.productsImpressionsArray = [];\r\n\r\n // let labelsArray = [];\r\n if (this.activeFilter == 'hours') {\r\n // labelsArray = Array.from({ length: 24 }, (_, i) => (i < 10 ? '0' + i : i.toString()));\r\n\r\n this.labelsArray.forEach(hour => {\r\n this.brandImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsHour']['directory']['brandImpressions'][hour] ? this.directoryAnalytics['calculateAnalyticsHour']['directory']['brandImpressions'][hour] : 0);\r\n this.brandVisitsArray.push(this.directoryAnalytics['calculateAnalyticsHour']['directory']['brandVisits'][hour] ? this.directoryAnalytics['calculateAnalyticsHour']['directory']['brandVisits'][hour] : 0);\r\n this.productsImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsHour']['directory']['productsImpressions'][hour] ? this.directoryAnalytics['calculateAnalyticsHour']['directory']['productsImpressions'][hour] : 0);\r\n });\r\n } else if (this.activeFilter == 'days') {\r\n // const today = new Date();\r\n\r\n // for (let i = 0; i < 30; i++) {\r\n // const currentDate = new Date(today);\r\n // currentDate.setDate(today.getDate() - i);\r\n\r\n // const year = currentDate.getFullYear();\r\n // const month = String(currentDate.getMonth() + 1).padStart(2, '0');\r\n // const day = String(currentDate.getDate()).padStart(2, '0');\r\n\r\n // this.labelsArray.push(`${year}-${month}-${day}`);\r\n // }\r\n\r\n // this.labelsArray = labelsArray.reverse();\r\n\r\n this.labelsArray.forEach(day => {\r\n this.brandImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsDays'][day] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsDays'][day] : 0);\r\n this.brandVisitsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsDays'][day] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsDays'][day] : 0);\r\n this.productsImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsDays'][day] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsDays'][day] : 0);\r\n });\r\n } else {\r\n // const today = new Date();\r\n\r\n // for (let i = 0; i < 12; i++) {\r\n // const currentMonth = new Date(today);\r\n // currentMonth.setMonth(today.getMonth() - i);\r\n\r\n // const year = currentMonth.getFullYear();\r\n // const month = String(currentMonth.getMonth() + 1).padStart(2, '0');\r\n\r\n // labelsArray.push(`${year}-${month}`);\r\n // }\r\n\r\n // labelsArray = labelsArray.reverse();\r\n\r\n this.labelsArray.forEach(month => {\r\n\r\n if (this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsMonths']) {\r\n this.brandImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsMonths'][month]);\r\n } else {\r\n this.brandImpressionsArray.push(0);\r\n }\r\n\r\n if (this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsMonths']) {\r\n this.brandVisitsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsMonths'][month]);\r\n } else {\r\n this.brandVisitsArray.push(0);\r\n }\r\n\r\n\r\n // this.brandImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsMonths'] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandImpressionsMonths'][month] : 0);\r\n // this.brandVisitsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsMonths'][month] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['brandVisitsMonths'][month] : 0);\r\n \r\n if (this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsMonths']) {\r\n this.productsImpressionsArray.push(this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsMonths'][month] ? this.directoryAnalytics['calculateAnalyticsDayMonth']['directory']['productsImpressionsMonths'][month] : 0);\r\n }\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n const data = {\r\n labels: this.labelsArray,\r\n datasets: [\r\n {\r\n label: 'Impresiones de marca',\r\n data: this.brandImpressionsArray,\r\n borderColor: '#ff341f82',\r\n backgroundColor: '#ff341f82',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n },\r\n {\r\n label: 'Visitas ficha maker',\r\n data: this.brandVisitsArray,\r\n borderColor: '#f9c64875',\r\n backgroundColor: '#f9c64875',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n },\r\n {\r\n label: 'Impresiones de productos',\r\n data: this.productsImpressionsArray,\r\n borderColor: '#e5408f7d',\r\n backgroundColor: '#e5408f7d',\r\n pointStyle: 'circle',\r\n pointRadius: 5,\r\n pointHoverRadius: 8\r\n }\r\n // {\r\n // label: 'Visitas ficha productos',\r\n // data: [0, 1, 2, 1, 2, 3, 1, 3, 2, 0, 1, 2, 1, 2, 3, 1, 3, 2, 0, 1, 2, 1, 2, 3, 1, 3],\r\n // borderColor: '#0867ff80',\r\n // backgroundColor: '#0867ff80',\r\n // pointStyle: 'circle',\r\n // pointRadius: 5,\r\n // pointHoverRadius: 8\r\n // }\r\n ]\r\n };\r\n\r\n this.directoryChart = new Chart(\"directoryChart\", {\r\n type: 'line', //this denotes tha type of chart\r\n\r\n data: data,\r\n options: {\r\n responsive: true,\r\n plugins: {\r\n title: {\r\n display: true,\r\n // text: (ctx) => 'Point Style: ' + ctx.chart.data.datasets[0].pointStyle,\r\n }\r\n }\r\n }\r\n\r\n });\r\n }, 500);\r\n }\r\n\r\n setCategoryTitle(experience) {\r\n return experience.categories.map(obj => obj.name).join(' / ')\r\n }\r\n\r\n setLanguagesTitle(experience) {\r\n return experience.languages.map(obj => obj.name).join(' , ')\r\n }\r\n\r\n convertTimeToCustomFormat(inputTime: string): string {\r\n let formattedText;\r\n const [hours, minutes] = inputTime.split(':').map(part => parseInt(part, 10));\r\n\r\n if (minutes != 0) {\r\n formattedText = hours + ' h y ' + minutes + ' min'\r\n } else {\r\n formattedText = hours + ' h'\r\n }\r\n\r\n return formattedText;\r\n }\r\n\r\n}\r\n","

    {{title}}

    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Número de productos publicados\r\n \r\n
    \r\n \r\n {{publishedExperiences}} / {{totalExperiences}}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Suscripción\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{maker.makerPlan['plan']['shortName'] | translate}}\r\n
    \r\n {{maker['makerPlan']['price'] + '€'}}\r\n {{maker['makerPlan']['plan']['paymentType'] == 'yearly' ? '/Anual' : '/Mes'}}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    0\" class=\"row mb-3\">\r\n
    \r\n
    \r\n
    \r\n Preview minificha\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Preview Ficha de producto\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Mi web\r\n \r\n
    \r\n \r\n

    Crea tu web con inteligencia artificial en tan solo 3 pasos.

    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ExperiencesService } from '../experiences/experiences.service';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ConfirmationDialogComponent } from '../../shared/confirmation-dialog/confirmation-dialog.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { maxTableRows } from 'globals';\r\n\r\n\r\n@Component({\r\n selector: 'app-experiences-list',\r\n styleUrls: ['./experiences-list.component.scss'],\r\n templateUrl: './experiences-list.component.html',\r\n\r\n})\r\n\r\n\r\nexport class ExperiencesListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n columns = [];\r\n rows = [];\r\n searchForm: UntypedFormGroup;\r\n alert = { message: null, type: null };\r\n modalRef: BsModalRef;\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n\r\n dialogRef: BsModalRef;\r\n\r\n actualUrl: string = window.location.href;\r\n makerPinUrl = 'https://venntur.com/';\r\n productPinUrl = 'https://venntur.com/';\r\n maker: any = [];\r\n experiences: any = [];\r\n language: string;\r\n copied: boolean = false;\r\n\r\n maxExperiences: any;\r\n publishedExperiences = 0;\r\n productsSelected = 1;\r\n currentProducts = 0;\r\n regulation = 'monthly'\r\n\r\n constructor(\r\n private experienceService: ExperiencesService,\r\n private makerService: MakerService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService,\r\n public translate: TranslateService,\r\n public modalService: BsModalService\r\n\r\n ) {\r\n this.experienceService.getAllExperiencesByMakerId(makerService.getId()).subscribe((experiences => {\r\n this.rows = experiences['hydra:member'];\r\n this.rows.forEach(experience => {\r\n if (experience.isActive) {\r\n this.publishedExperiences++\r\n }\r\n });\r\n }));\r\n\r\n this.makerService.getMaker('/makers/'+makerService.getId()).subscribe((maker => {\r\n this.maker = maker;\r\n this.maxExperiences = this.maker['makerPlan']['plan']['maxProducts'];\r\n }));\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n maker: [''],\r\n location: [''],\r\n id: ['']\r\n });\r\n this.columns = [\r\n // { prop: 'id', name: 'ID' },\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'location.name', name: 'Ubicación' }];\r\n }\r\n\r\n applyFilter() {\r\n this.experienceService.getAllExperiencesByMakerId(this.makerService.getId(), this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n }\r\n )\r\n }\r\n\r\n deleteExperience(experienceId) {\r\n this.dialogRef = this.dialog.show(ConfirmationDialogComponent, {\r\n initialState: {\r\n confirmMessage: this.translate.instant('¿Seguro que quieres eliminar esta experiencia?'),\r\n callback: (confirm) => {\r\n if (confirm) {\r\n this.experienceService.deleteExperience(experienceId).subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Experiencia eliminada correctamente';\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n );\r\n setTimeout(() => {\r\n this.experienceService.getAllExperiencesByMakerId(this.makerService.getId()).subscribe((experiences => {\r\n this.rows = experiences['hydra:member'];\r\n this.table.offset = 0;\r\n }));\r\n }, 1000);\r\n }\r\n this.dialogRef = null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n openShareModal(template: TemplateRef, config: any) {\r\n if (config.initialState.data.message.type == 'maker') {\r\n this.maker.name = this.maker.name.replace(/ /g, '-');\r\n this.maker.name = this.maker.name.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n\r\n if (this.actualUrl.includes('/en/')) {\r\n this.language = 'en';\r\n } else if (this.actualUrl.includes('/es/')) {\r\n this.language = 'es';\r\n } else if (this.actualUrl.includes('/de/')) {\r\n this.language = 'de';\r\n } else {\r\n this.language = 'es';\r\n }\r\n\r\n\r\n this.makerPinUrl = 'https://venntur.com/' + this.language + '/maker/' + this.maker.slug + '/pin';\r\n config.initialState.data.message.url = this.makerPinUrl;\r\n }\r\n\r\n if (config.initialState.data.message.type == 'product') {\r\n\r\n var product = config.initialState.data.message.product;\r\n\r\n product.name = product.name.replace(/ /g, '-');\r\n product.name = product.name.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n //remove . : , ? ¿ = ( ) ' \" ` from name\r\n product.name = product.name.replace(/[.,?:¿=()'\"`]/g, '');\r\n\r\n if (this.actualUrl.includes('/en/')) {\r\n this.language = 'en';\r\n } else if (this.actualUrl.includes('/es/')) {\r\n this.language = 'es';\r\n } else if (this.actualUrl.includes('/de/')) {\r\n this.language = 'de';\r\n } else {\r\n this.language = 'es';\r\n }\r\n\r\n this.productPinUrl = 'https://venntur.com/' + this.language + '/product/' + product.slug + '/pin';\r\n config.initialState.data.message.url = this.productPinUrl;\r\n }\r\n\r\n if (config.initialState.data.message.url) {\r\n console.log(config.initialState.data.message.url);\r\n }\r\n\r\n\r\n\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n openMoreProductsModal(template: TemplateRef, config: any) {\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n changeLang() {\r\n this.translate.setDefaultLang('es');\r\n }\r\n\r\n downloadQRCode() {\r\n //Select the qr code image from the html\r\n var qrCode = document.getElementById('qrCodeImage');\r\n //get image tag from qr code\r\n var qrCodeImage = qrCode.getElementsByTagName('img')[0];\r\n\r\n // save the image to the local file system\r\n var link = document.createElement('a');\r\n link.download = 'Venntur-Pin-QR.png';\r\n link.href = qrCodeImage.getAttribute('src');\r\n link.click();\r\n }\r\n\r\n copyLink() {\r\n var copyText = document.getElementById('pinLink') as HTMLInputElement;\r\n\r\n var elementoTemp = document.createElement(\"textarea\");\r\n elementoTemp.value = copyText.value;\r\n document.body.appendChild(elementoTemp);\r\n elementoTemp.select();\r\n document.execCommand(\"copy\");\r\n document.body.removeChild(elementoTemp);\r\n /* \r\n //copy the value of the input pinLink\r\n \r\n console.log(copyText.value);\r\n \r\n //save the value of the input in the clipboard\r\n console.log(copyText.select());\r\n \r\n \r\n \r\n \r\n document.execCommand('copy'); */\r\n\r\n //show alert\r\n var alert = document.getElementById('alertCopy');\r\n this.copied = true;\r\n setTimeout(() => {\r\n this.copied = false;\r\n }, 3000);\r\n }\r\n\r\n shareUrl(){\r\n var copyText = document.getElementById('pinLink') as HTMLInputElement;\r\n\r\n var enlace = copyText.value;\r\n\r\n var mensaje = this.translate.instant('¡Mira esta experiencia en Venntur!');\r\n\r\n if(enlace.includes('maker')){\r\n mensaje = this.translate.instant('¡Mira mis productos en Venntur!');\r\n }\r\n\r\n\r\n mensaje = encodeURIComponent(mensaje);\r\n enlace = encodeURIComponent(enlace);\r\n\r\n var enlaceWhatsApp = 'https://wa.me/?text=' + mensaje + '%20' + enlace;\r\n\r\n window.open(enlaceWhatsApp);\r\n\r\n }\r\n}\r\n","
    \r\n

    {{ 'Experiencias' | translate}}

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

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n
    {{ 'Buscar por:' | translate}}
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Número de productos de tu plan\r\n {{rows.length}} / {{maxExperiences}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Todas las experiencias del proveedor\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n\r\n \r\n
    \r\n {{ '¡Texto copiado!' | translate}}\r\n
    \r\n\r\n {{ 'Tu código QR abrirá esta URL' | translate}}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n Añade productos a tu plan\r\n Alcanzaste el cupo de productos para tu plan.\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{productsSelected + maxExperiences + ' productos'}}\r\n Mejora tu visibilidad con mas experiencias.\r\n
    \r\n {{regulation == 'monthly' ? (6 * productsSelected) + 21 : ((5 *\r\n (productsSelected))+17.5) * 12}}€ \r\n / {{regulation == 'monthly' ? 'Mes' : 'Año'}}\r\n
    \r\n \r\n {{i+1}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { Experience } from '../experiences/experience.model';\r\nimport { ExperiencesService } from '../experiences/experiences.service';\r\nimport { TakerService } from '../../shared/taker.service';\r\nimport { Taker } from '../../taker/taker-profile/taker.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ResellerService } from '../../shared/reseller.service';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { ExperienceSearchComponent } from 'src/app/shared/experience-search/experience-search.component';\r\nimport { JsonLdService } from 'src/app/json-ld.service';\r\n\r\n@Component({\r\n selector: 'app-experiences-page',\r\n styleUrls: ['./experiences-page.component.scss'],\r\n templateUrl: './experiences-page.component.html',\r\n})\r\n\r\nexport class ExperiencesPageComponent implements OnInit {\r\n parentVariable: string;\r\n public expandedIndex = -1;\r\n public originalExperiences: Experience[];\r\n experiences = [];\r\n takerExperiences = [];\r\n resellerExperiences = [];\r\n shownDays = [\r\n { value: 0, text: 'Todos los días' },\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n isAlertShown = false;\r\n throttle = 150;\r\n scrollDistance = 0.1;\r\n page = 1;\r\n total = 0;\r\n notEmptyExperience = true;\r\n notScrolly = true;\r\n loading = false;\r\n @ViewChild('autoShownModal', { static: false }) autoShownModal: ModalDirective;\r\n @Input() childData: string;\r\n\r\n constructor(\r\n private experienceService: ExperiencesService,\r\n private router: Router,\r\n private titleService: Title,\r\n private takerService: TakerService,\r\n private resellerService: ResellerService,\r\n public authService: AuthService,\r\n public translate: TranslateService,\r\n private meta: Meta,\r\n private renderer2: Renderer2,\r\n private jsonLdService: JsonLdService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.removeMetaTags();\r\n this.loading = true;\r\n this.titleService.setTitle('Encuentra tu experiencia | Venntur');\r\n this.router['rawUrlTree'].queryParams['page'] = this.page;\r\n\r\n setTimeout(() => {\r\n this.experienceService.getExperiences(this.router['rawUrlTree'].queryParams, this.translate.getDefaultLang())\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.total = experiences['hydra:totalItems'];\r\n this.experiences = experiences['hydra:member'];\r\n this.addJsonLdSchema();\r\n }));\r\n }, 1000);\r\n this.experienceService.getExperiencesByTakerId(this.takerService.getId()).subscribe(experiences => {\r\n this.takerExperiences = Array.from(experiences['hydra:member']).map((item) => item['@id']);\r\n });\r\n this.experienceService.getExperiencesByResellerId(this.resellerService.getId(), {}).subscribe(experiences => {\r\n this.resellerExperiences = Array.from(experiences['hydra:member']).map((item) => item['experience']['@id']);\r\n });\r\n this.meta.addTags([\r\n { name: 'description', content: 'test' },\r\n { name: 'lang', content: 'es' },\r\n { name: 'robots', content: 'index, follow' },\r\n { property: 'og:title', content: 'test' },\r\n { property: 'og:description', content: 'test' },\r\n { property: 'og:image', content: 'https://venntur.com/assets/venntur-isotype-70.png' },\r\n { property: 'og:url', content: 'https://venntur.com/' },\r\n { property: 'og:site_name', content: 'Venntur' }\r\n ]);\r\n }\r\n\r\n clickFavorite(event, experienceId) {\r\n if (this.takerService.getId()) {\r\n this.takerExperiences.includes(experienceId) ?\r\n this.takerExperiences.splice(this.takerExperiences.indexOf(experienceId), 1) : this.takerExperiences.push(experienceId);\r\n const taker = {\r\n favoriteExperiences: this.takerExperiences\r\n };\r\n const editedTaker = new Taker(taker);\r\n this.takerService.putTaker(this.takerService.getId(), editedTaker).subscribe();\r\n } else {\r\n this.isAlertShown = true;\r\n }\r\n }\r\n\r\n addFavoriteToReseller(event, experienceId) {\r\n this.resellerExperiences.includes(experienceId) ?\r\n this.resellerExperiences.splice(this.resellerExperiences.indexOf(experienceId), 1) : this.resellerExperiences.push(experienceId);\r\n const favoriteExperience = {\r\n reseller: '/resellers/' + this.resellerService.getId(),\r\n experience: experienceId,\r\n status: 'Pendiente contacto'\r\n };\r\n this.resellerService.postFavoriteExperience(favoriteExperience).subscribe();\r\n }\r\n\r\n removeFavoriteToReseller(favoriteExperienceId) {\r\n this.experienceService.getExperiencesByResellerId(this.resellerService.getId(), { id: favoriteExperienceId }).subscribe(experiences => {\r\n this.resellerService.deleteFavoriteExperience(experiences['hydra:member'][0]['@id']).subscribe(() => {\r\n this.resellerExperiences.splice(this.resellerExperiences.indexOf(favoriteExperienceId), 1);\r\n });\r\n });\r\n }\r\n\r\n expandText(index: number): void {\r\n this.expandedIndex = index === this.expandedIndex ? -1 : index;\r\n }\r\n\r\n onScroll() {\r\n this.loading = true;\r\n if (this.notScrolly && this.notEmptyExperience) {\r\n this.notScrolly = false;\r\n setTimeout(() => {\r\n this.loadNextExperience();\r\n }, 500);\r\n } else {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n loadNextExperience() {\r\n // this.router['rawUrlTree'].queryParams['page'] = ++this.page;\r\n ++this.page;\r\n let updatedUrl;\r\n if (this.parentVariable) {\r\n updatedUrl = this.parentVariable.replace(/page=\\d+/, `page=${this.page}`);\r\n } else if (this.router['rawUrlTree'].queryParams['localidad']) {\r\n this.router['rawUrlTree'].queryParams['page'] = this.page;\r\n updatedUrl = this.router['rawUrlTree'];\r\n } else {\r\n updatedUrl = '?page=' + this.page;\r\n }\r\n\r\n let params: any = (new URL('https://venntur.com/' + updatedUrl)).searchParams; \r\n\r\n if (this.experiences.length < this.total) {\r\n this.experienceService.getExperiencesByUrl(params, this.translate.getDefaultLang())\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.total = experiences['hydra:totalItems'];\r\n this.experiences = this.experiences.concat(experiences['hydra:member']);\r\n }));\r\n // let i;\r\n // const length = this.experiences.length;\r\n // const experiencePerPage = 9;\r\n // const experienceToLoad = this.originalExperiences.length - length;\r\n\r\n // if ( experienceToLoad >= experiencePerPage ) {\r\n // for (i = length; i <= length + experiencePerPage; i++) {\r\n // this.experiences.push(this.originalExperiences[i]);\r\n // }\r\n // } else {\r\n // for (i = length; i <= length + experienceToLoad - 1; i++) {\r\n // this.experiences.push(this.originalExperiences[i]);\r\n // }\r\n // }\r\n this.notScrolly = true;\r\n } else {\r\n this.notEmptyExperience = false;\r\n this.loading = false;\r\n }\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isAlertShown = false;\r\n }\r\n\r\n changeParentVariable(newVariable: string) {\r\n this.parentVariable = newVariable;\r\n\r\n const params = (new URL('https://venntur.com/' + this.parentVariable)).searchParams;\r\n\r\n this.experienceService.getExperiencesByUrl(params, this.translate.getDefaultLang())\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.total = experiences['hydra:totalItems'];\r\n this.experiences = experiences['hydra:member'];\r\n this.page = 1;\r\n }));\r\n\r\n }\r\n\r\n getUrl(isCivitatis, image) {\r\n // return !isCivitatis ? 'https://dev.venntur.com/assets/experience/files/' + image : image;\r\n return !isCivitatis ? 'https://venntur.com/assets/experience/files/' + image : image;\r\n }\r\n\r\n setCategoryTitle(experience) {\r\n return experience.categories.map(obj => obj.name).join(' / ')\r\n }\r\n\r\n setLanguagesTitle(experience) {\r\n return experience.languages.map(obj => obj.name).join(' , ')\r\n }\r\n\r\n convertTimeToCustomFormat(inputTime: string): string {\r\n let formattedText;\r\n const [hours, minutes] = inputTime.split(':').map(part => parseInt(part, 10));\r\n\r\n if (minutes != 0) {\r\n formattedText = hours + ' h y ' + minutes + ' min'\r\n } else {\r\n formattedText = hours + ' h'\r\n }\r\n\r\n return formattedText;\r\n }\r\n\r\n shareExperience(experience) {\r\n var enlace = 'https://venntur.com/product/' + experience.slug;\r\n var mensaje = this.translate.instant('¡Mira esta experiencia en Venntur!');\r\n\r\n mensaje = encodeURIComponent(mensaje);\r\n enlace = encodeURIComponent(enlace);\r\n\r\n var enlaceWhatsApp = 'https://wa.me/?text=' + mensaje + '%20' + enlace;\r\n\r\n window.open(enlaceWhatsApp);\r\n\r\n }\r\n\r\n removeMetaTags() {\r\n const metaTags = Array.from(document.querySelectorAll('meta'));\r\n\r\n metaTags.forEach((metaTag: Element) => {\r\n this.renderer2.removeChild(document.head, metaTag);\r\n });\r\n }\r\n\r\n addJsonLdSchema(): void {\r\n if (this.experiences?.length) {\r\n const schema = this.experiences.map(experience => ({\r\n \"@context\": \"https://schema.org\",\r\n \"@type\": \"TouristAttraction\",\r\n \"name\": experience.name,\r\n \"description\": experience.description,\r\n \"image\": experience.images || [],\r\n \"url\": `https://venntur.com/${this.translate.getDefaultLang()}/product/${experience.slug}`\r\n }));\r\n this.jsonLdService.setData(schema); // Ensure JSON-LD service is imported and injected\r\n console.log('JSON-LD schema added:', schema);\r\n }\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{ 'Encuentra tu experiencia' | translate}}

    \r\n

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

    {{ 'Sin resultados' | translate}}

    \r\n

    {{ 'Ups.. Parece que no hay resultados para tu búsqueda' | translate}}

    \r\n

    {{ 'Inténtalo de nuevo utilizando otros filtros o' | translate}} {{ 'ponte en contacto con nosotros' | translate}}{{ ' y te ayudaremos a encontrar la experiencia que estás buscando.' | translate}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\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 ExperienceCollection {\r\n total: number;\r\n experiences: Experience[];\r\n}\r\n\r\nexport class Experience {\r\n id: string;\r\n name: string;\r\n promoCode: string;\r\n url: string;\r\n urlButtonText: string;\r\n description: string;\r\n duration: string;\r\n seasonStartMonth: string;\r\n seasonEndMonth: string;\r\n promotionType: string;\r\n promotion: string;\r\n sustainableSeal: boolean;\r\n reviewTripadvisor: string;\r\n mediaExperiences: any[];\r\n maker: string;\r\n languages: any[];\r\n categories: any[];\r\n tags: any[];\r\n country: string;\r\n location: string;\r\n zones: any[];\r\n whyUs: string;\r\n includes: any[];\r\n notIncludes: any[];\r\n price: number;\r\n cancellation: string;\r\n persons: number;\r\n moreInfo: any [];\r\n carryInfo: any [];\r\n slug: string;\r\n fareharborId: string;\r\n turitopId: string;\r\n bokunId: string;\r\n rezdyId: string;\r\n donicusId: string;\r\n fromDate: Date;\r\n toDate: Date;\r\n typePrice: any;\r\n weekDays: any [];\r\n status: string;\r\n currency: string;\r\n descriptionExtended: string;\r\n highlights: any [];\r\n modalities: any [];\r\n months: any [];\r\n mediaExperiencesVideos: any [];\r\n reviewGetyourguide: string;\r\n bookingEngine: string;\r\n bookingEngineWidget: string;\r\n\r\n constructor(values: any = {}) {\r\n Object.assign(this, values);\r\n }\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport {\r\n UntypedFormBuilder,\r\n UntypedFormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ExperiencesService } from './experiences.service';\r\nimport { Experience } from './experience.model';\r\nimport { HttpEventType } from '@angular/common/http';\r\nimport { MediaExperiencesService } from './media-experiences.service';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { Category } from '../../../shared/categories/category.model';\r\nimport { Language } from '../../../shared/languages/language.model';\r\nimport { Country } from '../../../shared/locations/country.model';\r\nimport { Location } from '../../../shared/locations/location.model';\r\nimport { CategoriesService } from '../../../shared/categories/categories.service';\r\nimport { LanguagesService } from '../../../shared/languages/languages.service';\r\nimport { CountryService } from '../../../shared/locations/country.service';\r\nimport { LocationService } from '../../../shared/locations/location.service';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { errorMessages, regExps } from '../../shared/custom-validators';\r\nimport { Tag } from '../../../shared/tags/tag.model';\r\nimport { TagsService } from '../../../shared/tags/tags.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ConfirmationDialogComponent } from '../../shared/confirmation-dialog/confirmation-dialog.component';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { ModalAlertComponent } from 'src/app/shared/modal-alert/modal-alert.component';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n@Component({\r\n selector: 'app-experiences',\r\n templateUrl: './experiences.component.html',\r\n styleUrls: ['./experiences.component.scss'],\r\n})\r\nexport class ExperiencesComponent implements OnInit {\r\n public Editor = ClassicEditor;\r\n\r\n @Output() newItemEvent = new EventEmitter();\r\n\r\n experienceForm: UntypedFormGroup;\r\n experience: Experience;\r\n modalRef: BsModalRef;\r\n bsConfig?: Partial;\r\n categories: Category[] = [];\r\n allCategories: Category[] = [];\r\n subcategories: Category[] = [];\r\n categoriesSelected = [];\r\n subcategoriesSelected = [];\r\n myPreviewCategories = [];\r\n myPreviewSubcategories = [];\r\n myPreviewLanguages = [];\r\n myPreviewLocation = '';\r\n typePriceSelected = 0;\r\n weekDaySelected = [];\r\n monthSelected = [];\r\n tags: Tag[] = [];\r\n tagsSelected = [];\r\n languages: Language[] = [];\r\n languagesSelected = [];\r\n promotionTypes = ['Descuento', '2x1', 'Niños gratis'];\r\n promotionTypeSelected = null;\r\n selectedFile: File;\r\n selectedFiles = [];\r\n uploadedFiles = [];\r\n mediaExperiences = [];\r\n expandedMediaExperiences = [];\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n uploadProgress = 0;\r\n alert = { message: null, type: null };\r\n errors = errorMessages;\r\n countries = [];\r\n allLocations = [];\r\n maker = null;\r\n makerName = '';\r\n myMakerLogo = null;\r\n editorTemplateStaticData = '';\r\n editorTemplate: any;\r\n images = [];\r\n title = 'Nueva experiencia';\r\n includesSelected = [];\r\n notIncludesSelected = [];\r\n moreInfoSelected = [];\r\n isDisabled = true;\r\n currencies = ['€', '$', '£', '¥', '₩', '₽', '₹', 'R$'];\r\n highlights = [];\r\n highlightsCount = [];\r\n\r\n modalitiesIris = [];\r\n modalitiesDelete = [];\r\n selectedModal: any;\r\n\r\n isMicroSheetValid = false;\r\n isWebSheetValid = false;\r\n isPinValid = false;\r\n\r\n uploadedVideos = [];\r\n loadingVideo = false;\r\n progressVideo = 0;\r\n\r\n isTooManyImages = false;\r\n\r\n modalities = [\r\n {\r\n title: '',\r\n description: '',\r\n bookingEngineId: 0,\r\n prices: [\r\n {\r\n name: '',\r\n price: 0,\r\n }\r\n ],\r\n pickup: false,\r\n pickupStr: '',\r\n duration: '',\r\n start: '',\r\n end: '',\r\n meetingPoint: '',\r\n location: '',\r\n experience: '',\r\n },\r\n ];\r\n\r\n modalitiesObject = {\r\n title: '',\r\n description: '',\r\n bookingEngineId: 0,\r\n prices: [{\r\n name: '',\r\n price: '',\r\n }],\r\n pickup: false,\r\n duration: '',\r\n start: '',\r\n end: '',\r\n meetingPoint: '',\r\n location: '',\r\n };\r\n\r\n isExpanded: boolean[] = [];\r\n // languagesWeb = ['Español'['es'], 'English'['en']];\r\n // languageWebSelected = []\r\n\r\n public filteredCountries: ReplaySubject = new ReplaySubject<\r\n Country[]\r\n >(1);\r\n countrySelected = null;\r\n\r\n locations: Location[] = [];\r\n public filteredLocations: ReplaySubject = new ReplaySubject<\r\n Location[]\r\n >(1);\r\n locationSelected = null;\r\n\r\n zones: any = [];\r\n public filteredZone: ReplaySubject = new ReplaySubject(1);\r\n zoneSelected = null;\r\n\r\n // whyUsText = '';\r\n descriptionText = '';\r\n descriptionMaxChar = 600;\r\n\r\n monthsList = [\r\n { value: 12, text: 'Todos los meses' },\r\n { value: 0, text: 'Enero' },\r\n { value: 1, text: 'Febrero' },\r\n { value: 2, text: 'Marzo' },\r\n { value: 3, text: 'Abril' },\r\n { value: 4, text: 'Mayo' },\r\n { value: 5, text: 'Junio' },\r\n { value: 6, text: 'Julio' },\r\n { value: 7, text: 'Agosto' },\r\n { value: 8, text: 'Septiembre' },\r\n { value: 9, text: 'Octubre' },\r\n { value: 10, text: 'Noviembre' },\r\n { value: 11, text: 'Diciembre' }\r\n ]\r\n\r\n urlButtonTexts = [\r\n { value: 'more-info', text: '+ Info' },\r\n { value: 'book', text: 'Reservar' },\r\n ];\r\n\r\n typePrices = [\r\n { value: 0, text: 'Por persona' },\r\n { value: 1, text: 'Por Servicio' },\r\n ];\r\n weekDays = [\r\n { value: 0, text: 'Todos los días' },\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n dialogRef: BsModalRef;\r\n\r\n tabs = ['microSheet', 'sheet', 'pin']\r\n showTab = 'microSheet';\r\n\r\n civitatisId = '';\r\n\r\n makerInfo: any;\r\n\r\n bookingEngine = '';\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private experienceService: ExperiencesService,\r\n private categoryService: CategoriesService,\r\n private tagService: TagsService,\r\n private languageService: LanguagesService,\r\n private mediaExperienceService: MediaExperiencesService,\r\n private countryService: CountryService,\r\n private locationService: LocationService,\r\n // private zoneService: ZoneService,\r\n private makerService: MakerService,\r\n public translate: TranslateService,\r\n private modalService: BsModalService,\r\n public dialog: BsModalService\r\n ) {\r\n this.bsConfig = Object.assign({}, { showWeekNumbers: false, adaptivePosition: true });\r\n if (this.makerService.getId()) {\r\n this.maker = '/makers/' + this.makerService.getId();\r\n this.makerName = this.makerService.getName();\r\n this.makerService.getMaker('/makers/' + this.makerService.getId()).subscribe((maker) => {\r\n this.myMakerLogo = maker.mediaMakers[0].contentUrl;\r\n this.makerInfo = maker;\r\n // console.log(\"maker info: \", this.makerInfo.user.isAdmin);\r\n\r\n });\r\n this.createForm();\r\n } else {\r\n this.router.navigateByUrl('/maker/admin/perfil');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.translate.currentLang = 'es';\r\n\r\n if (this.activatedRoute.snapshot.params.id) {\r\n this.editExperience(this.activatedRoute.snapshot.params.id);\r\n } else {\r\n setTimeout(() => {\r\n this.setRelations();\r\n }, 1000);\r\n }\r\n\r\n\r\n this.experienceForm.valueChanges.subscribe(changes => {\r\n this.checkMicroSheetContent();\r\n this.checkWebSheetContent();\r\n this.checkPinSheetContent();\r\n });\r\n\r\n this.newItemEvent.emit(this.experience);\r\n }\r\n\r\n createForm() {\r\n this.experienceForm = this.formBuilder.group({\r\n name: [null, Validators.required],\r\n promoCode: [''],\r\n url: [\r\n '',\r\n [\r\n // Validators.pattern(regExps.url),\r\n Validators.required\r\n ],\r\n ],\r\n urlButtonText: [\r\n '',\r\n // Validators.required\r\n ],\r\n description: [\r\n null,\r\n [\r\n Validators.required,\r\n Validators.minLength(20),\r\n Validators.maxLength(600),\r\n ],\r\n ],\r\n seasonStartMonth: [,],\r\n seasonEndMonth: [,],\r\n duration: [\r\n '', Validators.required\r\n // Validators.required\r\n ],\r\n promotionType: [,],\r\n promotion: [''],\r\n sustainableSeal: [false],\r\n reviewTripadvisor: [''],\r\n reviewGetyourguide: [''],\r\n mediaExperiences: [null, [Validators.required, Validators.minLength(5), Validators.maxLength(11)]],\r\n expandedMediaExperiences: [null, [Validators.minLength(5)]],\r\n maker: [\r\n this.maker,\r\n // Validators.required\r\n ],\r\n languages: [\r\n '', Validators.required\r\n // Validators.required\r\n ],\r\n categories: [\r\n '', Validators.required\r\n // Validators.required\r\n ],\r\n subcategories: [\r\n ''\r\n ],\r\n tags: [\r\n '',\r\n // Validators.required\r\n ],\r\n country: ['', Validators.required],\r\n location: ['', Validators.required],\r\n zones: [\r\n [],\r\n // Validators.required\r\n ],\r\n whyUs: [''], //[Validators.required, Validators.minLength(50), Validators.maxLength(600)]\r\n // tripAdv: [ '',\r\n // Validators.required\r\n // ]\r\n persons: [\r\n null,\r\n // Validators.required\r\n ],\r\n cancellation: [\r\n '',\r\n // Validators.required\r\n ],\r\n includes: [[]], // Validators.required\r\n notIncludes: [[]], // Validators.required\r\n price: [\r\n '',\r\n // Validators.required\r\n ],\r\n moreInfo: [[], Validators.required],\r\n carryInfo: [[]], \r\n slug: [''],\r\n bookingEngine: [''],\r\n bookingEngineWidget: [''],\r\n fareharborId: [''],\r\n bokunId: [''],\r\n turitopId: [''],\r\n rezdyId: [''],\r\n donicusId: [''],\r\n typePrice: [\r\n 0,\r\n // Validators.required\r\n ],\r\n // toDate: [\r\n // null,\r\n // // Validators.required\r\n // ],\r\n // fromDate: [\r\n // null,\r\n // // Validators.required\r\n // ],\r\n weekDays: [''],\r\n // languagesWeb : ['Español'['es'], 'English'['en']]\r\n status: [''],\r\n currency: [''],\r\n descriptionExtended: ['', Validators.required],\r\n highlights: [''],\r\n modalities: [[]],\r\n microsheetCompleted: [false],\r\n sheetCompleted: [false],\r\n months: ['', Validators.required]\r\n });\r\n\r\n setTimeout(() => {\r\n console.log(this.experience)\r\n if (!this.experience || !this.experience.bookingEngine) {\r\n this.experienceForm.get('bookingEngine').setValue(this.makerInfo?.bookingEngine);\r\n this.bookingEngine = this.makerInfo?.bookingEngine;\r\n this.experienceForm.get('bookingEngineWidget').setValue(this.makerInfo?.bookingEngineWidget);\r\n }\r\n }, 500);\r\n }\r\n\r\n setRelations() {\r\n this.categoryService\r\n .getCategories(this.translate.currentLang ? this.translate.currentLang : this.translate.getDefaultLang())\r\n .subscribe((categories) => {\r\n\r\n this.allCategories = categories['hydra:member'];\r\n\r\n categories['hydra:member'].forEach((category) => {\r\n if (category.parents.length == 0) {\r\n this.categories.push(category);\r\n }\r\n });\r\n\r\n //this.categories = categories['hydra:member'];\r\n });\r\n this.tagService\r\n .getTags(this.translate.currentLang ? this.translate.currentLang : this.translate.getDefaultLang())\r\n .subscribe((tags) => {\r\n this.tags = tags['hydra:member'];\r\n });\r\n this.languageService\r\n .getLanguages(this.translate.currentLang ? this.translate.currentLang : this.translate.getDefaultLang())\r\n .subscribe((languages) => {\r\n this.languages = languages['hydra:member'];\r\n });\r\n this.countryService.getCountries().subscribe((countries) => {\r\n this.countries = countries;\r\n });\r\n this.locationService.getLocations().subscribe((locations) => {\r\n this.allLocations = locations['hydra:member'];\r\n });\r\n setTimeout(() => {\r\n this.loadPreviewCategories();\r\n this.loadPreviewSubcategories();\r\n this.loadPreviewLanguages();\r\n this.loadPreviewLocation();\r\n }, 3000);\r\n }\r\n\r\n deleteExperience(experienceId) {\r\n this.dialogRef = this.dialog.show(ConfirmationDialogComponent, {\r\n initialState: {\r\n confirmMessage: this.translate.instant(\r\n '¿Seguro que quieres eliminar esta experiencia?'\r\n ),\r\n callback: (confirm) => {\r\n if (confirm) {\r\n this.experienceService.deleteExperience(experienceId).subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Experiencia eliminada correctamente';\r\n location.replace(\r\n this.translate.currentLang ? this.translate.currentLang : this.translate.getDefaultLang() + '/maker/admin/experiencias'\r\n );\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n (error) => {\r\n this.alert.message =\r\n error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n }\r\n );\r\n }\r\n this.dialogRef = null;\r\n },\r\n },\r\n });\r\n }\r\n\r\n editExperience(experienceId) {\r\n this.experienceService\r\n .getExperience(experienceId, this.translate.currentLang ? this.translate.currentLang : 'es' )\r\n .subscribe((experience: Experience) => {\r\n this.experience = experience;\r\n this.experienceForm.get('name').setValue(experience.name);\r\n this.experienceForm.get('promoCode').setValue(experience.promoCode);\r\n this.experienceForm\r\n .get('url')\r\n .setValue(experience.url ? experience.url : '');\r\n this.experienceForm\r\n .get('urlButtonText')\r\n .setValue(experience.urlButtonText);\r\n this.experienceForm.get('description').setValue(experience.description);\r\n this.experienceForm.get('duration').setValue(experience.duration);\r\n this.experienceForm\r\n .get('promotionType')\r\n .setValue(experience.promotionType);\r\n this.experienceForm.get('promotion').setValue(experience.promotion);\r\n this.experienceForm\r\n .get('sustainableSeal')\r\n .setValue(experience.sustainableSeal);\r\n this.experienceForm\r\n .get('reviewTripadvisor')\r\n .setValue(experience.reviewTripadvisor);\r\n this.experienceForm\r\n .get('reviewGetyourguide')\r\n .setValue(experience.reviewGetyourguide);\r\n this.experienceForm\r\n .get('seasonStartMonth')\r\n .setValue(experience.seasonStartMonth);\r\n this.experienceForm\r\n .get('seasonEndMonth')\r\n .setValue(experience.seasonEndMonth);\r\n const experiences = [];\r\n experience.languages.forEach((language) => {\r\n experiences.push(language['@id']);\r\n });\r\n this.experienceForm.get('languages').setValue(experiences);\r\n\r\n\r\n const categories = [];\r\n const categoriesObject = [];\r\n const subcategories = [];\r\n\r\n\r\n if (experience.mediaExperiencesVideos && experience.mediaExperiencesVideos.length > 0) {\r\n experience.mediaExperiencesVideos.forEach((video) => {\r\n this.uploadedVideos.push(video);\r\n });\r\n }\r\n\r\n\r\n experience.categories.forEach((category) => {\r\n\r\n if (category.parents.length == 0) {\r\n categories.push(category['@id']);\r\n categoriesObject.push(category);\r\n } else {\r\n\r\n subcategories.push(category['@id']);\r\n this.subcategories.push(category);\r\n }\r\n\r\n });\r\n\r\n this.experienceForm.get('categories').setValue(categories);\r\n\r\n this.experienceForm.get('subcategories').setValue(subcategories);\r\n\r\n setTimeout(() => {\r\n if (categories.length > 0) {\r\n this.loadSubcategories(categories);\r\n }\r\n }, 1000);\r\n\r\n const tags = [];\r\n if (experience.tags) {\r\n experience.tags.forEach((tag) => {\r\n tags.push(tag['@id']);\r\n });\r\n this.experienceForm.get('tags').setValue(tags);\r\n }\r\n this.experienceForm.get('country').setValue(experience.country);\r\n this.loadLocations(experience.country);\r\n this.experienceForm\r\n .get('location')\r\n .setValue(experience.location['@id']);\r\n\r\n if (this.experienceForm.get('location').value && experience.zones) {\r\n this.loadZones(this.experienceForm.get('location').value);\r\n\r\n var zonesIris = [];\r\n\r\n experience.zones.forEach((zone) => {\r\n zonesIris.push(zone['@id']);\r\n });\r\n\r\n this.experienceForm.get('zones').setValue(zonesIris);\r\n\r\n }\r\n\r\n this.mediaExperiences.length = 0;\r\n this.uploadedFiles.length = 0;\r\n experience.mediaExperiences.forEach((mediaExperience) => {\r\n this.mediaExperiences.push({\r\n url: '/assets/experience/files/' + mediaExperience['contentUrl'],\r\n id: mediaExperience['@id'],\r\n imageId: mediaExperience['id']\r\n });\r\n this.uploadedFiles.push(mediaExperience['@id']);\r\n });\r\n\r\n this.experienceForm\r\n .get('mediaExperiences')\r\n .setValue(this.uploadedFiles);\r\n\r\n // this.expandedMediaExperiences.length = 0;\r\n // experience.mediaExperiences.forEach((mediaExperience) => {\r\n // this.expandedMediaExperiences.push({\r\n // url: '/assets/experience/files/' + mediaExperience['contentUrl'],\r\n // id: mediaExperience['@id'],\r\n // });\r\n // this.uploadedFiles.push(mediaExperience['@id']);\r\n // });\r\n // this.experienceForm\r\n // .get('expandedMediaExperiences')\r\n // .setValue(this.uploadedFiles);\r\n\r\n this.experienceForm.get('whyUs').setValue(experience.whyUs);\r\n this.experienceForm.get('includes').setValue(experience.includes);\r\n this.experienceForm.get('notIncludes').setValue(experience.notIncludes);\r\n this.experienceForm.get('moreInfo').setValue(experience.moreInfo);\r\n this.experienceForm.get('carryInfo').setValue(experience.carryInfo);\r\n this.experienceForm.get('persons').setValue(experience.persons);\r\n this.experienceForm\r\n .get('cancellation')\r\n .setValue(experience.cancellation);\r\n this.experienceForm.get('price').setValue(experience.price);\r\n this.experienceForm.get('slug').setValue(experience.slug);\r\n this.experienceForm.get('bookingEngine').setValue(experience.bookingEngine);\r\n this.experienceForm.get('bookingEngineWidget').setValue(experience.bookingEngineWidget);\r\n this.experienceForm\r\n .get('fareharborId')\r\n .setValue(experience.fareharborId);\r\n this.experienceForm.get('turitopId').setValue(experience.turitopId);\r\n this.experienceForm.get('bokunId').setValue(experience.bokunId);\r\n this.experienceForm.get('rezdyId').setValue(experience.rezdyId);\r\n this.experienceForm.get('donicusId').setValue(experience.donicusId);\r\n this.experienceForm.get('weekDays').setValue(experience.weekDays);\r\n this.experienceForm.get('typePrice').setValue(experience.typePrice);\r\n this.experienceForm.get('status').setValue(experience.status);\r\n this.experienceForm.get('currency').setValue(experience.currency);\r\n this.experienceForm\r\n .get('descriptionExtended')\r\n .setValue(experience.descriptionExtended);\r\n this.experienceForm.get('highlights').setValue(experience.highlights);\r\n // this.convertDate(\r\n // this.experienceForm\r\n // .get('toDate')\r\n // .setValue(this.convertDate(experience.toDate))\r\n // );\r\n // this.convertDate(\r\n // this.experienceForm\r\n // .get('fromDate')\r\n // .setValue(this.convertDate(experience.fromDate))\r\n // );\r\n\r\n if (experience.modalities.length > 0) {\r\n this.modalities = experience.modalities;\r\n\r\n experience.modalities.forEach((modality, index) => {\r\n modality.pickupStr = modality.pickup.toString();\r\n this.isExpanded.push(false);\r\n });\r\n\r\n }\r\n\r\n this.setRelations();\r\n this.setWeekDays(experience.weekDays);\r\n this.experienceForm.get('months').setValue(experience.months);\r\n this.setMonths(experience.weekDays);\r\n this.editorTemplate = this.experienceForm.get('descriptionExtended')\r\n this.title = 'Editar experiencia: '\r\n });\r\n\r\n\r\n }\r\n\r\n createModalities() {\r\n\r\n if (this.modalitiesDelete.length > 0) {\r\n this.modalitiesDelete.forEach((modality, index) => {\r\n this.experienceService.deleteModality(modality).subscribe((result) => {\r\n });\r\n });\r\n }\r\n\r\n if (this.modalities.length > 0) {\r\n\r\n this.modalities.forEach((modality, index) => {\r\n\r\n modality.bookingEngineId = Number(modality.bookingEngineId);\r\n\r\n if (modality.pickupStr == \"true\" || modality.pickupStr == \"Si\" || modality.pickupStr == \"si\" && modality.pickup != false) {\r\n modality.pickup = true;\r\n modality.pickupStr = null;\r\n\r\n } else {\r\n modality.pickup = false;\r\n modality.pickupStr = null;\r\n }\r\n\r\n if (modality['@id'] != null && modality['@id'] != undefined) {\r\n this.experienceService.putModality(modality['@id'], modality).subscribe((modality) => {\r\n\r\n this.modalitiesIris.push(modality['@id']);\r\n\r\n // if (this.modalities.length == this.modalitiesIris.length) {\r\n // this.updateExperience();\r\n // } else {\r\n // //todo: Update de la experiencia cuando la guardamos por segunda vez\r\n // this.updateExperience();\r\n // }\r\n\r\n });\r\n\r\n } else {\r\n\r\n modality.experience = modality.experience ? modality.experience : null;\r\n\r\n if (modality.title != null && modality.title != undefined) {\r\n\r\n this.experienceService.postModality(modality).subscribe((modality) => {\r\n this.modalitiesIris.push(modality['@id']);\r\n // if (this.modalities.length == this.modalitiesIris.length) {\r\n // this.updateExperience();\r\n // }\r\n });\r\n } else {\r\n // if (this.modalities.length == this.modalitiesIris.length) {\r\n // this.updateExperience();\r\n // }\r\n }\r\n }\r\n if (index == this.modalities.length - 1) {\r\n this.updateExperience();\r\n }\r\n });\r\n } else {\r\n this.updateExperience();\r\n }\r\n\r\n }\r\n\r\n async updateExperience() {\r\n\r\n this.experienceForm.markAllAsTouched();\r\n\r\n let auxStatus = '';\r\n if (this.experienceForm.valid) {\r\n auxStatus = 'completa';\r\n } else {\r\n auxStatus = 'incompleta';\r\n }\r\n\r\n let slug = await this.convertSlug(this.experienceForm.get('name').value);\r\n\r\n let modalitiesIris = this.modalitiesIris;\r\n\r\n const categories = [];\r\n const subcategories = [];\r\n\r\n this.experienceForm.get('categories').value.forEach((category) => {\r\n categories.push(category);\r\n });\r\n\r\n this.experienceForm.get('subcategories').value.forEach((subcategory) => {\r\n categories.push(subcategory);\r\n });\r\n\r\n let months = [];\r\n\r\n if (this.experienceForm.get('months').value == 12) {\r\n months = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n } else {\r\n months = this.experienceForm.get('months').value;\r\n }\r\n\r\n // If 'Todas las zonas' is selected, then push to the api all the IRI's of the location zones\r\n // If it's not selected, then push the value of the formControl\r\n let allZones = [];\r\n if (this.experienceForm.get('zones').value == 'all-zones') {\r\n this.zones.forEach(zone => {\r\n allZones.push(zone['@id'])\r\n });\r\n }\r\n\r\n const experience: any = {\r\n name: this.experienceForm.get('name').value,\r\n promoCode: this.experienceForm.get('promoCode').value,\r\n url: this.experienceForm.get('url').value,\r\n urlButtonText: this.experienceForm.get('urlButtonText').value,\r\n description: this.experienceForm.get('description').value,\r\n duration: this.experienceForm.get('duration').value,\r\n promotionType: this.experienceForm.get('promotionType').value,\r\n promotion: this.experienceForm.get('promotion').value,\r\n sustainableSeal: this.experienceForm.get('sustainableSeal').value,\r\n reviewTripadvisor: this.experienceForm.get('reviewTripadvisor').value,\r\n reviewGetyourguide: this.experienceForm.get('reviewGetyourguide').value,\r\n seasonStartMonth: this.experienceForm.get('seasonStartMonth').value,\r\n seasonEndMonth: this.experienceForm.get('seasonEndMonth').value,\r\n mediaExperiences: this.experienceForm.get('mediaExperiences').value,\r\n // maker: this.experienceForm.get('maker').value,\r\n languages: this.experienceForm.get('languages').value,\r\n categories: categories,\r\n tags: this.experienceForm.get('tags').value,\r\n country: this.experienceForm.get('country').value,\r\n location: this.experienceForm.get('location').value,\r\n zones: allZones.length == 0 ? this.experienceForm.get('zones').value : allZones,\r\n whyUs: this.experienceForm.get('whyUs').value,\r\n price: parseFloat(this.experienceForm.get('price').value),\r\n persons: this.experienceForm.get('persons').value,\r\n cancellation: this.experienceForm.get('cancellation').value,\r\n includes: this.experienceForm.get('includes').value,\r\n notIncludes: this.experienceForm.get('notIncludes').value,\r\n moreInfo: this.experienceForm.get('moreInfo').value,\r\n carryInfo: this.experienceForm.get('carryInfo').value,\r\n bookingEngine: this.experienceForm.get('bookingEngine').value,\r\n bookingEngineWidget: this.experienceForm.get('bookingEngineWidget').value,\r\n fareharborId: this.experienceForm.get('fareharborId').value,\r\n turitopId: this.experienceForm.get('turitopId').value,\r\n bokunId: this.experienceForm.get('bokunId').value,\r\n rezdyId: this.experienceForm.get('rezdyId').value,\r\n donicusId: this.experienceForm.get('donicusId').value,\r\n weekDays: this.experienceForm.get('weekDays').value,\r\n typePrice: this.experienceForm.get('typePrice').value,\r\n // toDate: this.convertDate(this.experienceForm.get('toDate').value),\r\n // fromDate: this.convertDate(this.experienceForm.get('fromDate').value),\r\n status: auxStatus,\r\n currency: this.experienceForm.get('currency').value,\r\n descriptionExtended: this.experienceForm.get('descriptionExtended').value,\r\n highlights: this.experienceForm.get('highlights').value,\r\n modalities: modalitiesIris,\r\n microsheetCompleted: this.isMicroSheetValid,\r\n sheetCompleted: this.isWebSheetValid,\r\n pinCompleted: this.isPinValid,\r\n months: months,\r\n monthsString: months.join(',')\r\n // tripAdv: this.experienceForm.get('tripAdv').value\r\n };\r\n\r\n if (this.translate.currentLang ? this.translate.currentLang : this.translate.getDefaultLang() == 'es') {\r\n experience.slug = slug\r\n }\r\n\r\n var editedExperience = new Experience(experience);\r\n\r\n var langEdited = '';\r\n\r\n if(this.translate.currentLang === 'es' || this.translate.currentLang === 'en'){\r\n\r\n langEdited = this.translate.currentLang === 'es' ? '(Español)' : '(Inglés)';\r\n\r\n } else {\r\n\r\n langEdited = '(Alemán)';\r\n\r\n }\r\n\r\n // var langEdited = this.translate.currentLang === 'es' ? '(Español)' : \r\n\r\n\r\n // if (this.mediaExperiences.length > 4) {\r\n this.experienceService\r\n .putExperience(\r\n this.experience.id,\r\n editedExperience,\r\n this.translate.currentLang ? this.translate.currentLang : this.translate.getDefaultLang()\r\n )\r\n .subscribe(\r\n (result) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = 'Experiencia guardada correctamente';\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n // Trigger modal opening\r\n this.openAlert('¡Experiencia Guardada! ' + langEdited , 'w-300', true)\r\n },\r\n (error) => {\r\n // this.alert.message = error.message;\r\n // this.alert.type = 2;\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n // console.log(\"ERROR: \", error.error['hydra:description']);\r\n this.openAlert((error.error ? error.error['hydra:description'] : '¡Ha habido un error!'), 'w-300', false)\r\n },\r\n () => console.log('Complete')\r\n );\r\n // } else {\r\n // this.openAlert('Mínimo 5 y máximo 10 imagenes', 'w-300', false)\r\n // }\r\n\r\n }\r\n\r\n async createExperience() {\r\n this.experienceForm.markAllAsTouched();\r\n\r\n let auxStatus = '';\r\n if (this.experienceForm.valid) {\r\n auxStatus = 'completa';\r\n } else {\r\n auxStatus = 'incompleta';\r\n }\r\n\r\n const categories = [];\r\n const categoriesObject = [];\r\n const subcategories = [];\r\n\r\n this.experienceForm.get('categories').value.forEach((category) => {\r\n categories.push(category);\r\n });\r\n\r\n this.experienceForm.get('subcategories').value.forEach((subcategory) => {\r\n categories.push(subcategory);\r\n });\r\n\r\n let months = [];\r\n\r\n if (this.experienceForm.get('months').value == 12) {\r\n months = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n } else {\r\n months = this.experienceForm.get('months').value;\r\n }\r\n\r\n let allZones = [];\r\n if (this.experienceForm.get('zones').value == 'all-zones') {\r\n this.zones.forEach(zone => {\r\n allZones.push(zone['@id'])\r\n });\r\n }\r\n\r\n\r\n let slug = await this.convertSlug(this.experienceForm.get('name').value);\r\n const experience = {\r\n name: this.experienceForm.get('name').value,\r\n promoCode: this.experienceForm.get('promoCode').value,\r\n url: this.experienceForm.get('url').value,\r\n urlButtonText: this.experienceForm.get('urlButtonText').value,\r\n description: this.experienceForm.get('description').value,\r\n duration: this.experienceForm.get('duration').value,\r\n promotionType: this.experienceForm.get('promotionType').value,\r\n promotion: this.experienceForm.get('promotion').value,\r\n sustainableSeal: this.experienceForm.get('sustainableSeal').value,\r\n reviewTripadvisor: this.experienceForm.get('reviewTripadvisor').value,\r\n reviewGetyourguide: this.experienceForm.get('reviewGetyourguide').value,\r\n seasonStartMonth: this.experienceForm.get('seasonStartMonth').value,\r\n seasonEndMonth: this.experienceForm.get('seasonEndMonth').value,\r\n mediaExperiences: this.experienceForm.get('mediaExperiences').value,\r\n maker: this.experienceForm.get('maker').value,\r\n languages: this.experienceForm.get('languages').value,\r\n categories: categories,\r\n\r\n tags: this.experienceForm.get('tags').value,\r\n country: this.experienceForm.get('country').value,\r\n location: this.experienceForm.get('location').value,\r\n zones: allZones.length == 0 ? this.experienceForm.get('zones').value : allZones,\r\n whyUs: this.experienceForm.get('whyUs').value,\r\n persons: this.experienceForm.get('persons').value,\r\n cancellation: this.experienceForm.get('cancellation').value,\r\n includes: this.experienceForm.get('includes').value,\r\n notIncludes: this.experienceForm.get('notIncludes').value,\r\n moreInfo: this.experienceForm.get('moreInfo').value,\r\n carryInfo: this.experienceForm.get('carryInfo').value,\r\n price: parseFloat(this.experienceForm.get('price').value),\r\n slug: slug,\r\n bookingEngine: this.experienceForm.get('bookingEngine').value,\r\n bookingEngineWidget: this.experienceForm.get('bookingEngineWidget').value,\r\n fareharborId: this.experienceForm.get('fareharborId').value,\r\n bokunId: this.experienceForm.get('bokunId').value,\r\n turitopId: this.experienceForm.get('turitopId').value,\r\n rezdyId: this.experienceForm.get('rezdyId').value,\r\n donicusId: this.experienceForm.get('donicusId').value,\r\n weekDays: this.experienceForm.get('weekDays').value,\r\n typePrice: this.experienceForm.get('typePrice').value,\r\n // toDate: this.convertDate(this.experienceForm.get('toDate').value),\r\n // fromDate: this.convertDate(this.experienceForm.get('fromDate').value),\r\n status: auxStatus,\r\n currency: this.experienceForm.get('currency').value,\r\n descriptionExtended: this.experienceForm.get('descriptionExtended').value,\r\n highlights: this.experienceForm.get('highlights').value ? this.experienceForm.get('highlights').value : [],\r\n microsheetCompleted: this.isMicroSheetValid,\r\n sheetCompleted: this.isWebSheetValid,\r\n pinCompleted: this.isPinValid,\r\n months: months,\r\n monthsString: months.join(',')\r\n // tripAdv: this.experienceForm.get('tripAdv').value\r\n };\r\n this.experienceService.postExperience(experience).subscribe(\r\n (result) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = 'Experiencia creada correctamente';\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n this.createForm();\r\n this.experience = result;\r\n this.saveModalitiesCreate();\r\n this.openAlert('Experiencia Creada!', 'w-300', true)\r\n },\r\n (error) => {\r\n // this.alert.message = error.message;\r\n // this.alert.type = 2;\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n }\r\n );\r\n }\r\n\r\n saveModalitiesCreate() {\r\n if (this.modalities.length > 0) {\r\n\r\n this.modalities.forEach((modality, index) => {\r\n\r\n modality.experience = this.experience['@id'];\r\n modality.bookingEngineId = Number(modality.bookingEngineId);\r\n\r\n if (modality.pickupStr == \"true\") {\r\n modality.pickup = true;\r\n } else {\r\n modality.pickup = false;\r\n }\r\n\r\n if (modality.title != null && modality.title != undefined && modality.title != \"\") {\r\n this.experienceService.postModality(modality).subscribe((modality) => {\r\n this.modalitiesIris.push(modality['@id']);\r\n if (index == this.modalities.length - 1) {\r\n location.replace(\r\n this.translate.getDefaultLang() + '/maker/admin/experiencias'\r\n );\r\n }\r\n });\r\n } else {\r\n location.replace(\r\n this.translate.getDefaultLang() + '/maker/admin/experiencias'\r\n );\r\n }\r\n\r\n });\r\n } else {\r\n location.replace(\r\n this.translate.getDefaultLang() + '/maker/admin/experiencias'\r\n );\r\n }\r\n }\r\n\r\n insertTag(event, type) {\r\n this[type + 'Selected'] = this.experienceForm.controls[type].value\r\n ? this.experienceForm.controls[type].value\r\n : [];\r\n\r\n if (event.target.value != '') {\r\n this[type + 'Selected'].push(event.target.value);\r\n }\r\n this.experienceForm.controls[type].setValue(this[type + 'Selected']);\r\n event.target.value = null;\r\n // this[type + 'Selected'] = this.experienceForm.controls[type].value;\r\n }\r\n\r\n onFileChanged(event) {\r\n if (\r\n event.target.files[0].type === 'image/jpeg' ||\r\n event.target.files[0].type === 'image/png'\r\n ) {\r\n this.selectedFile = event.target.files[0];\r\n }\r\n }\r\n\r\n onFileChange(eventFiles) {\r\n if (eventFiles.target.files && eventFiles.target.files[0]) {\r\n const filesAmount = eventFiles.target.files.length;\r\n for (let i = 0; i < filesAmount; i++) {\r\n const reader = new FileReader();\r\n this.selectedFiles.push(eventFiles.target.files[i]);\r\n\r\n reader.onload = (event: any) => {\r\n this.images.push({\r\n url: event.target.result,\r\n name: eventFiles.target.files[i].name,\r\n });\r\n };\r\n\r\n reader.readAsDataURL(eventFiles.target.files[i]);\r\n }\r\n }\r\n }\r\n\r\n\r\n onVideoSelected(event, type) {\r\n\r\n /* get the pdf file from the event input */\r\n const file = event.target.files[0];\r\n\r\n //file . size in MB\r\n\r\n\r\n\r\n file.typeOf = type;\r\n\r\n file.experience = this.experience['@id'];\r\n\r\n var extraData = {\r\n typeOf: type,\r\n experience: this.experience.id\r\n };\r\n\r\n\r\n\r\n\r\n // video formats: .avi, .mp4, .mov, .webp\r\n\r\n if (file.type != \"video/mp4\" && file.type != \"video/webm\" && file.type != \"video/ogg\" && file.type != \"video/avi\" && file.type != \"video/mov\" && file.type != \"video/webp\" && file.type != \"video/quicktime\") {\r\n this.alert.message = \"El formato del video debe ser .mp4, .webm o .ogg\";\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n return;\r\n }\r\n\r\n\r\n //postVideo\r\n this.postVideo(file, extraData);\r\n\r\n //si type está dentro de selectedPdfFiles.typeOf, borrarlo y sustituirlo por el nuevo\r\n /* if(this.selectedPdfFiles.length > 0){\r\n for(var i = 0; i < this.selectedPdfFiles.length; i++){\r\n if(this.selectedPdfFiles[i].typeOf == type){\r\n \r\n //delete PDF\r\n this.mediaMakerService.deleteMediaMakers(this.selectedPdfFiles[i].id).subscribe(() => {\r\n console.log(\"PDF deleted\");\r\n this.selectedPdfFiles.splice(i, 1);\r\n });\r\n\r\n\r\n }\r\n }\r\n \r\n } */\r\n\r\n\r\n\r\n }\r\n\r\n postVideo(file, extraData) {\r\n\r\n this.loadingVideo = true;\r\n\r\n this.mediaExperienceService.mediaExperiencesVideosUpload(file, extraData).subscribe(\r\n (result) => {\r\n\r\n if (result.body) {\r\n this.uploadedVideos.push(result.body);\r\n this.loadingVideo = false;\r\n }\r\n\r\n this.progressVideo = Math.round((100 * result.loaded) / result.total);\r\n\r\n\r\n },\r\n (error) => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n }\r\n );\r\n\r\n }\r\n\r\n deleteVideo(video) {\r\n\r\n this.mediaExperienceService.deleteMediaExperiencesVideos(video['@id']).subscribe(() => {\r\n const index = this.uploadedVideos.indexOf(video);\r\n this.uploadedVideos.splice(index, 1);\r\n });\r\n\r\n }\r\n\r\n onUpload() {\r\n const index = 0;\r\n this.selectedFiles.forEach((file) => {\r\n this.mediaExperienceService.mediaExperiencesUpload(file).subscribe(\r\n (result) => {\r\n this.handleProgress(result, file.name, index);\r\n },\r\n (error) => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n }\r\n );\r\n });\r\n }\r\n\r\n handleProgress(event, fileName, index) {\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round((100 * event.loaded) / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round((100 * event.loaded) / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.Response) {\r\n this.uploadComplete = true;\r\n this.uploadingProgressing = false;\r\n this.serverResponse = event.body;\r\n\r\n this.uploadedFiles.push(event.body['@id']);\r\n\r\n this.mediaExperiences.push({\r\n url: event.body['contentUrl'],\r\n id: event.body['@id'],\r\n position: this.mediaExperiences.length + 1\r\n });\r\n\r\n this.selectedFiles.splice(index, 1);\r\n this.images = this.images.filter((el) => el.name !== fileName);\r\n\r\n this.alert.type = 1;\r\n this.alert.message = 'imágen guardada correctamente';\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n\r\n this.experienceForm.get('mediaExperiences').setValue(this.uploadedFiles);\r\n }\r\n }\r\n\r\n loadLocations(countryCode: string) {\r\n this.locationService\r\n .getLocationsFiltered(\r\n { country: countryCode },\r\n this.translate.currentLang ? this.translate.currentLang : this.translate.getDefaultLang()\r\n )\r\n .subscribe((locations) => {\r\n this.locations = locations;\r\n this.filteredLocations.next(this.locations.slice());\r\n });\r\n }\r\n\r\n loadZones(locationId: string) {\r\n this.locationService\r\n .getZonesFiltered(locationId, this.translate.currentLang ? this.translate.currentLang : this.translate.getDefaultLang())\r\n .subscribe((zones) => {\r\n this.zones = zones;\r\n this.filteredZone.next(this.zones.slice());\r\n });\r\n }\r\n\r\n deleteMediaExperience(image, uploaded) {\r\n if (uploaded) {\r\n this.mediaExperienceService\r\n .deleteMediaExperiences(image)\r\n .subscribe(() => {\r\n const index = this.uploadedFiles.indexOf(image);\r\n this.uploadedFiles.splice(index, 1);\r\n this.mediaExperiences = this.mediaExperiences.filter(\r\n (el) => el.id !== image\r\n );\r\n this.experienceForm\r\n .get('mediaExperiences')\r\n .setValue(this.uploadedFiles);\r\n });\r\n } else {\r\n this.selectedFiles = this.selectedFiles.filter((el) => el.name !== image);\r\n this.images = this.images.filter((el) => el.name !== image);\r\n }\r\n console.log(this.mediaExperiences);\r\n }\r\n\r\n deleteExpandedMediaExperience(image, uploaded) {\r\n if (uploaded) {\r\n this.mediaExperienceService\r\n .deleteMediaExperiences(image)\r\n .subscribe(() => {\r\n const index = this.uploadedFiles.indexOf(image);\r\n this.uploadedFiles.splice(index, 1);\r\n this.expandedMediaExperiences = this.expandedMediaExperiences.filter(\r\n (el) => el.id !== image\r\n );\r\n this.experienceForm\r\n .get('expandedMediaExperiences')\r\n .setValue(this.uploadedFiles);\r\n });\r\n } else {\r\n this.selectedFiles = this.selectedFiles.filter((el) => el.name !== image);\r\n this.images = this.images.filter((el) => el.name !== image);\r\n }\r\n this.editExperience(this.activatedRoute.snapshot.params.id)\r\n }\r\n\r\n onUploadedImage(uploadedImage: object, formControlName: string) {\r\n this.mediaExperiences.push({\r\n url: uploadedImage['url'],\r\n id: uploadedImage['id']\r\n });\r\n this.expandedMediaExperiences.push({\r\n url: uploadedImage['url'],\r\n id: uploadedImage['id']\r\n });\r\n this.uploadedFiles.push(uploadedImage['id']);\r\n this.experienceForm.get(formControlName).patchValue(this.uploadedFiles);\r\n }\r\n\r\n onExpandedSheetUploadedImage(uploadedImage: object, formControlName: string) {\r\n if (this.mediaExperiences.length < 10) {\r\n this.mediaExperiences.push({\r\n url: uploadedImage['url'],\r\n id: uploadedImage['id'],\r\n });\r\n }\r\n this.expandedMediaExperiences.push({\r\n url: uploadedImage['url'],\r\n id: uploadedImage['id'],\r\n });\r\n this.uploadedFiles.push(uploadedImage['id']);\r\n this.experienceForm.get(formControlName).patchValue(this.uploadedFiles);\r\n }\r\n\r\n changeValidation(event) {\r\n if (event) {\r\n this.experienceForm.get('promotion').setValidators(Validators.required);\r\n this.experienceForm.updateValueAndValidity();\r\n this.experienceForm.get('promotion').setErrors({ incorrect: true });\r\n } else {\r\n this.experienceForm.get('promotion').clearValidators();\r\n this.experienceForm.updateValueAndValidity();\r\n }\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach((key) => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return (\r\n this.experienceForm.get(formValue).invalid &&\r\n this.experienceForm.get(formValue).touched\r\n );\r\n }\r\n\r\n changeLanguage(language) {\r\n // this.translate.setDefaultLang(language);\r\n this.translate.currentLang = language;\r\n setTimeout(() => {\r\n this.editExperience(this.activatedRoute.snapshot.params.id);\r\n }, 100);\r\n setTimeout(() => {\r\n if (!this.experience.name) {\r\n this.translateAll();\r\n }\r\n }, 1000);\r\n }\r\n /* convertToSlug(text) {\r\n return text\r\n .toLowerCase()\r\n .normalize('NFD') // Normalizar caracteres con acentos\r\n .replace(/[\\u0300-\\u036f]/g, '') // Eliminar diacríticos\r\n .replace(/ /g, '-') // Reemplazar espacios con guiones\r\n .replace(/[^\\wñáéíóúü-]+/g, '') // Eliminar caracteres especiales excepto guiones y letra \"ñ\"\r\n .replace(/--+/g, '-') // Reemplazar múltiples guiones con uno solo\r\n .replace(/^-+|-+$/g, '') // Eliminar guiones al principio y al final del texto\r\n .replace(/&/g, ''); //eliminar &\r\n\r\n } */\r\n\r\n convertDate(date) {\r\n var dateObj = new Date(date);\r\n var year = dateObj.getFullYear();\r\n var month = String(dateObj.getMonth() + 1).padStart(2, '0');\r\n var day = String(dateObj.getDate()).padStart(2, '0');\r\n\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n setWeekDays(event: any) {\r\n if (event.length > 0) {\r\n if (event[0] == 0) {\r\n this.weekDays = [{ value: 0, text: 'Todos los días' }];\r\n } else {\r\n this.weekDays = [\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n }\r\n } else {\r\n this.weekDays = [\r\n { value: 0, text: 'Todos los días' },\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n }\r\n }\r\n\r\n setMonths(event: any) {\r\n if (event.length > 0) {\r\n if (event[0] == 12) {\r\n this.monthsList = [{ value: 12, text: 'Todos los meses' }];\r\n } else {\r\n this.monthsList = [\r\n { value: 0, text: 'Enero' },\r\n { value: 1, text: 'Febrero' },\r\n { value: 2, text: 'Marzo' },\r\n { value: 3, text: 'Abril' },\r\n { value: 4, text: 'Mayo' },\r\n { value: 5, text: 'Junio' },\r\n { value: 6, text: 'Julio' },\r\n { value: 7, text: 'Agosto' },\r\n { value: 8, text: 'Septiembre' },\r\n { value: 9, text: 'Octubre' },\r\n { value: 10, text: 'Noviembre' },\r\n { value: 11, text: 'Diciembre' },\r\n ];\r\n }\r\n } else {\r\n this.monthsList = [\r\n { value: 12, text: 'Todos los meses' },\r\n { value: 0, text: 'Enero' },\r\n { value: 1, text: 'Febrero' },\r\n { value: 2, text: 'Marzo' },\r\n { value: 3, text: 'Abril' },\r\n { value: 4, text: 'Mayo' },\r\n { value: 5, text: 'Junio' },\r\n { value: 6, text: 'Julio' },\r\n { value: 7, text: 'Agosto' },\r\n { value: 8, text: 'Septiembre' },\r\n { value: 9, text: 'Octubre' },\r\n { value: 10, text: 'Noviembre' },\r\n { value: 11, text: 'Diciembre' }\r\n ];\r\n }\r\n }\r\n\r\n translateAll() {\r\n this.experienceService\r\n .getExperience(this.experience.id, 'es')\r\n .subscribe((experience: Experience) => {\r\n let name = experience.name;\r\n // let slug = experience.slug;\r\n let description = experience.description;\r\n let descriptionExtended = experience.descriptionExtended;\r\n let url = experience.url;\r\n let whyUs = experience.whyUs;\r\n let cancellation = experience.cancellation;\r\n let includes = experience.includes;\r\n let notIncludes = experience.notIncludes;\r\n let carryInfo = experience.carryInfo;\r\n let promotion = experience.promotion;\r\n\r\n this.translateIA([name], 'name');\r\n // this.translateIA([slug], 'slug');\r\n this.translateIA([description], 'description');\r\n this.translateIA([descriptionExtended], 'descriptionExtended');\r\n this.translateIA([whyUs], 'whyUs');\r\n this.translateIA([cancellation], 'cancellation');\r\n this.translateIA(includes, 'includes');\r\n this.translateIA(notIncludes, 'notIncludes');\r\n this.translateIA(carryInfo, 'carryInfo');\r\n this.translateIA([promotion], 'promotion');\r\n });\r\n }\r\n\r\n translateIA(field, type) {\r\n let isArray = ['includes', 'notIncludes', 'carryInfo'];\r\n this.experienceService.translateExperience({ text: field, language: this.translate.currentLang }).subscribe(\r\n (response) => {\r\n if (!isArray.includes(type)) {\r\n this.experienceForm\r\n .get(type)\r\n .setValue(response['response'][0]['text']);\r\n if (type == 'description') {\r\n this.descriptionText = response['response'][0]['text'];\r\n }\r\n } else {\r\n let value = [];\r\n response['response'].forEach((translation) => {\r\n value.push(translation.text);\r\n this.experienceForm.get(type).setValue(value);\r\n });\r\n }\r\n // Manejar la respuesta de la API aquí\r\n },\r\n (error) => {\r\n // Manejar errores de solicitud aquí\r\n }\r\n );\r\n }\r\n\r\n importFrom(web) {\r\n this.experienceService\r\n .getExperienceByCivitatisId(this.civitatisId)\r\n .subscribe((response) => {\r\n let experience = {\r\n maker: '/makers/b6e58985-d03d-11eb-be07-0a30d442b088',\r\n };\r\n const experienceData = new Experience(experience);\r\n this.experienceService\r\n .putExperience(response['hydra:member'][0]['id'], experienceData)\r\n .subscribe((response) => {\r\n this.router.navigateByUrl(\r\n this.translate.getDefaultLang() +\r\n '/maker/admin/editar-experiencia/' +\r\n response['id']\r\n );\r\n });\r\n });\r\n }\r\n\r\n addHighlight() {\r\n if (this.highlightsCount.length < 5) {\r\n this.highlightsCount.push(this.highlightsCount.length);\r\n }\r\n }\r\n\r\n pushHighlight(event) {\r\n this.highlights.push(event);\r\n }\r\n\r\n insertTagMax5(event, type) {\r\n this[type + 'Selected'] = this.experienceForm.controls[type].value\r\n ? this.experienceForm.controls[type].value\r\n : [];\r\n\r\n if (event.target.value != '' && this[type + 'Selected'].length < 5) {\r\n this[type + 'Selected'].push(event.target.value);\r\n }\r\n\r\n this.experienceForm.controls[type].setValue(this[type + 'Selected']);\r\n event.target.value = null;\r\n // this[type + 'Selected'] = this.experienceForm.controls[type].value;\r\n }\r\n\r\n addModality() {\r\n\r\n this.modalities.push({\r\n title: '',\r\n description: '',\r\n bookingEngineId: 0,\r\n prices: [{\r\n name: '',\r\n price: 0,\r\n }],\r\n pickup: false,\r\n pickupStr: '',\r\n duration: '',\r\n start: '',\r\n end: '',\r\n meetingPoint: '',\r\n location: '',\r\n experience: ''\r\n });\r\n\r\n this.isExpanded.push(false);\r\n\r\n }\r\n\r\n addNewPrice(index) {\r\n var objectPrice = {\r\n name: '',\r\n price: 0,\r\n };\r\n\r\n this.modalities[index].prices.push(objectPrice);\r\n\r\n }\r\n\r\n deletePrice(index, indexPrice) {\r\n this.modalities[index].prices.splice(indexPrice, 1);\r\n }\r\n\r\n deleteModality(index) {\r\n this.modalitiesDelete.push(this.modalities[index]['@id']);\r\n\r\n this.modalities.splice(index, 1);\r\n }\r\n\r\n loadSubcategories(categoriesId) {\r\n //avoid the variable categoriesSelected to be greater than 2 using categoriesId to find the new categories\r\n if (categoriesId.length > 2) {\r\n categoriesId.splice(2, 1);\r\n this.categoriesSelected = categoriesId;\r\n return;\r\n }\r\n\r\n var sub = [];\r\n this.subcategories = [];\r\n\r\n // get the this.categories from the array categoriesId\r\n this.allCategories.forEach((category) => {\r\n if (category.parents != null) {\r\n category.parents.forEach((parent) => {\r\n if (categoriesId.includes(parent['@id'])) {\r\n this.subcategories.push(category);\r\n }\r\n });\r\n }\r\n\r\n this.subcategories = this.subcategories.filter((thing, index, self) =>\r\n index === self.findIndex((t) => (\r\n t['@id'] === thing['@id']\r\n ))\r\n );\r\n });\r\n }\r\n\r\n validateTags(tags) {\r\n if (tags.length > 2) {\r\n tags.splice(2, 1);\r\n this.tagsSelected = tags;\r\n return;\r\n }\r\n }\r\n\r\n convertTimeToCustomFormat(inputTime: string): string {\r\n let formattedText;\r\n const [hours, minutes] = inputTime.split(':').map(part => parseInt(part, 10));\r\n\r\n if (minutes != 0) {\r\n formattedText = hours + ' h y ' + minutes + ' min'\r\n } else {\r\n formattedText = hours + ' h'\r\n }\r\n\r\n return formattedText;\r\n }\r\n\r\n openPreview(template: any, config: any) {\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n loadPreviewCategories() {\r\n this.allCategories.forEach(category => {\r\n this.experienceForm.get('categories').value.forEach(categoryIri => {\r\n if (categoryIri == category['@id']) {\r\n this.myPreviewCategories.push(category.name);\r\n }\r\n });\r\n });\r\n }\r\n\r\n loadPreviewSubcategories() {\r\n this.allCategories.forEach(subcategory => {\r\n this.experienceForm.get('subcategories').value.forEach(categoryIri => {\r\n if (categoryIri == subcategory['@id']) {\r\n this.myPreviewSubcategories\r\n .push(subcategory.name);\r\n }\r\n });\r\n });\r\n }\r\n\r\n loadPreviewLanguages() {\r\n this.languages.forEach(language => {\r\n this.experienceForm.get('languages').value.forEach(languageIri => {\r\n if (languageIri == language['@id']) {\r\n this.myPreviewLanguages.push(language.name);\r\n }\r\n });\r\n });\r\n }\r\n\r\n loadPreviewLocation() {\r\n this.allLocations.forEach(location => {\r\n if (this.experienceForm.get('location').value == location['@id']) {\r\n this.myPreviewLocation = location.name;\r\n }\r\n });\r\n }\r\n\r\n findTextByValue(array, targetValueArray) {\r\n let shownDays = '';\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n targetValueArray.forEach(targetValue => {\r\n if (array[i].value === targetValue) {\r\n shownDays += array[i].text + ', '\r\n }\r\n });\r\n }\r\n shownDays = shownDays.slice(0, -2);\r\n\r\n return shownDays\r\n }\r\n\r\n setCategoryTitle(experience) {\r\n let firstString = ''\r\n let secondString = ''\r\n if (experience.categories) {\r\n firstString = experience.categories.map(obj => obj.name).join(' / ')\r\n }\r\n if (experience.subcategories) {\r\n secondString = experience.subcategories.map(obj => obj.name).join(' / ')\r\n }\r\n return firstString + secondString;\r\n }\r\n\r\n setLanguagesTitle(experience) {\r\n return experience.languages.map(obj => obj.name).join(' , ')\r\n }\r\n\r\n checkMicroSheetContent() {\r\n let controlNames = ['name', 'url', 'description', 'duration', 'months', 'categories', 'languages', 'country', 'location', 'mediaExperiences']\r\n this.isMicroSheetValid = false;\r\n for (let controlName of controlNames) {\r\n if (this.experienceForm.get(controlName).valid) {\r\n this.isMicroSheetValid = true;\r\n } else {\r\n console.log(controlName);\r\n console.log(this.experienceForm.get(controlName).errors);\r\n\r\n this.isMicroSheetValid = false;\r\n break;\r\n }\r\n };\r\n }\r\n\r\n checkWebSheetContent() {\r\n let controlNames = ['descriptionExtended', 'whyUs', 'includes', 'notIncludes', 'carryInfo', 'persons']\r\n this.isWebSheetValid = false;\r\n for (let controlName of controlNames) {\r\n if (this.experienceForm.get(controlName).valid) {\r\n this.isWebSheetValid = true;\r\n } else {\r\n this.isWebSheetValid = false;\r\n break;\r\n }\r\n };\r\n }\r\n\r\n checkPinSheetContent() {\r\n\r\n var highlights = this.experienceForm.get('highlights').value;\r\n var currency = this.experienceForm.get('currency').value;\r\n\r\n if (this.experience != null && this.experience != undefined) {\r\n\r\n if (highlights && this.experience.modalities && this.experience.mediaExperiencesVideos && currency) {\r\n\r\n if (highlights.length > 0 && this.experience.modalities.length > 0 && this.experience.mediaExperiencesVideos.length > 0 && currency != null) {\r\n this.isPinValid = true;\r\n } else {\r\n this.isPinValid = false;\r\n }\r\n\r\n } else {\r\n this.isPinValid = false;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n async convertSlug(slug) {\r\n var slugCleared = slug;\r\n //clear accents (A-U)\r\n slugCleared = slugCleared.replace(/[ÀÁÂÃÄÅ]/g, \"A\");\r\n slugCleared = slugCleared.replace(/[àáâãäå]/g, \"a\");\r\n slugCleared = slugCleared.replace(/[ÈÉÊË]/g, \"E\");\r\n slugCleared = slugCleared.replace(/[éèêë]/g, \"e\");\r\n slugCleared = slugCleared.replace(/[íìîï]/g, \"i\");\r\n slugCleared = slugCleared.replace(/[ÍÌÎÏ]/g, \"I\");\r\n slugCleared = slugCleared.replace(/[óòôõö]/g, \"o\");\r\n slugCleared = slugCleared.replace(/[ÓÒÔÕÖ]/g, \"O\");\r\n slugCleared = slugCleared.replace(/[úùûü]/g, \"u\");\r\n slugCleared = slugCleared.replace(/[ÚÙÛÜ]/g, \"U\");\r\n slugCleared = slugCleared.replace(/[ñ]/g, \"n\");\r\n slugCleared = slugCleared.replace(/[Ñ]/g, \"N\");\r\n slugCleared = slugCleared.replace(/[ç]/g, \"c\");\r\n slugCleared = slugCleared.replace(/[Ç]/g, \"C\");\r\n slugCleared = slugCleared.replace(/[ÿý]/g, \"y\");\r\n slugCleared = slugCleared.replace(/[Ý]/g, \"Y\");\r\n slugCleared = slugCleared.replace(/[’]/g, \"\");\r\n slugCleared = slugCleared.replace(/[‘]/g, \"\");\r\n slugCleared = slugCleared.replace(/[“]/g, \"\");\r\n slugCleared = slugCleared.replace(/[”]/g, \"\");\r\n slugCleared = slugCleared.replace(/[«]/g, \"\");\r\n slugCleared = slugCleared.replace(/[»]/g, \"\");\r\n slugCleared = slugCleared.replace(/[—]/g, \"-\");\r\n slugCleared = slugCleared.replace(/[·]/g, \"-\");\r\n slugCleared = slugCleared.replace(/[\\/]/g, \"-\");\r\n slugCleared = slugCleared.replace(/[\\\\]/g, \"-\");\r\n slugCleared = slugCleared.replace(/[?]/g, \"\");\r\n slugCleared = slugCleared.replace(/[¿]/g, \"\");\r\n slugCleared = slugCleared.replace(/[!]/g, \"\");\r\n slugCleared = slugCleared.replace(/[¡]/g, \"\");\r\n slugCleared = slugCleared.replace(/[º]/g, \"\");\r\n slugCleared = slugCleared.replace(/[ª]/g, \"\");\r\n slugCleared = slugCleared.replace(/[°]/g, \"\");\r\n slugCleared = slugCleared.replace(/[&]/g, \"-\");\r\n slugCleared = slugCleared.replace(/[<]/g, \"\");\r\n slugCleared = slugCleared.replace(/[>]/g, \"\");\r\n slugCleared = slugCleared.replace(/[;]/g, \"\");\r\n slugCleared = slugCleared.replace(/[']/g, \"\");\r\n slugCleared = slugCleared.replace(/[\"]/g, \"\");\r\n slugCleared = slugCleared.replace(/[,]/g, \"\");\r\n slugCleared = slugCleared.replace(/[.]/g, \"-\");\r\n slugCleared = slugCleared.replace(/[:]/g, \"\");\r\n slugCleared = slugCleared.replace(/[%]/g, \"\");\r\n slugCleared = slugCleared.replace(/[@]/g, \"-\");\r\n slugCleared = slugCleared.replace(/[*]/g, \"\");\r\n slugCleared = slugCleared.replace(/[+]/g, \"\");\r\n slugCleared = slugCleared.replace(/[=]/g, \"\");\r\n slugCleared = slugCleared.replace(/[|]/g, \"\");\r\n slugCleared = slugCleared.replace(/[()]/g, \"\");\r\n slugCleared = slugCleared.replace(/[[]/g, \"\");\r\n slugCleared = slugCleared.replace(/[]]/g, \"\");\r\n slugCleared = slugCleared.replace(/[{}]/g, \"\");\r\n slugCleared = slugCleared.replace(/[~]/g, \"\");\r\n\r\n //clear spaces\r\n slugCleared = slugCleared.replace(/ /g, \"-\");\r\n //clear double spaces and souble --\r\n slugCleared = slugCleared.replace(/--/g, \"-\");\r\n //clear begin and end -\r\n slugCleared = slugCleared.replace(/^-/g, \"\");\r\n slugCleared = slugCleared.replace(/-$/g, \"\");\r\n\r\n //convert to lowercase\r\n slugCleared = slugCleared.toLowerCase();\r\n\r\n //promise boolean\r\n\r\n var slugExist = await this.verifySlugExists(slugCleared);\r\n\r\n if (slugExist) {\r\n if (this.maker.slug == slugCleared) {\r\n return slugCleared;\r\n } else {\r\n slugCleared = slugCleared + \"-1\";\r\n\r\n return slugCleared;\r\n }\r\n\r\n } else {\r\n return slugCleared;\r\n }\r\n }\r\n\r\n\r\n async verifySlugExists(slug: string) {\r\n\r\n var slugExist = false;\r\n\r\n var experience = await this.experienceService.getExperienceBySlug(slug).toPromise();\r\n\r\n experience = experience['hydra:member'];\r\n\r\n if (experience != undefined && experience != null) {\r\n slugExist = true;\r\n\r\n return slugExist;\r\n\r\n } else {\r\n slugExist = false;\r\n\r\n return slugExist;\r\n }\r\n }\r\n\r\n openAlert(modalText: string, className: string, status: boolean, timer?: any) {\r\n let iconClass: string;\r\n if (status) {\r\n iconClass = 'vi-check';\r\n } else {\r\n iconClass = 'vi-sad';\r\n }\r\n const modalConfig = {\r\n class: className,\r\n initialState: {\r\n alertMessage: this.translate.instant(\r\n modalText\r\n ),\r\n iconClass,\r\n status\r\n }\r\n }\r\n this.dialogRef = this.dialog.show(ModalAlertComponent, modalConfig);\r\n setTimeout(() => {\r\n this.dialogRef.hide();\r\n }, timer ? timer : 2500);\r\n }\r\n\r\n reorderMedia(clickedIndex: number) {\r\n // Saca el objeto clickeado del array\r\n const clickedItem = this.mediaExperiences.splice(clickedIndex, 1)[0];\r\n\r\n console.log(\"Reorder media: \", clickedItem);\r\n\r\n // Reinsertar el objeto al principio del array\r\n this.mediaExperiences.unshift(clickedItem);\r\n\r\n this.experienceService.updatePosition(this.mediaExperiences).subscribe(result => {\r\n console.log(\"Resultado orden\", result);\r\n });\r\n\r\n }\r\n \r\n\r\n}\r\n","
    \r\n
    \r\n

    \r\n {{ translate.instant(title) }}\r\n

    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n [(ngModel)]=\"languagesSelected\">\r\n \r\n Español\r\n \r\n \r\n \r\n English\r\n \r\n \r\n Deutsch\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    (Español) {{experienceForm.get('name').value ? experienceForm.get('name').value : 'Traduciendo...'}}

    \r\n

    (Inglés) {{experienceForm.get('name').value ? experienceForm.get('name').value : 'Traduciendo...'}}

    \r\n

    (Alemán) {{experienceForm.get('name').value ? experienceForm.get('name').value : 'Traduciendo...'}}

    \r\n

    {{experienceForm.get('name').value ? experienceForm.get('name').value : 'Traduciendo...'}}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors[\"experienceName\"]) }}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors[\"experienceUrl\"]) }}\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {{ descriptionText?.length }} / {{ descriptionMaxChar\r\n }}\r\n {{\r\n \"Mín. 120 y máx. 600 caracteres\" | translate\r\n }}\r\n \r\n {{ translate.instant(errors[\"description\"]) }}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors[\"experienceDuration\"]) }}\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {{ translate.instant(month.text)\r\n }}\r\n \r\n\r\n \r\n {{ translate.instant(errors[\"experienceWeekDays\"]) }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ translate.instant(weekDay.text)\r\n }}\r\n \r\n\r\n \r\n {{ translate.instant(errors[\"experienceWeekDays\"]) }}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ category.name }}\r\n \r\n \r\n {{ translate.instant(errors[\"experienceCategories\"]) }}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ category.name\r\n }}\r\n \r\n \r\n {{ translate.instant(errors[\"experienceCategories\"]) }}\r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n {{\r\n tag.name\r\n }}\r\n \r\n \r\n {{ translate.instant(errors[\"experienceTags\"]) }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ language.name }}\r\n \r\n \r\n {{ translate.instant(errors[\"experienceLanguages\"]) }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {{ translate.instant(errors[\"experiencePrice\"]) }}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{ country.text }}\r\n \r\n \r\n {{ translate.instant(errors[\"experienceCountry\"]) }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{\r\n location.getName() }}\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n Todas las\r\n zonas\r\n Todas las zonas\r\n \r\n {{ zone.getName()\r\n }}\r\n \r\n \r\n \r\n {{ translate.instant(errors[\"experienceZone\"]) }}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{\r\n \"Selecciona Imagenes para mostrar en el listado de Experiencias.\"\r\n | translate\r\n }}\r\n {{ \"Mín. 5 y máximo 10 imagenes.\" | translate }}\r\n {{ \"Formatos aceptados: .jpeg, .jpg, .png\" | translate }}\r\n \r\n \r\n \r\n {{ translate.instant(errors[\"mediaExperiences\"]) }}\r\n \r\n \r\n {{translate.instant('Máximo 10 imágenes')}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ \"Imagenes subidas\" | translate }}\r\n
    \r\n
    \r\n
    \r\n \r\n \"Imagen
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {{\r\n \"Máx. 1200 caracteres\" | translate\r\n }}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n {{\r\n this.experienceForm.get(\"whyUs\").value\r\n ? this.experienceForm.get(\"whyUs\").value.length\r\n : 0\r\n }}\r\n / {{ descriptionMaxChar }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n {{ translate.instant(errors[\"experienceTags\"]) }}\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n [(ngModel)]=\"promotionTypeSelected\">\r\n Ninguna\r\n {{ promotionType |\r\n translate }}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {{\r\n \"Máx. 160 caracteres\" | translate\r\n }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n Turitop\r\n Fareharbor\r\n Bokun\r\n Rezdy\r\n Donicus\r\n Sistema propio\r\n Otros\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['bookingEngineWidget'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n [(ngModel)]=\"currencySelected\">\r\n {{ currency | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    \r\n Modalidad {{ i + 1 }}\r\n \r\n \r\n

    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Selecciona un vídeo para mostrar en el pin de producto. Formatos aceptados: .mp4, .avi, .webp, .mov' |\r\n translate}}\r\n\r\n \r\n \r\n {{ 'Tamaño máximo: 100MB' | translate}}\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 {{ 'Vídeos subidos' | translate }}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n {{ 'Cargando...' | translate }}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {{progressVideo}}%\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{ 'Vídeos subidos' | translate }}\r\n
    \r\n
    \r\n
    \r\n

    {{ 'No hay vídeos subidos' | translate }}

    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n {{ 'Cargando...' | translate }}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {{progressVideo}}%\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{ \"Cancelar\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {{ alert.message }}\r\n

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

    \r\n Ha habido un error enviado el formulario. Compruebe todos los campos.\r\n

    \r\n
    \r\n\r\n\r\n \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{experienceForm.controls['name'].value}}\r\n \r\n
    \r\n
    \r\n {{category}} 0\"> /\r\n \r\n Sin categoría\r\n {{subcategory}} /\r\n \r\n \r\n |\r\n \r\n \r\n \r\n {{myPreviewLocation}}, {{experienceForm.controls['country'].value}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n 0 ? mediaExperiences[0].url : '')\"\r\n alt=\"Imagen de la empresa\">\r\n {{experienceForm.controls['promotionType'].value}}\r\n Sin datos\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \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 ? mediaExperiences[1].url : '')\"\r\n alt=\"Imagen de la empresa\">\r\n
    \r\n
    \r\n 2 ? mediaExperiences[2].url : '')\"\r\n alt=\"Imagen de la empresa\" style=\"border-radius: 0px 20px 0px 0px;\">\r\n
    \r\n
    \r\n 3 ? mediaExperiences[3].url : '')\"\r\n alt=\"Imagen de la empresa\">\r\n
    \r\n
    \r\n 4 ? mediaExperiences[4].url : '')\"\r\n alt=\"Imagen de la empresa\" style=\"border-radius: 0px 0px 20px 0px;\">\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {{convertTimeToCustomFormat(experienceForm.controls['duration'].value)}}\r\n \r\n \r\n Sin datos\r\n \r\n
    \r\n
    \r\n |\r\n \r\n {{findTextByValue(weekDays,experienceForm.controls['weekDays'].value)}}\r\n \r\n Sin datos\r\n \r\n
    \r\n
    \r\n |\r\n \r\n {{language}},\r\n \r\n Sin datos\r\n 4\"> ...\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Sin datos\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Qué incluye\r\n \r\n
    \r\n
      \r\n
    • \r\n {{includes}}\r\n
    • \r\n
    • \r\n Sin datos\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Excluído\r\n \r\n
    \r\n
      \r\n
    • \r\n {{notIncludes}}\r\n
    • \r\n
    • \r\n Sin datos\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Qué debes saber\r\n \r\n
    \r\n \r\n {{experienceForm.controls['whyUs'].value}}\r\n \r\n \r\n Sin datos\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Qué debes llevar\r\n \r\n
    \r\n
      \r\n
    • \r\n {{carryInfo}}\r\n
    • \r\n
    • \r\n Sin datos\r\n
    • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Solicitud de Reserva\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{i+1}}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{i}}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ¿Alguna duda?\r\n \r\n
    \r\n \r\n Estamos aquí para ayudarte\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Organizado por\r\n \r\n \r\n Ver ficha de empresa\r\n \r\n
    \r\n
    \r\n \"Logo\r\n {{makerName}}\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 { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Experience, ExperienceCollection } from './experience.model';\r\nimport { Review, ReviewCollection } from 'src/app/shared/review-form/review.model';\r\nimport { toArray } from 'rxjs/operators';\r\nimport { filter } from 'jszip';\r\nimport { map } from 'rxjs/operators';\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class ExperiencesService {\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n public postExperience(experience): Observable {\r\n return this.http\r\n .post(API_URL + '/experiences', experience);\r\n }\r\n\r\n public getExperience(id: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + '/experiences/' + id, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getExperienceBySlug(slug: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + '/experiences?slug=' + slug, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getExperiencesById(ids: [string], language): Observable {\r\n let idsString = ids.map(id => `id[]=${id}`).join('&');\r\n return this.http\r\n .get(API_URL + '/experiences?' + idsString, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getLastExperiences(language): Observable {\r\n return this.http.get(API_URL + '/experiences', {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getExperiencesByMakerId(makerId: number, filters?: any, language = 'es'): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('name', String(filters.name));\r\n }\r\n if (filters['location']) {\r\n httpParams = httpParams.set('location.name', String(filters.location));\r\n }\r\n if (filters['id']) {\r\n httpParams = httpParams.set('id', String(filters.id));\r\n }\r\n if (filters['localidad']) {\r\n httpParams = httpParams.set('location.id', String(filters.localidad));\r\n }\r\n if (filters['categorias']) {\r\n filters.categorias.split(',').forEach(category =>\r\n httpParams = httpParams.append('categories.id[]', category)\r\n );\r\n }\r\n return this.http\r\n .get(API_URL + '/makers/' + makerId + '/experiences?isActive=true',\r\n {\r\n params: httpParams, headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getAllExperiencesByMakerId(makerId: number, filters?: any, language = 'es'): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('name', String(filters.name));\r\n }\r\n if (filters['location']) {\r\n httpParams = httpParams.set('location.name', String(filters.location));\r\n }\r\n if (filters['id']) {\r\n httpParams = httpParams.set('id', String(filters.id));\r\n }\r\n if (filters['localidad']) {\r\n httpParams = httpParams.set('location.id', String(filters.localidad));\r\n }\r\n if (filters['categorias']) {\r\n filters.categorias.split(',').forEach(category =>\r\n httpParams = httpParams.append('categories.id[]', category)\r\n );\r\n }\r\n return this.http\r\n .get(API_URL + '/makers/' + makerId + '/experiences',\r\n {\r\n params: httpParams, headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getExperiencesByTakerId(takerId: number): Observable {\r\n return this.http\r\n .get(API_URL + '/takers/' + takerId + '/favorite_experiences');\r\n }\r\n\r\n public getExperiencesByResellerId(resellerId: number, filters: any): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('experience.name', String(filters.name));\r\n }\r\n if (filters['location']) {\r\n httpParams = httpParams.set('experience.location.name', String(filters.location));\r\n }\r\n if (filters['id']) {\r\n httpParams = httpParams.set('experience.id', String(filters.id));\r\n }\r\n if (filters['maker']) {\r\n httpParams = httpParams.append('experience.maker.name', String(filters.maker));\r\n }\r\n if (filters['tags']) {\r\n filters.tags.forEach(tag =>\r\n httpParams = httpParams.append('experience.tags.id[]', tag)\r\n );\r\n }\r\n if (filters['locations']) {\r\n filters.locations.forEach(location =>\r\n httpParams = httpParams.append('experience.location.id[]', location)\r\n );\r\n }\r\n\r\n return this.http\r\n .get(API_URL + '/resellers/' + resellerId + '/favorite_experiences', { params: httpParams });\r\n }\r\n\r\n public getExperienceByCivitatisId(id: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + '/experiences?civitatisId=' + id, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getExperiencesByUrl(filters: any, language): Observable {\r\n let httpParams = new HttpParams();\r\n\r\n filters.forEach((value, key) => {\r\n if (key == 'name') {\r\n httpParams = httpParams.set('name', String(value));\r\n }\r\n if (key == 'location') {\r\n httpParams = httpParams.set('location.name', String(value));\r\n }\r\n if (key == 'id') {\r\n httpParams = httpParams.set('id', String(value));\r\n }\r\n if (key == 'localidad') {\r\n httpParams = httpParams.set('location.id', String(value));\r\n }\r\n if (key == 'zonas') {\r\n httpParams = httpParams.append('zones.id', String(value));\r\n }\r\n if (key == 'categorias') {\r\n value.split(',').forEach(category =>\r\n httpParams = httpParams.append('categories.id[]', category)\r\n );\r\n }\r\n if (key == 'etiquetas') {\r\n value.split(',').forEach(tag =>\r\n httpParams = httpParams.append('tags.id[]', tag)\r\n );\r\n }\r\n\r\n if (key == 'maker') {\r\n httpParams = httpParams.append('maker.name', String(value));\r\n }\r\n if (key == 'tags') {\r\n value.forEach(tag =>\r\n httpParams = httpParams.append('tags.id[]', tag)\r\n );\r\n }\r\n if (key == 'locations') {\r\n value.forEach(location =>\r\n httpParams = httpParams.append('location.id[]', location)\r\n );\r\n }\r\n if (key == 'monthsString') {\r\n httpParams = httpParams.append('monthsString', String(value))\r\n }\r\n if (key == 'isFavorites') {\r\n httpParams = httpParams.append('resellerFavoriteExperiences.reseller.id[]', String(filters.resellerId));\r\n }\r\n if (key == 'page') {\r\n httpParams = httpParams.append('page', String(value));\r\n }\r\n });\r\n\r\n\r\n // if (language === 'en') {\r\n // httpParams = httpParams.append('isEnglishChecked', 'true');\r\n // }\r\n\r\n return this.http\r\n .get(API_URL + '/experiences?isActive=true&order[maker.makerPlan.plan.level]&order[civitatisId]&exists[name]=true', {\r\n params: httpParams, headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n\r\n }\r\n\r\n public getExperiences(filters: any, language): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('name', String(filters.name));\r\n }\r\n if (filters['location']) {\r\n httpParams = httpParams.set('location.name', String(filters.location));\r\n }\r\n if (filters['id']) {\r\n httpParams = httpParams.set('id', String(filters.id));\r\n }\r\n if (filters['localidad']) {\r\n httpParams = httpParams.set('location.id', String(filters.localidad));\r\n }\r\n if (filters['zonas']) {\r\n httpParams = httpParams.set('zones.id', String(filters.zona));\r\n }\r\n if (filters['categorias']) {\r\n filters.categorias.split(',').forEach(category =>\r\n httpParams = httpParams.append('categories.id[]', category)\r\n );\r\n }\r\n if (filters['etiquetas']) {\r\n filters.etiquetas.split(',').forEach(tag =>\r\n httpParams = httpParams.append('tags.id[]', tag)\r\n );\r\n }\r\n\r\n if (filters['maker']) {\r\n httpParams = httpParams.append('maker.name', String(filters.maker));\r\n }\r\n if (filters['tags']) {\r\n filters.tags.forEach(tag =>\r\n httpParams = httpParams.append('tags.id[]', tag)\r\n );\r\n }\r\n if (filters['locations']) {\r\n filters.locations.forEach(location =>\r\n httpParams = httpParams.append('location.id[]', location)\r\n );\r\n }\r\n if (filters['isFavorites']) {\r\n httpParams = httpParams.append('resellerFavoriteExperiences.reseller.id[]', String(filters.resellerId));\r\n }\r\n if (filters['page']) {\r\n httpParams = httpParams.append('page', String(filters.page));\r\n }\r\n\r\n // if (language === 'en') {\r\n // httpParams = httpParams.append('isEnglishChecked', 'true');\r\n // }\r\n\r\n return this.http\r\n .get(API_URL + '/experiences?isActive=true&order[maker.makerPlan.plan.level]&order[civitatisId]&exists[name]=true', {\r\n params: httpParams, headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n\r\n // return this.http\r\n // .get(API_URL + '/experiences?isActive=true&order[sheetCompleted]&order[maker.sheetCompleted]&order[civitatisId]', {\r\n // params: httpParams, headers: {\r\n // 'Accept-Language': language\r\n // }\r\n // });\r\n\r\n }\r\n\r\n\r\n public deleteExperience(experienceId: string): any {\r\n return this.http.delete(API_URL + experienceId);\r\n }\r\n\r\n public putExperience(experienceId: string, experience: Experience, language = 'es'): Observable {\r\n return this.http\r\n .put(API_URL + '/experiences/' + experienceId, experience, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public translateExperience(body: any): Observable {\r\n return this.http\r\n .post(API_URL + '/ia/translate-request', body);\r\n }\r\n\r\n public importFrom(body: any): Observable {\r\n return this.http\r\n .post(API_URL + '/ia/import-from', body);\r\n }\r\n\r\n public postModality(modality: any): Observable {\r\n return this.http\r\n .post(API_URL + '/modalities', modality);\r\n }\r\n\r\n public putModality(modalityIri: string, modality: any): Observable {\r\n return this.http\r\n .put(API_URL + modalityIri, modality);\r\n }\r\n\r\n public deleteModality(modalityIri: string): Observable {\r\n return this.http\r\n .delete(API_URL + modalityIri);\r\n }\r\n\r\n public getFileDatas(fileUrls: any): Observable {\r\n return this.http.post(API_URL + '/downloads/images', fileUrls);// Use 'blob' for binary data\r\n }\r\n\r\n public postReview(review): Observable {\r\n return this.http\r\n .post(API_URL + '/reviews', review);\r\n }\r\n\r\n public getReviewsByExperienceId(productId, filters?: any, language = 'es'): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('name', String(filters.name));\r\n }\r\n if (filters['comments']) {\r\n httpParams = httpParams.set('comments', String(filters.comments));\r\n }\r\n if (filters['reviewerLocation']) {\r\n httpParams = httpParams.set('reviewerLocation', String(filters.reviewerLocation));\r\n }\r\n if (filters['date']) {\r\n httpParams = httpParams.set('date', String(filters.date));\r\n }\r\n if (filters['channel']) {\r\n httpParams = httpParams.set('location.channel', String(filters.channel));\r\n }\r\n\r\n return this.http\r\n .get(API_URL + '/experiences/' + productId + '/reviews', {\r\n params: httpParams, headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n\r\n }\r\n\r\n public getValidatedReviewsByExperienceId(productId): Observable {\r\n return this.http\r\n .get(API_URL + '/experiences/' + productId + '/reviews?status=validated');\r\n }\r\n\r\n public putReviewStatus(reviewId, status): Observable {\r\n let sendStatus = {\r\n status: status\r\n }\r\n return this.http\r\n .put(API_URL + reviewId, sendStatus);\r\n }\r\n\r\n public importReviews(makerId): Observable {\r\n return this.http\r\n .get(API_URL + '/getyourguide_reviews?makerId=' + makerId);\r\n }\r\n \r\n public updatePosition(mediaExperiences): Observable {\r\n return this.http\r\n .post(API_URL + '/updatePosition', {mediaExperiences});\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpRequest } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Experience } from './experience.model';\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class MediaExperiencesService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n mediaExperiencesUpload(fileItem: any, extraData?: object): Observable {\r\n const apiCreateEndpoint = `${API_URL}/media_experiences`;\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('file', fileItem);\r\n if (extraData) {\r\n for (const key in extraData) {\r\n if (extraData.hasOwnProperty(key)) {\r\n formData.append(key, extraData[ key ]);\r\n }\r\n }\r\n }\r\n const req = new HttpRequest('POST', apiCreateEndpoint, formData, {\r\n reportProgress: true // for progress data\r\n });\r\n return this.http.request(req);\r\n }\r\n\r\n deleteMediaExperiences(mediaExperiencesId) {\r\n return this.http\r\n .delete(`${API_URL}${mediaExperiencesId}`);\r\n }\r\n\r\n getMediaExperiences(mediaExperiencesId) {\r\n return this.http\r\n .get(`${API_URL}${mediaExperiencesId}`);\r\n }\r\n\r\n //mediaExperienceVideosUpload\r\n mediaExperiencesVideosUpload(fileItem: any, extraData?: object): Observable {\r\n const apiCreateEndpoint = `${API_URL}/media_experiences_videos`;\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('file', fileItem);\r\n if (extraData) {\r\n for (const key in extraData) {\r\n if (extraData.hasOwnProperty(key)) {\r\n formData.append(key, extraData[ key ]);\r\n }\r\n }\r\n }\r\n const req = new HttpRequest('POST', apiCreateEndpoint, formData, {\r\n reportProgress: true // for progress data\r\n });\r\n return this.http.request(req);\r\n }\r\n\r\n deleteMediaExperiencesVideos(videoId) {\r\n return this.http\r\n .delete(`${API_URL}${videoId}`);\r\n }\r\n\r\n}\r\n","import { ChangeDetectorRef, Component, ElementRef, HostListener, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\nimport { LocationService } from '../../shared/locations/location.service';\r\nimport { FormArray, UntypedFormBuilder, FormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { interval, timer } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { ExperiencesService } from '../experiences/experiences/experiences.service';\r\nimport { MakerService } from '../shared/maker.service';\r\nimport * as data from 'src/assets/home-structure.json';\r\nimport KeenSlider, { KeenSliderInstance } from \"keen-slider\"\r\nimport { Location } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { JsonLdService } from 'src/app/json-ld.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n styleUrls: ['./home.component.scss', '../../../../node_modules/keen-slider/keen-slider.min.css'],\r\n templateUrl: './home.component.html'\r\n})\r\nexport class HomeComponent implements OnInit {\r\n homeData: any;\r\n @ViewChild('imagesContainer') imagesContainer!: ElementRef;\r\n @ViewChild('scrollingIndicator') scrollingIndicator!: ElementRef;\r\n experienceSearchForm: UntypedFormGroup;\r\n destinySearchForm: UntypedFormGroup;\r\n makerSearchForm: UntypedFormGroup;\r\n\r\n @ViewChild(\"qualitySliderRef\") qualitySliderRef: ElementRef;\r\n @ViewChild(\"lastSliderRef\") lastSliderRef: ElementRef;\r\n @ViewChild(\"loveSliderRef\") loveSliderRef: ElementRef;\r\n\r\n //Sliders\r\n qualitySlider: KeenSliderInstance = null\r\n lastSlider: KeenSliderInstance = null\r\n loveSlider: KeenSliderInstance = null\r\n currentSlide: number = 0\r\n lastCurrentSlide: number = 0\r\n loveCurrentSlide: number = 0\r\n dotHelper: Array = []\r\n lastDotHelper: Array = []\r\n loveDotHelper: Array = []\r\n slidesLength: number = 0;\r\n lastSlidesLength: number = 0;\r\n loveSlidesLength: number = 0;\r\n\r\n experiencesCities = null;\r\n makersCities = null;\r\n searchUrl = null;\r\n citySelected = null;\r\n searchHome = true;\r\n intervalTime = 5000;\r\n loaded = 0;\r\n\r\n imagesMobile = ['imagen-globos-mobile.webp', 'imagen-quads-mobile.webp', 'imagen-salto-mobile.webp', 'imagen-Kitesurf-mobile.webp'];\r\n imagesTablet = ['imagen-globos-tablet.webp', 'imagen-quads-tablet.webp', 'imagen-salto-tablet.webp', 'imagen-Kitesurf-tablet.webp'];\r\n imagesDesktop = ['imagen-globos-desktop.webp', 'imagen-quads-desktop.webp', 'imagen-salto-desktop.webp', 'imagen-Kitesurf-desktop.webp'];\r\n images: string[] = [];\r\n preloadedImages: HTMLImageElement[] = [];\r\n locations: any;\r\n\r\n experiences: any = [];\r\n qualityExperiences: any = [];\r\n lastExperiences: any = [];\r\n qualityCardsIndex = 0;\r\n lastExperiencesIndex = 0;\r\n whatsNewCardsIndex = 0;\r\n whatPeopleLoveIndex = 0;\r\n\r\n currentIndex = 0;\r\n searchType = 'experiences';\r\n mainDestinations = ['Barcelona', 'Madrid', 'Sevilla', 'Granada', 'Valencia', 'Tenerife', 'Málaga', 'Mallorca', 'Fuerteventura', 'Lanzarote', 'Ibiza', 'Marbella'];\r\n\r\n constructor(\r\n private titleService: Title,\r\n private location: Location,\r\n private formBuilder: UntypedFormBuilder,\r\n private experiencesService: ExperiencesService,\r\n private makerService: MakerService,\r\n public locationService: LocationService,\r\n private activatedRoute: ActivatedRoute,\r\n public translate: TranslateService,\r\n private renderer: Renderer2,\r\n private meta: Meta,\r\n private cdref: ChangeDetectorRef,\r\n private http: HttpClient,\r\n private jsonLdService: JsonLdService\r\n ) {\r\n\r\n this.createForm();\r\n\r\n this.searchHome = this.activatedRoute.snapshot.routeConfig.path === ':lang'\r\n || this.activatedRoute.snapshot.routeConfig.path === '';\r\n this.locationService.getActiveLocations().subscribe(locations => {\r\n this.experiencesCities = locations['hydra:member'];\r\n if (this.activatedRoute.snapshot.queryParams['localidad']) {\r\n this.experienceSearchForm.get('location').setValue(parseInt(this.activatedRoute.snapshot.queryParams['localidad']));\r\n }\r\n });\r\n\r\n this.locationService.getMakerActiveLocations().subscribe(locations => {\r\n this.makersCities = locations['hydra:member'];\r\n if (this.activatedRoute.snapshot.queryParams['localidad']) {\r\n this.experienceSearchForm.get('location').setValue(parseInt(this.activatedRoute.snapshot.queryParams['localidad']));\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n // Fetch active locations and filter them\r\n this.locationService.getActiveLocations().subscribe((locations: any) => {\r\n this.locations = locations['hydra:member'];\r\n const destinosFiltrados = this.locations.filter(destino => this.mainDestinations.includes(destino.name));\r\n this.locations = destinosFiltrados;\r\n console.log(\"FILTRADOS: \", destinosFiltrados);\r\n console.log(\"loc: \", this.locations);\r\n });\r\n // Load Home Data and Quality Experiences\r\n this.http.get('./assets/home-structure.json')\r\n .subscribe((homeData: any) => {\r\n this.homeData = homeData;\r\n this.experiencesService.getExperiencesById(this.homeData.modules.find(item => item.code === 'quality').extra, this.getLang().replace('/', '')).subscribe((experiences: any) => {\r\n const ids = this.homeData.modules.find(item => item.code === 'quality').extra;\r\n this.qualityExperiences = experiences['hydra:member'].sort((a, b) => {\r\n return ids.indexOf(a.id) - ids.indexOf(b.id);\r\n });\r\n\r\n // Initialize slider\r\n setTimeout(() => {\r\n this.qualitySlider = new KeenSlider(this.qualitySliderRef.nativeElement, {\r\n initial: this.currentSlide,\r\n loop: true,\r\n slideChanged: (s) => {\r\n this.currentSlide = s.track.details.rel;\r\n this.cdref.detectChanges();\r\n },\r\n breakpoints: {\r\n \"(min-width: 0px)\": {\r\n slides: { perView: 1, spacing: 0 },\r\n },\r\n \"(min-width: 768px)\": {\r\n slides: { perView: 2, spacing: 0 },\r\n },\r\n \"(min-width: 992px)\": {\r\n slides: { perView: 3, spacing: 0 },\r\n }\r\n },\r\n slides: { perView: 1 },\r\n })\r\n this.dotHelper = Array.from({ length: Math.ceil(this.qualitySlider.track.details.slides.length) });\r\n this.slidesLength = Math.ceil(this.qualitySlider.track.details.slides.length);\r\n this.cdref.detectChanges();\r\n });\r\n })\r\n })\r\n // Load Last Experiences \r\n this.experiencesService.getLastExperiences(this.getLang().replace('/', '')).subscribe((experiences: any) => {\r\n this.lastExperiences = experiences['hydra:member'].slice(-9);\r\n setTimeout(() => {\r\n this.lastSlider = new KeenSlider(this.lastSliderRef.nativeElement, {\r\n initial: this.lastCurrentSlide,\r\n loop: true,\r\n slideChanged: (s) => {\r\n this.lastCurrentSlide = s.track.details.rel;\r\n this.cdref.detectChanges();\r\n },\r\n breakpoints: {\r\n \"(min-width: 0px)\": {\r\n slides: { perView: 1, spacing: 0 },\r\n },\r\n \"(min-width: 768px)\": {\r\n slides: { perView: 2, spacing: 0 },\r\n },\r\n \"(min-width: 992px)\": {\r\n slides: { perView: 3, spacing: 0 },\r\n }\r\n },\r\n slides: { perView: 1 },\r\n })\r\n this.lastDotHelper = Array.from({ length: Math.ceil(this.lastSlider.track.details.slides.length) });\r\n this.lastSlidesLength = Math.ceil(this.lastSlider.track.details.slides.length);\r\n this.cdref.detectChanges();\r\n });\r\n })\r\n\r\n this.loadLoveSlider();\r\n // var myHeaders = new Headers();\r\n // myHeaders.append(\"Content-Type\", \"application/json\");\r\n // myHeaders.append(\"key\", \"F18C23C616E9436A8B3EDA0DF0DAA06B\");\r\n\r\n // var requestOptions:any = {\r\n // method: 'GET',\r\n // headers: myHeaders,\r\n // redirect: 'follow'\r\n // };\r\n\r\n // fetch(\"https://api.content.tripadvisor.com/api/v1/location/search?key=F18C23C616E9436A8B3EDA0DF0DAA06B&searchQuery=mallorca&language=en\", requestOptions)\r\n // .then(response => response.text())\r\n // .then(result => console.log(result))\r\n // .catch(error => console.log('error', error));\r\n\r\n\r\n// Rotating background image\r\n timer(250, this.intervalTime)\r\n .pipe(take(Infinity))\r\n .subscribe(() => {\r\n this.currentIndex = (this.currentIndex + 1) % this.images.length;\r\n this.updateBackgroundImage();\r\n });\r\n\r\n // Dynamic language detection and meta tag generation\r\n var currentLang = this.translate.currentLang ? this.translate.currentLang : this.getLang().replace('/', '');\r\n currentLang = currentLang ? currentLang : 'es';\r\n this.translate.currentLang = currentLang;\r\n let description, keyword;\r\n\r\n\r\n this.removeMetaTags();\r\n const pageTitle = 'Venntur | ' + this.translate.instant('¡Las experiencias nos unen!');\r\n console.log('Titulo pagina SEO: ' + pageTitle);\r\n this.titleService.setTitle(pageTitle);\r\n\r\n\r\n switch (currentLang) {\r\n case 'en':\r\n description = 'Activities in Spain for tourists and locals: discover the best experiences, from tours and excursions to unique adventures. Book now and experience the best of Spain!';\r\n keyword = 'Activities in Spain';\r\n break;\r\n case 'de':\r\n description = 'Aktivitäten in Spanien für Touristen und Einheimische: Entdecken Sie die besten Erlebnisse, von Touren und Ausflügen bis hin zu einzigartigen Abenteuern. Jetzt buchen und Spanien in vollen Zügen genießen!';\r\n keyword = 'Aktivitäten in Spanien';\r\n break;\r\n default:\r\n description = 'Actividades en España para turistas y locales: descubre las mejores experiencias, desde tours y excursiones hasta aventuras únicas. ¡Reserva ahora y vive España al máximo!';\r\n keyword = 'Actividades en España';\r\n break;\r\n }\r\n\r\n this.meta.addTags([\r\n { name: 'description', content: description },\r\n { name: 'keywords', content: keyword },\r\n { name: 'lang', content: currentLang },\r\n { name: 'robots', content: 'index, follow' },\r\n { property: 'og:title', content: pageTitle },\r\n { property: 'og:description', content: description },\r\n { property: 'og:image', content: 'https://venntur.com/assets/venntur-isotype-70.png' },\r\n { property: 'og:url', content: 'https://venntur.com/' },\r\n { property: 'og:site_name', content: 'Venntur' }\r\n ]);\r\n\r\n // JSON-LD schema generation\r\n const jsonLd = {\r\n \"@context\": \"https://schema.org\",\r\n \"@type\": \"WebPage\",\r\n \"name\": pageTitle,\r\n \"description\": description,\r\n \"url\": \"https://venntur.com\",\r\n \"image\": \"https://venntur.com/assets/venntur-isotype-70.png\",\r\n \"inLanguage\": currentLang\r\n };\r\n\r\n const script = this.renderer.createElement('script');\r\n script.type = 'application/ld+json';\r\n script.text = JSON.stringify(jsonLd);\r\n this.renderer.appendChild(document.head, script);\r\n\r\n if (this.activatedRoute.snapshot.queryParams['maker']) {\r\n localStorage.setItem('token', this.activatedRoute.snapshot.queryParams['token']);\r\n localStorage.setItem('user', this.activatedRoute.snapshot.queryParams['user']);\r\n localStorage.setItem('maker', this.activatedRoute.snapshot.queryParams['maker'].replaceAll('&', '-'));\r\n if (this.activatedRoute.snapshot.queryParams['experience']) {\r\n location.href = \"https://venntur.com/es/maker/admin/editar-experiencia/\" + this.activatedRoute.snapshot.queryParams['experience'];\r\n } else {\r\n location.href = \"https://venntur.com/es/maker/admin/perfil\";\r\n }\r\n }\r\n }\r\n\r\n removeMetaTags(): void {\r\n // Step 1: Remove specific meta tags using the Meta service\r\n this.meta.removeTag('name=\"description\"');\r\n this.meta.removeTag('name=\"keywords\"');\r\n this.meta.removeTag('property=\"og:description\"');\r\n\r\n // Step 2: Remove all other meta tags from the document using Renderer2\r\n const metaTags = Array.from(document.querySelectorAll('meta'));\r\n metaTags.forEach((metaTag: Element) => {\r\n this.renderer.removeChild(document.head, metaTag);\r\n });\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this.updateImagesBasedOnWindowSize();\r\n // Preload all images\r\n this.preloadImages();\r\n // Set the initial background image\r\n this.updateBackgroundImage();\r\n this.getExperiences();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.qualitySlider) this.qualitySlider.destroy()\r\n }\r\n\r\n // Hides scrolling indicator after scroll has been done\r\n @HostListener('window:scroll', [])\r\n onWindowScroll() {\r\n this.renderer.removeClass(this.scrollingIndicator.nativeElement, 'animated')\r\n this.renderer.addClass(this.scrollingIndicator.nativeElement, 'faded')\r\n }\r\n\r\n private updateImagesBasedOnWindowSize(): void {\r\n\r\n const windowSize = window.innerWidth;\r\n\r\n if (windowSize > 992) {\r\n this.images = this.imagesDesktop;\r\n } else if (windowSize < 992 && windowSize > 768) {\r\n this.images = this.imagesTablet;\r\n } else {\r\n this.images = this.imagesMobile;\r\n }\r\n\r\n }\r\n\r\n private preloadImages(): void {\r\n this.images.forEach(imageUrl => {\r\n const img = new Image();\r\n img.src = `../../../assets/images/images-home/new-home-images/${imageUrl}`;\r\n this.preloadedImages.push(img);\r\n });\r\n }\r\n\r\n private awaitImageContainer() {\r\n\r\n if (this.imagesContainer) {\r\n this.updateBackgroundImage();\r\n } else {\r\n setTimeout(() => {\r\n this.awaitImageContainer();\r\n }, 300);\r\n }\r\n\r\n }\r\n\r\n private updateBackgroundImage(): void {\r\n\r\n if (!this.imagesContainer) {\r\n this.awaitImageContainer();\r\n } else {\r\n const imageUrl = this.images[this.currentIndex];\r\n this.renderer.setStyle(\r\n this.imagesContainer.nativeElement,\r\n 'background',\r\n `url(../../../assets/images/images-home/new-home-images/${imageUrl}) center/cover no-repeat`\r\n );\r\n }\r\n }\r\n\r\n // Add the HostListener decorator to listen for window resize events\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: Event): void {\r\n let windowSize = event.target['innerWidth'];\r\n if (windowSize > 992) {\r\n this.images = this.imagesDesktop;\r\n } else if (windowSize < 992 && windowSize > 768) {\r\n this.images = this.imagesTablet;\r\n } else {\r\n this.images = this.imagesMobile;\r\n }\r\n }\r\n\r\n createForm() {\r\n this.experienceSearchForm = this.formBuilder.group({\r\n location: ['',\r\n Validators.required\r\n ],\r\n location2: ['',\r\n Validators.required\r\n ],\r\n byLand: [false,\r\n Validators.required\r\n ],\r\n bySea: [false,\r\n Validators.required\r\n ],\r\n byAir: [false,\r\n Validators.required\r\n ]\r\n });\r\n\r\n this.destinySearchForm = this.formBuilder.group({\r\n location: ['',\r\n Validators.required\r\n ],\r\n });\r\n\r\n this.makerSearchForm = this.formBuilder.group({\r\n location: ['',\r\n Validators.required\r\n ]\r\n });\r\n\r\n }\r\n\r\n search(isClicked, param) {\r\n this.searchUrl = this.translate.getDefaultLang() + '/' + param + '?';\r\n if (this.searchHome && isClicked || !this.searchHome) {\r\n let categories = [];\r\n let tags = [];\r\n if (this.experienceSearchForm.get('location').value) {\r\n this.searchUrl += 'localidad=' + this.experienceSearchForm.get('location').value;\r\n }\r\n if (this.destinySearchForm.get('location').value) {\r\n this.searchUrl += 'localidad=' + this.destinySearchForm.get('location').value;\r\n console.log(this.destinySearchForm.get('location'));\r\n }\r\n if (this.searchHome && isClicked) {\r\n location.replace(this.searchUrl);\r\n }\r\n }\r\n }\r\n\r\n getExperiences() {\r\n this.experiencesService.getAllExperiencesByMakerId(this.makerService.getId(), undefined, this.getLang().replace('/', '')).subscribe(((resp: any) => {\r\n resp['hydra:member'].forEach(experience => {\r\n if (experience.microsheetCompleted && experience.maker.directoryCompleted) {\r\n this.experiences.push(experience);\r\n }\r\n });\r\n console.log(this.experiences)\r\n }))\r\n }\r\n\r\n searchExperiences(value) {\r\n let searchUrl = this.translate.getDefaultLang() + '/experiencias?';\r\n\r\n searchUrl += 'localidad=' + value;\r\n\r\n location.replace(searchUrl);\r\n }\r\n\r\n loadLoveSlider() {\r\n setTimeout(() => {\r\n this.loveSlider = new KeenSlider(this.loveSliderRef.nativeElement, {\r\n initial: this.loveCurrentSlide,\r\n loop: true,\r\n slideChanged: (s) => {\r\n this.loveCurrentSlide = s.track.details.rel;\r\n this.cdref.detectChanges();\r\n },\r\n breakpoints: {\r\n \"(min-width: 0px)\": {\r\n slides: { spacing: 32 },\r\n },\r\n \"(min-width: 992px)\": {\r\n slides: { spacing: 37 },\r\n }\r\n },\r\n slides: { perView: 1, spacing: 37 },\r\n })\r\n this.loveDotHelper = Array.from({ length: Math.ceil(this.loveSlider.track.details.slides.length) });\r\n this.loveSlidesLength = Math.ceil(this.loveSlider.track.details.slides.length);\r\n this.cdref.detectChanges();\r\n }, 500);\r\n }\r\n\r\n getLang() {\r\n if (this.location.path().substring(1, 3)) {\r\n return this.location.path().substring(1, 3) + '/';\r\n } else {\r\n return this.translate.getDefaultLang() + '/';\r\n }\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{ 'Tu deseo es viajar' |\r\n translate\r\n }}
    {{ 'tu pasión es venntur' | translate }}

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

    {{ 'Quiero buscar una empresa en' | translate }}...

    \r\n \r\n {{ 'Destinos' | translate }}\r\n {{city.name}} - {{city.countMakers}}\r\n empresas\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n

    {{ 'Disfruta tu experiencia en' | translate }}...

    \r\n \r\n {{ 'Destinos' | translate }}\r\n {{city.name}} - {{city.countExperiences}}\r\n experiencias\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n

    {{ 'Your wish is to travel' | translate\r\n }}
    {{ 'your passion is venntur' | translate }}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Destinos' | translate }}\r\n {{city.name}} - {{city.countExperiences}}\r\n experiencias\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n venntur, {{ \"la primera comunidad de experiencias al aire libre\" | translate }}\r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n \r\n \"\"\r\n \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n \r\n \"\"\r\n \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ \"venntur es la primera red de experiencias al aire libre propuesta directamente por creadores y expertos locales.\" | translate }} \r\n {{\"Únete a la comunidad venntur para disfrutar de las mejores y más nuevas experiencias\" | translate}}\r\n \r\n {{ \"siempre que estés de viaje, ¡con el contacto directo de los proveedores locales!\" | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {{\"La Mejor\" | translate}} {{\"Calidad\" | translate}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n {{\"La calidad es importante para venntur: nuestros proveedores están recomendados por nuestro sello de calidad.\" | translate}}
    \r\n {{\"¡Confía en las experiencias de los verdaderos expertos!\" | translate}}\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 1\">\r\n
    1\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {{\"Que hay\" | translate}} {{\"de nuevo\" | translate}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n {{\"Tal vez eres un viajero frecuente y\" | translate}} {{\"un amante de las aventuras:\" | translate}} {{\"¡Aquí encontrarás nuevas oportunidades para disfrutar de tu tiempo libre!\" | translate}}\r\n
    \r\n 0\">\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n 1\">\r\n
    1\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {{\"Lo que más le gusta\" | translate}} {{\"a la gente\" | translate}}\r\n

    \r\n
    \r\n
    \r\n {{\"Nuestros seguidores son siempre los primeros en elegir y comentar sus experiencias:\" | translate}} {{\"encuentra la mas popular del mes!\" | translate}}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {{\"Viajando a...\" | translate}} {{\"¿España?\" | translate}}\r\n

    \r\n
    \r\n
    \r\n {{\"Encuentra tu ubicación y selecciona tu próxima experiencia:\" | translate}} \r\n {{\"¡Los makers locales están esperando para darte la bienvenida!\" | translate}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
      \r\n
    • \r\n {{location.name}}
    • \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n {{ 'Destinos' | translate }}\r\n {{city.name}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{\"No tenemos un\" | translate}}\r\n
    \r\n
    \r\n {{\"Planeta\" | translate}}\r\n
    \r\n
    \r\n
    \r\n B!\r\n
    \r\n
    \r\n
    \r\n {{\"Nuestros makers respetan la naturaleza\" | translate}} {{\"y se comportan de acuerdo con nuestras valoraciones en relación con el programa de sostenibilidad de la comunidad europea. Lea nuestro estatuto de sostenibilidad aquí.\" | translate}}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {{\"Tu pasión es\" | translate}}
    {{\"nuestra pasión\" | translate}}
    \r\n

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

    \r\n {{\"Tu pasión es\" | translate}} {{\"nuestra pasión\" | translate}}\r\n

    \r\n
    \r\n
    \r\n {{\"Somos amantes de los viajes y buscadores de emociones:\" | translate}}\r\n {{\"nuestro objetivo es encontrar los mejores momentos para compartir con familiares y amigos. ¡Únete a nuestra comunidad!\" | translate}}\r\n
    \r\n
    \r\n #venntur\r\n #passionoflife\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n We are travel lovers and emotion seekers:\r\n we aim to find the best moments to share with family and friends. Join our community!\r\n
    \r\n
    \r\n #venntur\r\n #passionoflife\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../shared/auth.service';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {FacebookLoginProvider, GoogleLoginProvider, SocialAuthService, SocialUser} from 'angularx-social-login';\r\nimport {environment} from '../../../environments/environment';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n @Input() loginData: any;\r\n loginForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n constructor(private authService: AuthService,\r\n // private socialAuthService: SocialAuthService,\r\n private fb: UntypedFormBuilder,\r\n private router: Router,\r\n public translate: TranslateService) {\r\n this.loginForm = fb.group({\r\n email: ['',\r\n [Validators.required, Validators.email]\r\n ],\r\n password: ['',\r\n Validators.required\r\n ]\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.loginData.email) {\r\n this.loginForm.controls['email'].setValue(this.loginData.email);\r\n this.loginForm.controls['password'].setValue(atob(this.loginData.password));\r\n }\r\n\r\n this.initializeGoogleSignIn();\r\n }\r\n\r\n initializeGoogleSignIn() {\r\n // Aquí reemplaza 'TU_CLIENT_ID' con tu Client ID de Google\r\n google.accounts.id.initialize({\r\n client_id: '306399346139-snsajbsqgf2dc48eeptm1ir0v94k00hi.apps.googleusercontent.com',\r\n callback: this.handleCredentialResponse.bind(this)\r\n });\r\n\r\n // Renderiza el botón de Google Sign-In\r\n google.accounts.id.renderButton(\r\n document.getElementById('buttonDiv'),\r\n { theme: 'outline', size: 'large' } // puedes personalizar el botón aquí\r\n );\r\n }\r\n\r\n handleCredentialResponse(response: any) {\r\n // console.log(\"Token de ID de Google: \", response.credential);\r\n // Envía el token a tu backend o realiza la lógica de autenticación aquí\r\n\r\n this.authService.loginByGoogle(response.credential, 'ROLE_MAKER')\r\n .then(\r\n (response) => {\r\n // console.log('Respuesta después token: ' + response);\r\n // window.location.reload();\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n if (this.authService.hasMakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n } else if (this.authService.hasTakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/taker/admin/perfil/');\r\n } else if (this.authService.hasResellerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/reseller/admin/perfil/');\r\n }\r\n }, 1000);\r\n // this.router.navigateByUrl(this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar hacer login con Google, por favor vuelve a intentarlo';\r\n });\r\n\r\n }\r\n\r\n login() {\r\n const loginModel = this.loginForm.value;\r\n this.authService.login(loginModel.email, loginModel.password)\r\n .then(() => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Login correcto';\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n if (this.authService.hasMakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n } else if (this.authService.hasTakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/taker/admin/perfil/');\r\n } else if (this.authService.hasResellerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/reseller/admin/perfil/');\r\n }\r\n }, 1000);\r\n })\r\n .catch(error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n }, 5000); });\r\n }\r\n\r\n/* loginWithFB() {\r\n this.socialAuthService.signIn(FacebookLoginProvider.PROVIDER_ID).then((user: SocialUser) => {\r\n this.authService.loginByFacebook(user, 'ROLE_MAKER')\r\n .then(\r\n (response) => {\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n if (this.authService.hasMakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n } else if (this.authService.hasTakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/taker/admin/perfil/');\r\n } else if (this.authService.hasResellerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/reseller/admin/perfil/');\r\n }\r\n // window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n // this.router.navigateByUrl(this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n }, 1000);\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar hacer login con Facebook, por favor vuelve a intentarlo';\r\n });\r\n });\r\n }\r\n\r\n loginWithGoogle() {\r\n this.socialAuthService.signIn(GoogleLoginProvider.PROVIDER_ID, { uxMode: 'redirect' }).then((user: SocialUser) => {\r\n console.log('usuario: ' + user);\r\n this.authService.loginByGoogle(user.idToken, 'ROLE_MAKER')\r\n .then(\r\n (response) => {\r\n // window.location.reload();\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n if (this.authService.hasMakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n } else if (this.authService.hasTakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/taker/admin/perfil/');\r\n } else if (this.authService.hasResellerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/reseller/admin/perfil/');\r\n }\r\n }, 1000);\r\n // this.router.navigateByUrl(this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar hacer login con Google, por favor vuelve a intentarlo';\r\n });\r\n });\r\n } */\r\n}\r\n","\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    {{ 'o' | translate}}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{alert.message}}

    \r\n
    \r\n
    \r\n {{ '¿Olvidaste la contraseña?' | translate}}\r\n
    \r\n
    \r\n
    {{ '¿No tienes cuenta?' | translate}}
    \r\n

    {{ 'Regístrate como:' | translate}}

    \r\n
    \r\n {{ 'Proveedor' | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-maker-admin',\r\n templateUrl: './maker-admin.component.html',\r\n styleUrls: ['./maker-admin.component.css']\r\n})\r\nexport class MakerAdminComponent {\r\n}\r\n","\r\n
    \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, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MakerService } from '../../../shared/maker.service';\r\nimport { ConfirmationDialogComponent } from '../../../shared/confirmation-dialog/confirmation-dialog.component';\r\nimport { maxTableRows } from 'globals';\r\n\r\n@Component({\r\n selector: 'app-maker-contacts-list',\r\n styleUrls: ['./maker-contacts-list.component.scss'],\r\n templateUrl: './maker-contacts-list.component.html',\r\n\r\n})\r\nexport class MakerContactsListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n columns = [];\r\n rows = [];\r\n rowsGroups = []\r\n columnsGroups = [];\r\n searchForm: UntypedFormGroup;\r\n alert = { message: null, type: null };\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private makerService: MakerService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService,\r\n public translate: TranslateService\r\n ) {\r\n this.makerService.getContactsByMakerId(makerService.getId()).subscribe((contacts => {\r\n this.rows = contacts['hydra:member'];\r\n\r\n contacts['hydra:member'].forEach(contact => {\r\n contact.contactGroups = contact.contactGroups.map(group => group.name).join(', ');\r\n });\r\n\r\n }));\r\n this.makerService.getContactsGroupsByMakerId(makerService.getId()).subscribe((res: any) => {\r\n res['hydra:member'].forEach(group => {\r\n this.rowsGroups.push({ id: group['@id'], name: group.name });\r\n });\r\n this.table.offset = 0;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n group: ['']\r\n });\r\n\r\n this.columns = [\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'contactGroups', name: 'Grupo' },\r\n // { prop: 'position', name: 'Cargo' },\r\n { prop: 'email', name: 'Email' },\r\n { prop: 'phone', name: 'Teléfono' }];\r\n this.columnsGroups = [\r\n { prop: 'name', name: 'Nombre' },];\r\n }\r\n\r\n applyFilter() {\r\n this.makerService.getContactsByMakerId(this.makerService.getId(), this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n console.log(data['hydra:member']);\r\n data['hydra:member'].forEach(data => {\r\n data.contactGroups = data.contactGroups.map(group => group.name).join(', ');\r\n });\r\n }\r\n );\r\n }\r\n\r\n deleteContact(contactId) {\r\n this.dialogRef = this.dialog.show(ConfirmationDialogComponent, {\r\n initialState: {\r\n confirmMessage: '¿Seguro que quieres eliminar este contacto?',\r\n callback: (confirm) => {\r\n if (confirm) {\r\n this.makerService.deleteContact(contactId).subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Contacto eliminado correctamente';\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n );\r\n setTimeout(() => {\r\n this.makerService.getContactsByMakerId(this.makerService.getId()).subscribe((contacts => {\r\n this.rows = contacts['hydra:member'];\r\n this.table.offset = 0;\r\n }));\r\n }, 1000);\r\n }\r\n this.dialogRef = null;\r\n }\r\n }\r\n });\r\n }\r\n deleteGroup(contact_groupsId) {\r\n this.dialogRef = this.dialog.show(ConfirmationDialogComponent, {\r\n initialState: {\r\n confirmMessage: '¿Seguro que quieres eliminar este grupo?',\r\n callback: (confirm) => {\r\n if (confirm) {\r\n this.makerService.deleteGroup(contact_groupsId).subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Grupo eliminado correctamente';\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n );\r\n /* setTimeout(() => {\r\n this.makerService.getContactsByMakerId(this.makerService.getId()).subscribe((contacts => {\r\n this.rows = contacts['hydra:member'];\r\n this.table.offset = 0;\r\n }));\r\n }, 1000); */\r\n }\r\n this.dialogRef = null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n showTab = 'contacts';\r\n\r\n}\r\n","
    \r\n

    {{ 'Contactos' | translate}}

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

    {{alert.message}}

    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    {{ 'Buscar:' | translate}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Listado de tus contactos\r\n Listado de tus grupos\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { errorMessages, regExps } from '../../../shared/custom-validators';\r\nimport { MakerService } from '../../../shared/maker.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { ModalAlertComponent } from 'src/app/shared/modal-alert/modal-alert.component';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n\r\n@Component({\r\n selector: 'app-maker-contacts',\r\n templateUrl: './maker-contacts.component.html',\r\n styleUrls: ['./maker-contacts.component.css']\r\n})\r\nexport class MakerContactsComponent implements OnInit {\r\n contactForm: UntypedFormGroup;\r\n contactImage = null;\r\n selectedFile: File;\r\n selectedFiles = [];\r\n uploadedFiles = [];\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n uploadProgress = 0;\r\n alert = { message: null, type: null };\r\n errors = errorMessages;\r\n maker = null;\r\n contact = null;\r\n title = 'Nuevo contacto';\r\n selectedGroups = [];\r\n groups = [];\r\n\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private makerService: MakerService,\r\n public translate: TranslateService,\r\n public dialog: BsModalService,\r\n ) {\r\n if (this.makerService.getId()) {\r\n this.maker = '/makers/' + this.makerService.getId();\r\n this.createForm();\r\n } else {\r\n this.router.navigateByUrl('/maker/admin/perfil');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.activatedRoute.snapshot.params.id) {\r\n this.title = 'Editar contacto';\r\n setTimeout(() => {\r\n this.editContact(this.activatedRoute.snapshot.params.id);\r\n }, 1000);\r\n }\r\n\r\n\r\n }\r\n\r\n createForm() {\r\n this.makerService.getContactsGroupsByMakerId(this.makerService.getId()).subscribe((res: any) => {\r\n\r\n this.groups = res['hydra:member'];\r\n\r\n });\r\n this.contactForm = this.formBuilder.group({\r\n mediaContacts: [[],\r\n // Validators.required\r\n ],\r\n name: ['',\r\n Validators.required\r\n ],\r\n group: [null\r\n ],\r\n position: ['UNDEFINED',\r\n // Validators.required\r\n ],\r\n email: ['', [\r\n Validators.required,\r\n Validators.email\r\n ]\r\n ],\r\n phone: ['+', [\r\n Validators.required,\r\n Validators.pattern(regExps.phone)\r\n ]\r\n ],\r\n\r\n company: ['', Validators.required],\r\n maker: [this.maker]\r\n });\r\n }\r\n\r\n editContact(contactId) {\r\n this.makerService.getContact(contactId, this.translate.getDefaultLang()).subscribe((contact: any) => {\r\n this.contact = contact;\r\n\r\n this.contactForm.get('name').setValue(contact.name);\r\n this.contactForm.get('position').setValue(contact.position);\r\n this.contactForm.get('email').setValue(contact.email);\r\n this.contactForm.get('phone').setValue(contact.phone);\r\n this.contactForm.get('company').setValue(contact.company);\r\n this.contactForm.get('group').setValue(contact.contactGroups.length > 1 ? contact.contactGroups[0]['@id'] : []);\r\n var contactGroup = { value: contact.contactGroups[0]['@id'], name: contact.contactGroups[0].name };\r\n this.contactForm.get('group').setValue(contactGroup);\r\n\r\n\r\n this.selectedGroups = [];\r\n\r\n // if(contact.contactGroups.length > 1){\r\n // contact.contactGroups.forEach(group => {\r\n // this.selectedGroups.push({value: group['@id'], name: group.name});\r\n // });\r\n\r\n // this.contactForm.get('group').setValue(this.selectedGroups);\r\n\r\n\r\n // } else {\r\n // this.selectedGroups.push({value: contact.contactGroups[0]['@id'], name: contact.contactGroups[0].name});\r\n // var contactGroup = {value: contact.contactGroups[0]['@id'], name: contact.contactGroups[0].name};\r\n // this.contactForm.get('group').setValue(contactGroup);\r\n // }\r\n /* contact.contactGroups.forEach(group => {\r\n this.selectedGroups.push({value: group['@id'], name: group.name});\r\n }); */\r\n\r\n\r\n //this.contactForm.get('group').setValue(this.selectedGroups);\r\n\r\n if (contact.mediaContacts.length > 0) {\r\n this.contactForm.get('mediaContacts').setValue([contact.mediaContacts[0]['@id']]);\r\n this.contactImage = '/assets/makerContact/files/' + contact.mediaContacts[0]['contentUrl'];\r\n }\r\n });\r\n }\r\n\r\n updateContact() {\r\n if (this.contactForm.invalid) {\r\n this.showErrors(this.contactForm);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n return;\r\n }\r\n\r\n // var groupsIris = [];\r\n\r\n console.log(this.contactForm.get('group').value)\r\n\r\n // if(this.contactForm.get('group').value){\r\n // if(this.contactForm.get('group').value.length > 1){\r\n // this.contactForm.get('group').value.forEach(group => {\r\n // groupsIris.push(group['@id']);\r\n // });\r\n // } else {\r\n // groupsIris.push(this.contactForm.get('group').value['@id']);\r\n // }\r\n // } else {\r\n // groupsIris = null;\r\n // }\r\n\r\n /* if(this.contactForm.get('group').value.length > 1){\r\n this.contactForm.get('group').value.forEach(group => {\r\n groupsIris.push(group['@id']);\r\n });\r\n } else {\r\n groupsIris.push(this.contactForm.get('group').value['@id']);\r\n } */\r\n\r\n /* this.contactForm.get('group').value.forEach(group => {\r\n groupsIris.push(group['@id']);\r\n }); */\r\n\r\n let contactGroup = [];\r\n if (this.contactForm.get('group').value && this.contactForm.get('group').value['@id']) {\r\n contactGroup = [this.contactForm.get('group').value['@id']];\r\n } else if (this.contactForm.get('group').value && this.contactForm.get('group').value.value) {\r\n contactGroup = [this.contactForm.get('group').value.value]\r\n }\r\n\r\n\r\n const editedContact = {\r\n name: this.contactForm.get('name').value,\r\n position: this.contactForm.get('position').value,\r\n email: this.contactForm.get('email').value,\r\n phone: this.contactForm.get('phone').value,\r\n company: this.contactForm.get('company').value,\r\n mediaContacts: this.contactForm.get('mediaContacts').value,\r\n maker: this.contactForm.get('maker').value,\r\n contactGroups: contactGroup\r\n };\r\n\r\n this.makerService.putContact(this.contact.id, editedContact, this.translate.getDefaultLang())\r\n .subscribe(\r\n (result) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = 'Contacto guardado correctamente';\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 2000);\r\n // this.contact = null;\r\n // this.createForm();\r\n // location.replace(this.translate.getDefaultLang() + '/maker/admin/contactos');\r\n this.openAlert('Contacto Guardado!', 'w-300', true)\r\n },\r\n error => {\r\n this.alert.message = error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n () => console.log('complete'));\r\n }\r\n\r\n createContact() {\r\n if (this.contactForm.invalid) {\r\n this.showErrors(this.contactForm);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n return;\r\n }\r\n const contact = {\r\n mediaContacts: this.contactForm.get('mediaContacts').value,\r\n name: this.contactForm.get('name').value,\r\n position: this.contactForm.get('position').value,\r\n email: this.contactForm.get('email').value,\r\n phone: this.contactForm.get('phone').value,\r\n company: this.contactForm.get('company').value,\r\n maker: this.contactForm.get('maker').value,\r\n group: this.contactForm.get('group').value,\r\n };\r\n this.makerService.postContact(contact).subscribe(() => {\r\n // this.alert.type = 1;\r\n // this.alert.message = this.translate.instant('Contacto creado correctamente');\r\n // setTimeout(() => {\r\n // location.replace(this.translate.getDefaultLang() + '/maker/admin/contactos');\r\n // this.alert = { message: null, type: null };\r\n // }, 2000);\r\n this.openAlert('Contacto Guardado!', 'w-300', true)\r\n }, (error) => {\r\n // this.alert.message = error.error.code + '- ' + error.error.message;\r\n // this.alert.type = 2;\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n });\r\n }\r\n\r\n onFileChanged(event) {\r\n if (event.target.files[0].type === 'image/jpeg' || event.target.files[0].type === 'image/png') {\r\n this.selectedFile = event.target.files[0];\r\n }\r\n }\r\n\r\n onUploadedImage(uploadedImage: object, formControlName: string) {\r\n if (formControlName === 'mediaContacts') {\r\n this.contactForm.get(formControlName).patchValue([uploadedImage['id']]);\r\n this.contactImage = uploadedImage['url'];\r\n }\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.contactForm.get(formValue).invalid && this.contactForm.get(formValue).touched;\r\n }\r\n\r\n changeLanguage(language) {\r\n this.translate.setDefaultLang(language);\r\n setTimeout(() => {\r\n this.editContact(this.activatedRoute.snapshot.params.id);\r\n }, 100);\r\n }\r\n\r\n openAlert(modalText: string, className: string, status: boolean) {\r\n let iconClass: string;\r\n if (status) {\r\n iconClass = 'vi-check';\r\n } else {\r\n iconClass = 'vi-sad';\r\n }\r\n const modalConfig = {\r\n class: className,\r\n initialState: {\r\n alertMessage: this.translate.instant(\r\n modalText\r\n ),\r\n iconClass,\r\n status\r\n }\r\n }\r\n this.dialogRef = this.dialog.show(ModalAlertComponent, modalConfig);\r\n setTimeout(() => {\r\n this.dialogRef.hide();\r\n }, 2500);\r\n }\r\n}\r\n","

    {{translate.instant(title)}}

    \r\n
      \r\n
    • \r\n Español\r\n
    • \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactName'])}}\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {{errors['company']}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactEmail'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactPhone'])}}\r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Selecciona un avatar de contacto. Formatos aceptados: .jpeg, .jpg, .png' | translate}}\r\n {{ 'Dimensiones recomendadas:' | translate}} 150x150\r\n \r\n \r\n {{translate.instant(errors['mediaContacts'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n

    Avatar subido:

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

    {{alert.message}}

    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { errorMessages, regExps } from '../../../shared/custom-validators';\r\nimport { MakerService } from '../../../shared/maker.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ModalAlertComponent } from 'src/app/shared/modal-alert/modal-alert.component';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n\r\n@Component({\r\n selector: 'app-maker-group',\r\n templateUrl: './maker-group.component.html',\r\n styleUrls: ['./maker-group.component.scss']\r\n})\r\nexport class MakerGroupComponent implements OnInit {\r\n\r\n groupForm: FormGroup;\r\n contactImage = null;\r\n selectedFile: File;\r\n selectedFiles = [];\r\n uploadedFiles = [];\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n uploadProgress = 0;\r\n alert = { message: null, type: null };\r\n errors = errorMessages;\r\n maker = null;\r\n contact = null;\r\n group = null;\r\n title = 'Nuevo grupo';\r\n selectedContacts = [];\r\n contacts: any = [];\r\n\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private makerService: MakerService,\r\n public translate: TranslateService,\r\n public dialog: BsModalService\r\n ) {\r\n if (this.makerService.getId()) {\r\n this.maker = '/makers/' + this.makerService.getId();\r\n this.createForm();\r\n } else {\r\n this.router.navigateByUrl('/maker/admin/perfil');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.activatedRoute.snapshot.params.id) {\r\n this.title = 'Editar grupo';\r\n setTimeout(() => {\r\n this.editGroup(this.activatedRoute.snapshot.params.id);\r\n }, 1000);\r\n }\r\n }\r\n\r\n\r\n createForm() {\r\n this.makerService.getContactsByMakerId(this.makerService.getId()).subscribe((res: any) => {\r\n var hydraContacts = [];\r\n\r\n res['hydra:member'].forEach(contact => {\r\n // if (contact.contactGroups.length > 0 && contact.contactGroups[0].id != this.activatedRoute.snapshot.params.id) {\r\n // hydraContacts.splice(hydraContacts.indexOf(contact), 1);\r\n // }\r\n // if (contact.contactGroups.length == 0 || contact.contactGroups[0].id == this.activatedRoute.snapshot.params.id) {\r\n hydraContacts.push(contact);\r\n // }\r\n });\r\n\r\n this.contacts = hydraContacts;\r\n\r\n });\r\n\r\n this.groupForm = this.formBuilder.group({\r\n\r\n name: [null,\r\n Validators.required\r\n ],\r\n contact: [[], Validators.required], // Agrega el control 'contact' con valor inicial null\r\n });\r\n }\r\n\r\n editGroup(contact_groupsId: any) {\r\n\r\n\r\n this.makerService.getGroup(contact_groupsId, this.translate.getDefaultLang()).subscribe((group: any) => {\r\n this.group = group;\r\n\r\n this.groupForm.get('name').setValue(group.name);\r\n\r\n const contactsMaker = [];\r\n group.contacts.forEach(contact => {\r\n contactsMaker.push({ name: contact.name, value: contact['@id'] });\r\n });\r\n\r\n console.log(contactsMaker)\r\n\r\n this.groupForm.get('contact').setValue(contactsMaker);\r\n\r\n\r\n });\r\n }\r\n\r\n updateGroup() {\r\n if (this.groupForm.invalid) {\r\n this.showErrors(this.groupForm);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n return;\r\n }\r\n\r\n var contactIris = [];\r\n this.groupForm.get('contact').value.forEach(contact => {\r\n contactIris.push(contact.value ? contact.value : contact['@id']);\r\n });\r\n\r\n console.log(contactIris)\r\n\r\n const editedGroup = {\r\n name: this.groupForm.get('name').value,\r\n contacts: contactIris\r\n // maker: this.groupForm.get('maker').value,\r\n };\r\n\r\n this.makerService.putGroupIri(this.group['@id'], editedGroup, this.translate.getDefaultLang())\r\n .subscribe(\r\n (result) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = 'Grupo guardado correctamente';\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 2000);\r\n this.contact = null;\r\n this.createForm();\r\n location.replace(this.translate.getDefaultLang() + '/maker/admin/contactos');\r\n this.openAlert('Grupo guardado!', 'w-300', true)\r\n },\r\n error => {\r\n // this.alert.message = error.message;\r\n // this.alert.type = 2;\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n },\r\n () => console.log('complete'));\r\n }\r\n\r\n createGroup() {\r\n if (this.groupForm.invalid) {\r\n this.showErrors(this.groupForm);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n return;\r\n }\r\n\r\n var contactsIris = [];\r\n\r\n this.groupForm.get('contact').value.forEach(contact => {\r\n contactsIris.push(contact['@id']);\r\n });\r\n\r\n const group = {\r\n name: this.groupForm.get('name').value,\r\n contacts: contactsIris,\r\n maker: '/makers/' + this.makerService.getId()\r\n // maker: this.groupForm.get('maker').value\r\n // name: document.getElementById('name').innerHTML,\r\n // maker: this.groupForm.get('maker').value\r\n\r\n };\r\n this.makerService.postGroup(group).subscribe(() => {\r\n // this.alert.type = 1;\r\n // this.alert.message = this.translate.instant('Grupo creado correctamente');\r\n // setTimeout(() => {\r\n // location.replace(this.translate.getDefaultLang() + '/maker/admin/contactos');\r\n // this.alert = { message: null, type: null };\r\n // }, 2000);\r\n this.openAlert('Grupo creado!', 'w-300', true)\r\n }, (error) => {\r\n // this.alert.message = error.error.code + '- ' + error.error.message;\r\n // this.alert.type = 2;\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n });\r\n }\r\n\r\n onFileChanged(event) {\r\n if (event.target.files[0].type === 'image/jpeg' || event.target.files[0].type === 'image/png') {\r\n this.selectedFile = event.target.files[0];\r\n }\r\n }\r\n\r\n onUploadedImage(uploadedImage: object, formControlName: string) {\r\n if (formControlName === 'mediaContacts') {\r\n this.groupForm.get(formControlName).patchValue([uploadedImage['id']]);\r\n this.contactImage = FRONT_URL + uploadedImage['url'];\r\n }\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.groupForm.get(formValue).invalid && this.groupForm.get(formValue).touched;\r\n }\r\n\r\n changeLanguage(language) {\r\n this.translate.setDefaultLang(language);\r\n setTimeout(() => {\r\n this.editGroup(this.activatedRoute.snapshot.params.id);\r\n }, 100);\r\n }\r\n\r\n openAlert(modalText: string, className: string, status: boolean) {\r\n let iconClass: string;\r\n if (status) {\r\n iconClass = 'vi-check';\r\n } else {\r\n iconClass = 'vi-sad';\r\n }\r\n const modalConfig = {\r\n class: className,\r\n initialState: {\r\n alertMessage: this.translate.instant(\r\n modalText\r\n ),\r\n iconClass,\r\n status\r\n }\r\n }\r\n this.dialogRef = this.dialog.show(ModalAlertComponent, modalConfig);\r\n setTimeout(() => {\r\n this.dialogRef.hide();\r\n }, 2500);\r\n }\r\n}\r\n","

    \r\n {{ translate.instant(title) }}\r\n

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors[\"contactName\"]) }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {{ alert.message }}\r\n

    \r\n
    ","import { Component, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nimport { Experience } from '../../experiences/experiences/experience.model';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { TakerService } from '../../shared/taker.service';\r\nimport { Taker } from '../../taker/taker-profile/taker.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ResellerService } from '../../shared/reseller.service';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { ExperienceSearchComponent } from 'src/app/shared/experience-search/experience-search.component';\r\n\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { forEach } from 'jszip';\r\n\r\n@Component({\r\n selector: 'app-maker-directories',\r\n styleUrls: ['./maker-directories.component.scss'],\r\n templateUrl: './maker-directories.component.html',\r\n})\r\n\r\nexport class MakerDirectories implements OnInit {\r\n parentVariable: string;\r\n public expandedIndex = -1;\r\n public originalExperiences: Experience[];\r\n experiences = [];\r\n takerExperiences = [];\r\n resellerExperiences = [];\r\n shownDays = [\r\n { value: 0, text: 'Todos los días' },\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n isAlertShown = false;\r\n throttle = 150;\r\n scrollDistance = 0.1;\r\n page = 1;\r\n total = 0;\r\n notEmptyExperience = true;\r\n notScrolly = true;\r\n loading = false;\r\n @ViewChild('autoShownModal', { static: false }) autoShownModal: ModalDirective;\r\n @Input() childData: string;\r\n\r\n constructor(\r\n private makerService: MakerService,\r\n private router: Router,\r\n private titleService: Title,\r\n private takerService: TakerService,\r\n private resellerService: ResellerService,\r\n public authService: AuthService,\r\n public translate: TranslateService,\r\n private meta: Meta,\r\n private renderer2: Renderer2\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.removeMetaTags();\r\n this.loading = true;\r\n this.titleService.setTitle('Encuentra tu experiencia | Venntur');\r\n this.router['rawUrlTree'].queryParams['page'] = this.page;\r\n\r\n setTimeout(() => {\r\n this.makerService.getMakers(this.router['rawUrlTree'].queryParams)\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.total = experiences['hydra:totalItems'];\r\n //this.experiences = experiences['hydra:member'];\r\n\r\n const filteredExperiences = experiences['hydra:member'].filter((experience) => experience.mediaMakersHeader[0]);\r\n\r\n this.experiences = filteredExperiences;\r\n\r\n console.log(this.experiences);\r\n\r\n\r\n }));\r\n }, 1000);\r\n /* this.makerService.getMakerByUserId(this.takerService.getId()).subscribe(experiences => {\r\n this.takerExperiences = Array.from(experiences['hydra:member']).map((item) => item['@id']);\r\n });\r\n this.makerService.getMakersByResellerId(this.resellerService.getId(), {}).subscribe(experiences => {\r\n this.resellerExperiences = Array.from(experiences['hydra:member']).map((item) => item['experience']['@id']);\r\n }); */\r\n this.meta.addTags([\r\n { name: 'description', content: 'test' },\r\n { name: 'lang', content: 'es' },\r\n { name: 'robots', content: 'index, follow' },\r\n { property: 'og:title', content: 'test' },\r\n { property: 'og:description', content: 'test' },\r\n { property: 'og:image', content: 'https://venntur.com/assets/venntur-isotype-70.png' },\r\n { property: 'og:url', content: 'https://venntur.com/' },\r\n { property: 'og:site_name', content: 'Venntur' }\r\n ]);\r\n }\r\n\r\n clickFavorite(event, experienceId) {\r\n if (this.takerService.getId()) {\r\n this.takerExperiences.includes(experienceId) ?\r\n this.takerExperiences.splice(this.takerExperiences.indexOf(experienceId), 1) : this.takerExperiences.push(experienceId);\r\n const taker = {\r\n favoriteExperiences: this.takerExperiences\r\n };\r\n const editedTaker = new Taker(taker);\r\n this.takerService.putTaker(this.takerService.getId(), editedTaker).subscribe();\r\n } else {\r\n this.isAlertShown = true;\r\n }\r\n }\r\n\r\n addFavoriteToReseller(event, experienceId) {\r\n this.resellerExperiences.includes(experienceId) ?\r\n this.resellerExperiences.splice(this.resellerExperiences.indexOf(experienceId), 1) : this.resellerExperiences.push(experienceId);\r\n const favoriteExperience = {\r\n reseller: '/resellers/' + this.resellerService.getId(),\r\n experience: experienceId,\r\n status: 'Pendiente contacto'\r\n };\r\n this.resellerService.postFavoriteExperience(favoriteExperience).subscribe();\r\n }\r\n\r\n removeFavoriteToReseller(favoriteExperienceId) {\r\n this.makerService.getMakersByResellerId(this.resellerService.getId(), { id: favoriteExperienceId }).subscribe(experiences => {\r\n this.resellerService.deleteFavoriteExperience(experiences['hydra:member'][0]['@id']).subscribe(() => {\r\n this.resellerExperiences.splice(this.resellerExperiences.indexOf(favoriteExperienceId), 1);\r\n });\r\n });\r\n }\r\n\r\n expandText(index: number): void {\r\n this.expandedIndex = index === this.expandedIndex ? -1 : index;\r\n }\r\n\r\n onScroll() {\r\n this.loading = true;\r\n if (this.notScrolly && this.notEmptyExperience) {\r\n this.notScrolly = false;\r\n setTimeout(() => {\r\n this.loadNextExperience();\r\n }, 500);\r\n } else {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n loadNextExperience() {\r\n // this.router['rawUrlTree'].queryParams['page'] = ++this.page;\r\n ++this.page;\r\n let updatedUrl;\r\n if (this.parentVariable) {\r\n updatedUrl = this.parentVariable.replace(/page=\\d+/, `page=${this.page}`);\r\n } else if (this.router['rawUrlTree'].queryParams['localidad']) {\r\n this.router['rawUrlTree'].queryParams['page'] = this.page;\r\n updatedUrl = this.router['rawUrlTree'];\r\n } else {\r\n updatedUrl = '?page=' + this.page;\r\n }\r\n\r\n let params: any = (new URL('http://localhost:4200/' + updatedUrl)).searchParams;\r\n\r\n if (this.experiences.length < this.total) {\r\n this.makerService.getMakersByUrl(params, 'es')\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.total = experiences['hydra:totalItems'];\r\n\r\n const filteredExperiences = experiences['hydra:member'].filter((experience) => experience.mediaMakersHeader[0]);\r\n this.experiences = this.experiences.concat(filteredExperiences);\r\n }));\r\n // let i;\r\n // const length = this.experiences.length;\r\n // const experiencePerPage = 9;\r\n // const experienceToLoad = this.originalExperiences.length - length;\r\n\r\n // if ( experienceToLoad >= experiencePerPage ) {\r\n // for (i = length; i <= length + experiencePerPage; i++) {\r\n // this.experiences.push(this.originalExperiences[i]);\r\n // }\r\n // } else {\r\n // for (i = length; i <= length + experienceToLoad - 1; i++) {\r\n // this.experiences.push(this.originalExperiences[i]);\r\n // }\r\n // }\r\n this.notScrolly = true;\r\n } else {\r\n this.notEmptyExperience = false;\r\n this.loading = false;\r\n }\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isAlertShown = false;\r\n }\r\n\r\n changeParentVariable(newVariable: string) {\r\n this.parentVariable = newVariable;\r\n\r\n const params = (new URL('http://localhost:4200/' + this.parentVariable)).searchParams;\r\n\r\n this.makerService.getMakersByUrl(params, 'es')\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.total = experiences['hydra:totalItems'];\r\n this.experiences = experiences['hydra:member'];\r\n this.page = 1;\r\n }));\r\n\r\n }\r\n\r\n getUrl(isCivitatis, image) {\r\n return !isCivitatis ? 'https://venntur.com/assets/experience/files/' + image : image;\r\n }\r\n\r\n setCategoryTitle(experience) {\r\n return experience.categories.map(obj => obj.name).join(' / ')\r\n }\r\n\r\n setLanguagesTitle(experience) {\r\n return experience.languages.map(obj => obj.name).join(' , ')\r\n }\r\n\r\n convertTimeToCustomFormat(inputTime: string): string {\r\n let formattedText;\r\n const [hours, minutes] = inputTime.split(':').map(part => parseInt(part, 10));\r\n\r\n if (minutes != 0) {\r\n formattedText = hours + ' h y ' + minutes + ' min'\r\n } else {\r\n formattedText = hours + ' h'\r\n }\r\n\r\n return formattedText;\r\n }\r\n\r\n shareExperience(experience) {\r\n var enlace = 'https://venntur.com/product/' + experience.slug;\r\n var mensaje = '¡Mira esta experiencia en Venntur!';\r\n\r\n mensaje = encodeURIComponent(mensaje);\r\n enlace = encodeURIComponent(enlace);\r\n\r\n var enlaceWhatsApp = 'https://wa.me/?text=' + mensaje + '%20' + enlace;\r\n\r\n window.open(enlaceWhatsApp);\r\n\r\n }\r\n\r\n removeMetaTags() {\r\n const metaTags = Array.from(document.querySelectorAll('meta'));\r\n\r\n metaTags.forEach((metaTag: Element) => {\r\n this.renderer2.removeChild(document.head, metaTag);\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{ 'Encuentra tu empresa' | translate}}

    \r\n

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

    {{ 'Sin resultados' | translate}}

    \r\n

    {{ 'Ups.. Parece que no hay resultados para tu búsqueda' | translate}}

    \r\n

    {{ 'Inténtalo de nuevo utilizando otros filtros o' | translate}} {{ 'ponte en contacto con nosotros' | translate}}{{ ' y te ayudaremos a encontrar el organizador que estás buscando.' | translate}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\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, Inject, OnInit, Renderer2, TemplateRef } from '@angular/core';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { TakerService } from '../../shared/taker.service';\r\nimport { Taker } from '../../taker/taker-profile/taker.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Experience } from '../../experiences/experiences/experience.model';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { LocationService } from '../../../shared/locations/location.service';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { AnalyticsService } from 'src/app/pages/analytics/analytics.service';\r\nimport { JsonLdService } from 'src/app/json-ld.service';\r\n\r\n@Component({\r\n selector: 'app-maker-page',\r\n styleUrls: ['./maker-page.component.scss'],\r\n templateUrl: './maker-page.component.html'\r\n})\r\n\r\nexport class MakerPageComponent implements OnInit {\r\n public expandedIndex = -1;\r\n public originalExperiences: Experience[];\r\n experiences = [];\r\n takerExperiences = [];\r\n shownDays = [\r\n { value: 0, text: 'Todos los días' },\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n maker = null;\r\n makerId = null;\r\n isAlertShown = false;\r\n throttle = 150;\r\n scrollDistance = 0.1;\r\n notEmptyExperience = true;\r\n notScrolly = true;\r\n loading = false;\r\n cities = null;\r\n citySelected = null;\r\n showCategories: boolean = false;\r\n experienceSearchForm: UntypedFormGroup;\r\n modalRef: BsModalRef;\r\n customPhoneTooltip = 'Copiar al portapapeles';\r\n customEmailTooltip = 'Copiar al portapapeles';\r\n myImageArray = ['https://venntur.com/assets/experience/files/649198d9952cf975573530.jpeg', 'https://venntur.com/assets/experience/files/600c20ad9f5d5384735017.jpg', 'https://venntur.com/assets/experience/files/60d2f09f2e710932983928.jpeg']\r\n\r\n constructor(\r\n private experienceService: ExperiencesService,\r\n private makerService: MakerService,\r\n public locationService: LocationService,\r\n private modalService: BsModalService,\r\n private router: Router,\r\n private titleService: Title,\r\n private takerService: TakerService,\r\n public translate: TranslateService,\r\n private renderer2: Renderer2,\r\n private formBuilder: UntypedFormBuilder,\r\n private analyticsService: AnalyticsService,\r\n private meta: Meta,\r\n private title: Title,\r\n private jsonLdService: JsonLdService,\r\n @Inject(DOCUMENT) private _document\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.removeMetaTags();\r\n this.loading = true;\r\n this.titleService.setTitle('Encuentra tu maker | Venntur');\r\n\r\n // this.makerId = this.router['browserUrlTree'].root.children.primary.segments[2].path;\r\n\r\n var makerSlug = this.router['rawUrlTree'].root.children.primary.segments[2].path;\r\n\r\n this.makerService.getMakerBySlug(makerSlug, this.translate.getDefaultLang()).subscribe(maker => {\r\n maker = maker['hydra:member'][0];\r\n this.makerService.getMaker(maker['@id'], this.translate.getDefaultLang()).subscribe((maker => {\r\n\r\n this.makerId = maker.id;\r\n\r\n this.maker = maker;\r\n this.cities = maker['activeLocations'];\r\n\r\n // Add JSON-LD script\r\n this.addJsonLdScript();\r\n\r\n const s = this.renderer2.createElement('script');\r\n s.type = 'text/javascript';\r\n s.src = `https://www.jscache.com/wejs?wtype=cdsratingsonlywide&uniq=609&border=true&lang=en_US&locationId=${maker['tripadvisor']}&border=false&display_version=2`;\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n\r\n this.meta.addTags([\r\n { name: 'description', content: this.removeHtmlTags(this.maker.description) },\r\n { name: 'lang', content: 'es' },\r\n { name: 'robots', content: 'index, follow' },\r\n { property: 'og:title', content: this.maker.name },\r\n { property: 'og:description', content: this.removeHtmlTags(this.maker.description) },\r\n { property: 'og:image', content: 'https://venntur.com/assets/maker/files/' + maker.mediaMakers[0].contentUrl },\r\n { property: 'og:url', content: 'https://venntur.com/' + this.maker.slug },\r\n { property: 'og:site_name', content: 'Venntur' }\r\n ]);\r\n this.setTitle(this.maker.name);\r\n\r\n /* ****************************************** */\r\n /* *********** GET EXPERIENCES ************** */\r\n /* Movida la obtención de experiencias fuera */\r\n /* del timeout porque no siempre cargaban... */\r\n /* ****************************************** */\r\n\r\n this.experienceService.getExperiencesByMakerId(this.makerId, {}, this.translate.getDefaultLang())\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.originalExperiences = experiences['hydra:member'];\r\n this.analyticsService.calculateAnalytic({ 'type': 'makerPage', 'directoryAnalyticsId': this.maker.directoriesAnalytics[0], 'experiences': experiences['hydra:member'] }).subscribe();\r\n this.experiences = this.originalExperiences.slice(0, 9);\r\n }));\r\n\r\n /* ****************************************** */\r\n /* ****************************************** */\r\n /* ****************************************** */\r\n\r\n\r\n\r\n }))\r\n\r\n });\r\n /* setTimeout(() => {\r\n \r\n }, 1000); */\r\n this.experienceService.getExperiencesByTakerId(this.takerService.getId()).subscribe(experiences => {\r\n this.takerExperiences = Array.from(experiences['hydra:member']).map((item) => item['@id']);\r\n });\r\n // this.locationService.getLocations().subscribe(locations => {\r\n // this.cities = locations['hydra:member'];\r\n // });\r\n }\r\n\r\n createForm() {\r\n this.experienceSearchForm = this.formBuilder.group({\r\n location: ['',\r\n Validators.required\r\n ]\r\n });\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent) {\r\n // Check if the click event target is not inside the element\r\n if (!this.isDescendant(event.target as Node, document.querySelector('.tags-container'))) {\r\n this.showCategories = false;\r\n }\r\n }\r\n\r\n // Helper function to check if an element is a descendant of another element\r\n private isDescendant(element: Node, parent: Node | null): boolean {\r\n while (element !== null) {\r\n if (element === parent) {\r\n return true;\r\n }\r\n element = element.parentNode;\r\n }\r\n return false;\r\n }\r\n\r\n clickFavorite(event, experienceId) {\r\n if (this.takerService.getId()) {\r\n this.takerExperiences.includes(experienceId) ?\r\n this.takerExperiences.splice(this.takerExperiences.indexOf(experienceId), 1) : this.takerExperiences.push(experienceId);\r\n const taker = {\r\n favoriteExperiences: this.takerExperiences\r\n };\r\n const editedTaker = new Taker(taker);\r\n this.takerService.putTaker(this.takerService.getId(), editedTaker).subscribe();\r\n } else {\r\n this.isAlertShown = true;\r\n }\r\n }\r\n\r\n expandText(index: number): void {\r\n this.expandedIndex = index === this.expandedIndex ? -1 : index;\r\n }\r\n\r\n onScroll() {\r\n this.loading = true;\r\n if (this.notScrolly && this.notEmptyExperience) {\r\n this.notScrolly = false;\r\n setTimeout(() => {\r\n this.loadNextExperience();\r\n }, 500);\r\n } else {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n loadNextExperience() {\r\n if (this.experiences.length < this.originalExperiences.length) {\r\n let i;\r\n const length = this.experiences.length;\r\n const experiencePerPage = 8;\r\n const experienceToLoad = this.originalExperiences.length - length;\r\n\r\n if (experienceToLoad >= experiencePerPage) {\r\n for (i = length; i <= length + experiencePerPage; i++) {\r\n this.experiences.push(this.originalExperiences[i]);\r\n }\r\n } else {\r\n for (i = length; i <= length + experienceToLoad - 1; i++) {\r\n this.experiences.push(this.originalExperiences[i]);\r\n }\r\n }\r\n this.notScrolly = true;\r\n } else {\r\n this.notEmptyExperience = false;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n searchExperiences() {\r\n this.loading = true;\r\n this.experienceService.getExperiencesByMakerId(this.makerId, { location: this.experienceSearchForm.get('location').value },\r\n this.translate.getDefaultLang())\r\n // this.experienceService.getExperiencesByMakerId(this.makerId, this.router['rawUrlTree'].queryParams, )\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.originalExperiences = experiences['hydra:member'];\r\n this.experiences = this.originalExperiences.slice(0, 10);\r\n this.loading = false;\r\n }));\r\n }\r\n\r\n openPhotosModal(template: TemplateRef, config: any) {\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n changePhoneTooltip(text: string) {\r\n const textarea = document.createElement('textarea');\r\n textarea.style.position = 'fixed';\r\n textarea.style.opacity = '0';\r\n textarea.value = text;\r\n document.body.appendChild(textarea);\r\n textarea.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(textarea);\r\n this.customEmailTooltip = 'Copiar al portapapeles'\r\n this.customPhoneTooltip = 'Copiado!'\r\n }\r\n\r\n changeEmailTooltip(text: string) {\r\n const textarea = document.createElement('textarea');\r\n textarea.style.position = 'fixed';\r\n textarea.style.opacity = '0';\r\n textarea.value = text;\r\n document.body.appendChild(textarea);\r\n textarea.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(textarea);\r\n this.customPhoneTooltip = 'Copiar al portapapeles'\r\n this.customEmailTooltip = 'Copiado!'\r\n }\r\n\r\n convertTimeToCustomFormat(inputTime: string): string {\r\n let formattedText;\r\n const [hours, minutes] = inputTime.split(':').map(part => parseInt(part, 10));\r\n\r\n if (minutes != 0) {\r\n formattedText = hours + ' h y ' + minutes + ' min'\r\n } else {\r\n formattedText = hours + ' h'\r\n }\r\n\r\n return formattedText;\r\n }\r\n\r\n getUrl(isCivitatis, image) {\r\n return !isCivitatis ? 'https://venntur.com/assets/experience/files/' + image : image;\r\n }\r\n\r\n setCategoryTitle(experience) {\r\n return experience.categories.map(obj => obj.name).join(' / ')\r\n }\r\n setActiveCategoryTitle(activeCategories) {\r\n return activeCategories.map(obj => obj[1]).join(' - ')\r\n }\r\n\r\n setLanguagesTitle(experience) {\r\n return experience.languages.map(obj => obj.name).join(' , ')\r\n }\r\n\r\n shareExperience(experience) {\r\n var enlace = 'https://venntur.com/product/' + experience.slug;\r\n var mensaje = '¡Mira esta experiencia en Venntur!';\r\n\r\n mensaje = encodeURIComponent(mensaje);\r\n enlace = encodeURIComponent(enlace);\r\n\r\n var enlaceWhatsApp = 'https://wa.me/?text=' + mensaje + '%20' + enlace;\r\n\r\n window.open(enlaceWhatsApp);\r\n }\r\n\r\n private addJsonLdScript(): void {\r\n const jsonLd = {\r\n \"@context\": \"https://schema.org\",\r\n \"@type\": \"Organization\",\r\n \"name\": this.maker.name,\r\n \"url\": `https://venntur.com/${this.maker.slug}`,\r\n \"description\": this.removeHtmlTags(this.maker.description),\r\n \"address\": {\r\n \"@type\": \"PostalAddress\",\r\n \"addressLocality\": this.cities?.map((city) => city.name).join(', ')\r\n },\r\n \"image\": `https://venntur.com/assets/maker/files/${this.maker.mediaMakers[0].contentUrl}`,\r\n \"telephone\": this.maker.phone,\r\n \"sameAs\": this.maker.socialMediaLinks // Assuming you have an array of social media URLs\r\n };\r\n\r\n const script = this.renderer2.createElement('script');\r\n script.type = 'application/ld+json';\r\n script.text = JSON.stringify(jsonLd);\r\n this.renderer2.appendChild(this._document.head, script);\r\n }\r\n\r\n removeHtmlTags(input) {\r\n if (input) {\r\n let stringWithoutEntities = input.replace(/&[a-zA-Z]+;/g, function (match) {\r\n const entityMap = {\r\n 'á': 'á',\r\n 'ó': 'ó',\r\n 'é': 'é',\r\n 'í': 'í',\r\n 'ú': 'ú',\r\n };\r\n return entityMap[match] || match;\r\n });\r\n \r\n return stringWithoutEntities.replace(/<\\/?[^>]+(>|$)/g, \"\");\r\n }\r\n \r\n return input;\r\n }\r\n\r\n removeMetaTags() {\r\n const metaTags = Array.from(document.querySelectorAll('meta'));\r\n\r\n metaTags.forEach((metaTag: Element) => {\r\n this.renderer2.removeChild(document.head, metaTag);\r\n });\r\n }\r\n\r\n public setTitle(newTitle: string) {\r\n this.title.setTitle(newTitle);\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n 0 ? maker.mediaMakersHeader[0].contentUrl : '')\"\r\n alt=\"Imagen de cabecera\" onError=\"this.src='https://venntur.com/assets/image-not-available-placeholder.png'\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n 0 ? maker.mediaMakers[0].contentUrl : '')\"\r\n alt=\"{{maker['phrase']}}\" title=\"{{maker['phrase']}}\"\r\n onError=\"this.src='assets/image-not-available-placeholder.png'\">\r\n
    \r\n
    \r\n

    {{maker.name}}

    \r\n {{maker.address}}\r\n {{maker.postalCode}},\r\n {{maker.location.name}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{activeCategory[1]}}\r\n \r\n
    \r\n \r\n
    \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 {{ 'Estas son las experiencias que tenemos para ti' | translate }}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, ElementRef, Inject, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { Experience } from '../../experiences/experiences/experience.model';\r\nimport { AnalyticsService } from '../../analytics/analytics.service';\r\nimport { TakerService } from '../../shared/taker.service';\r\nimport KeenSlider, { KeenSliderInstance } from 'keen-slider';\r\n\r\n@Component({\r\n selector: 'app-maker-pin',\r\n templateUrl: './maker-pin.component.html',\r\n styleUrls: ['./maker-pin.component.scss',\r\n '../../../../../node_modules/keen-slider/keen-slider.min.css'],\r\n\r\n})\r\nexport class MakerPinComponent implements OnInit {\r\n\r\n @ViewChild(\"pinImagesSlider\") pinImagesSlider: ElementRef;\r\n public originalExperiences: Experience[];\r\n experiences = [];\r\n takerExperiences = [];\r\n makerImages = [];\r\n loading = false;\r\n makerId = null;\r\n maker = null;\r\n cities = null;\r\n showTab = 'companyData';\r\n pagesQuantity = 0;\r\n currentPage = 1;\r\n\r\n currentSlide: number = 0\r\n dotHelper: Array = []\r\n slider: KeenSliderInstance = null\r\n\r\n constructor(\r\n private titleService: Title,\r\n private router: Router,\r\n private makerService: MakerService,\r\n public translate: TranslateService,\r\n private renderer2: Renderer2,\r\n private experienceService: ExperiencesService,\r\n private takerService: TakerService,\r\n @Inject(DOCUMENT) private _document\r\n\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n this.titleService.setTitle('Encuentra tu maker | Venntur');\r\n\r\n var makerSlug = this.router['rawUrlTree'].root.children.primary.segments[2].path;\r\n\r\n this.makerService.getMakerBySlug(makerSlug, this.translate.getDefaultLang()).subscribe(maker => {\r\n\r\n maker = maker['hydra:member'][0];\r\n\r\n this.makerService.getMakerById(maker.id).subscribe(maker => {\r\n\r\n if (maker.mediaMakersDocs.length > 0) {\r\n maker.mediaMakersDocs.forEach(doc => {\r\n\r\n //cases: Licencia de actividad, Plantilla de contrato de colaboracion, Poliza RRCC, ReciboRRCC, Catalogos\r\n\r\n switch (doc.typeOf) {\r\n case 'Licencia de actividad':\r\n doc.typeOf = 'Licencia de actividad';\r\n break;\r\n case 'Plantilla de contrato de colaboracion':\r\n doc.typeOf = 'Plantilla de contrato de colaboración';\r\n break;\r\n case 'Poliza RRCC': \r\n doc.typeOf = 'Póliza RRCC';\r\n break;\r\n case 'Recibo RRCC':\r\n doc.typeOf = 'Recibo RRCC';\r\n break;\r\n case 'Catalogos':\r\n doc.typeOf = 'Catálogos';\r\n break;\r\n }\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n this.makerId = maker.id;\r\n\r\n this.maker = maker;\r\n\r\n maker.mediaMakersHeader.forEach(image => {\r\n this.makerImages.push('https://venntur.com/assets/makerHeader/files/' + image.contentUrl)\r\n });\r\n maker.mediaMakersStaff.forEach(image => {\r\n this.makerImages.push('https://venntur.com/assets/makerStaff/files/' + image.contentUrl)\r\n });\r\n\r\n this.cities = maker['activeLocations'];\r\n const s = this.renderer2.createElement('script');\r\n s.type = 'text/javascript';\r\n s.src = `https://www.jscache.com/wejs?wtype=cdsratingsonlywide&uniq=609&border=true&lang=en_US&locationId=${maker['tripadvisor']}&border=false&display_version=2`;\r\n s.text = ``;\r\n this.renderer2.appendChild(this._document.body, s);\r\n\r\n this.experienceService.getExperiencesByMakerId(this.makerId, {}, 'es')\r\n .pipe(\r\n finalize(() => this.loading = false)\r\n )\r\n .subscribe((experiences => {\r\n this.originalExperiences = experiences['hydra:member'];\r\n this.pagesQuantity = Math.ceil(this.originalExperiences.length / 4)\r\n console.log(this.pagesQuantity);\r\n\r\n }));\r\n\r\n });\r\n\r\n\r\n });\r\n this.experienceService.getExperiencesByTakerId(this.takerService.getId()).subscribe(experiences => {\r\n this.takerExperiences = Array.from(experiences['hydra:member']).map((item) => item['@id']);\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.slider = new KeenSlider(this.pinImagesSlider.nativeElement, {\r\n initial: this.currentSlide,\r\n slideChanged: (s) => {\r\n this.currentSlide = s.track.details.rel\r\n },\r\n })\r\n this.dotHelper = [\r\n ...Array(this.slider.track.details.slides.length).keys(),\r\n ]\r\n }, 1000);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.slider) this.slider.destroy()\r\n }\r\n\r\n setCategoryTitle(experience) {\r\n return experience.categories.map(obj => obj.name).join(', ')\r\n }\r\n\r\n nextPage() {\r\n if (this.currentPage == this.pagesQuantity) {\r\n return\r\n } else {\r\n this.currentPage++;\r\n }\r\n }\r\n\r\n prevPage() {\r\n if (this.currentPage == 1) {\r\n return\r\n } else {\r\n this.currentPage--;\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 ? maker.mediaMakers[0].contentUrl : '')\"\r\n alt=\"Imagen de la empresa\">\r\n
    \r\n
    \r\n Nombre Comercial\r\n {{maker.name}}\r\n
    \r\n
    \r\n
    \r\n ID\r\n {{maker.id}}\r\n
    \r\n
    \r\n API Tripadvisor\r\n {{maker.tripadvisor}}\r\n
    \r\n
    \r\n Sistemas de reservas\r\n {{maker.bookingEngine}}\r\n
    \r\n
    \r\n ID sistema de reservas ({{maker.bookingEngine}})\r\n {{maker.bookingEngineWidget}}\r\n \r\n
    \r\n
    \r\n Google Maps\r\n {{maker.googleMaps}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Nombre Comercial\r\n {{maker.name}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \"{{maker.name}}\r\n
    \r\n
    \r\n
    \r\n
    1\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Nombre Comercial\r\n {{maker.name}}\r\n
    \r\n
    \r\n
    \r\n ID\r\n {{maker.id}}\r\n
    \r\n
    \r\n API Tripadvisor\r\n {{maker.tripadvisor}}\r\n
    \r\n
    \r\n Sistemas de reservas\r\n {{maker.bookingEngine}}\r\n
    \r\n
    \r\n ID sistema de reservas ({{maker.bookingEngine}})\r\n {{maker.bookingEngineWidget}}\r\n
    \r\n
    \r\n Google Maps\r\n {{maker.googleSites}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Razón Social\r\n \r\n \r\n {{maker.companyName}}\r\n \r\n
    \r\n
    \r\n \r\n {{maker.documentType}}\r\n \r\n \r\n {{maker.document}}\r\n \r\n
    \r\n
    \r\n \r\n Dirección\r\n \r\n \r\n {{maker.address}}\r\n \r\n
    \r\n
    \r\n \r\n Zona\r\n \r\n \r\n {{maker.location.name}}\r\n \r\n
    \r\n
    \r\n \r\n País\r\n \r\n \r\n {{maker.country}}\r\n \r\n
    \r\n
    \r\n \r\n {{maker.web}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Contacto\r\n \r\n \r\n {{maker.name}}\r\n \r\n
    \r\n
    \r\n \r\n Teléfono\r\n \r\n \r\n {{maker.phone}}\r\n \r\n
    \r\n
    \r\n \r\n Teléfono 2\r\n \r\n \r\n {{maker.phone2}}\r\n \r\n
    \r\n
    \r\n \r\n Mail Reservas\r\n \r\n \r\n {{maker.bookingEmail}}\r\n \r\n
    \r\n
    \r\n \r\n Mail Comercial\r\n \r\n \r\n {{maker.email}}\r\n \r\n
    \r\n
    \r\n \r\n Mail Administración\r\n \r\n \r\n {{maker.administrationEmail}}\r\n \r\n
    \r\n
    \r\n \r\n RR SS\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Condiciones de reserva\r\n \r\n \r\n \r\n {{maker.reservationConditions}}\r\n\r\n \r\n
    \r\n
    \r\n \r\n Condiciones de cancelación y cambios\r\n \r\n \r\n {{maker.cancelationConditions}}\r\n \r\n
    \r\n
    \r\n \r\n Condiciones de pago\r\n \r\n \r\n {{maker.paymentConditions}}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Productos\r\n
    \r\n Total: \r\n {{originalExperiences.length}} productos\r\n
    \r\n
    \r\n
    0\">\r\n
    \r\n
    \r\n {{experience.name}}\r\n
    \r\n \"Imagen\r\n {{experience.name}}\r\n \r\n
    \r\n
    \r\n Ubicación\r\n
    \r\n {{experience.location.name}}\r\n
    \r\n
    \r\n
    \r\n Modalidades\r\n
    \r\n
    \r\n {{modality.title}}XXX, \r\n
    \r\n
    \r\n
    \r\n
    \r\n Categorías\r\n
    \r\n
    \r\n {{category.name}}, \r\n
    \r\n
    \r\n
    \r\n Ver\r\n Descargar\r\n
    \r\n
    \r\n \r\n
    \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, TemplateRef } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Maker } from './maker.model';\r\nimport { HttpEventType } from '@angular/common/http';\r\nimport { MediaMakerService } from './media-maker';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { CustomValidators, errorMessages, regExps } from '../../shared/custom-validators';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Tag } from '../../../shared/tags/tag.model';\r\nimport { TagsService } from '../../../shared/tags/tags.service';\r\nimport { User } from '../../../shared/users/user.model';\r\nimport { UsersService } from '../../../shared/users/users.service';\r\nimport { LocationService } from 'src/app/shared/locations/location.service';\r\nimport { CountryService } from 'src/app/shared/locations/country.service';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { Location } from '../../../shared/locations/location.model';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ModalAlertComponent } from 'src/app/shared/modal-alert/modal-alert.component';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\n//import file from angular http\r\n\r\ndeclare const Stripe: any;\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\nconst PUBLIC_KEY = environment.stripe.publicKey;\r\nconst BASIC_PRICE = environment.stripe.basicPrice;\r\n\r\n@Component({\r\n selector: 'app-maker',\r\n styleUrls: ['./maker.component.scss'],\r\n templateUrl: './maker.component.html',\r\n\r\n})\r\nexport class MakerComponent implements OnInit {\r\n public Editor = ClassicEditor;\r\n contactForm: UntypedFormGroup;\r\n makerForm: UntypedFormGroup;\r\n planForm: UntypedFormGroup;\r\n maker: Maker;\r\n title = 'Perfil maker';\r\n documentTypes = ['DNI', 'NIE', 'CIF'];\r\n documentTypeSelected = null;\r\n selectedFile: File;\r\n selectedFiles = [];\r\n uploadedFiles = [];\r\n\r\n selectedPdfFile: File;\r\n selectedPdfFiles = [];\r\n uploadedPdfFiles = [];\r\n pdfFiles: any;\r\n\r\n validPolizaRRCC = false;\r\n validReciboRRCC = false;\r\n validLicenciaActividad = false;\r\n validPlantillaContratoColaboracion = false;\r\n validCatalogos = false;\r\n\r\n namePolizaRRCC = '';\r\n nameReciboRRCC = '';\r\n nameLicenciaActividad = '';\r\n namePlantillaContratoColaboracion = '';\r\n nameCatalogos = '';\r\n\r\n image = null;\r\n contactImage = null;\r\n images = [];\r\n logoImage = null;\r\n headerImage = null;\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n alert = { message: null, type: null };\r\n errors = errorMessages;\r\n uploadProgress = 0;\r\n makerId = null;\r\n phraseMaxChar = 160;\r\n descriptionMaxChar = 1200;\r\n plan = null;\r\n invoices = [];\r\n tags: Tag[] = [];\r\n tagsSelected = [];\r\n mediaMakersStaff = [];\r\n formLanguage = this.translate.getDefaultLang();\r\n columns = [];\r\n rows = [];\r\n plans = [];\r\n planSelected = null;\r\n public locationList: ReplaySubject = new ReplaySubject(1);\r\n countryList = [];\r\n editorTemplateStaticData = '';\r\n editorTemplate: any;\r\n\r\n locations: Location[] = [];\r\n\r\n makerExperiences: any;\r\n totalExperiences: any;\r\n publishedExperiences = 0;\r\n\r\n showTab = 'private';\r\n nextPayment = null;\r\n\r\n isInfoValid = false;\r\n isDirectoryValid = false;\r\n isSheetValid = false;\r\n isPinValid = false;\r\n pdf: any;\r\n\r\n productsSelected = 3;\r\n regulation = 'monthly'\r\n modalRef: BsModalRef;\r\n\r\n bookingEngine = '';\r\n\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService,\r\n private experiencesService: ExperiencesService,\r\n private makerService: MakerService,\r\n private userService: UsersService,\r\n private tagService: TagsService,\r\n private mediaMakerService: MediaMakerService,\r\n private locationService: LocationService,\r\n private countryService: CountryService,\r\n public translate: TranslateService,\r\n public dialog: BsModalService\r\n ) {\r\n this.makerService.getPlans().subscribe(plans => {\r\n this.plans = plans['hydra:member'];\r\n });\r\n /* this.locationService.getLocations().subscribe(locations => {\r\n this.locationList = locations['hydra:member'];\r\n }); */\r\n this.countryService.getCountries().subscribe(countries => {\r\n this.countryList = countries;\r\n });\r\n if (this.makerService.getId()) {\r\n this.title = 'Editar perfil maker';\r\n this.makerId = '/makers/' + this.makerService.getId();\r\n }\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.makerId) {\r\n setTimeout(() => {\r\n /* this.tagService.getTags(this.translate.getDefaultLang()).subscribe(tags => {\r\n this.tags = tags['hydra:member'];\r\n }); */\r\n this.editMaker(this.makerId);\r\n }, 1000);\r\n }\r\n\r\n this.makerForm.valueChanges.subscribe(changes => {\r\n this.checkInfoContent();\r\n this.checkDirectoryContent();\r\n this.checkSheetContent();\r\n this.checkPinContent();\r\n // this.checkWebSheetContent();\r\n });\r\n\r\n this.tagService.getTags(this.translate.getDefaultLang()).subscribe(tags => {\r\n this.tags = tags['hydra:member'];\r\n });\r\n\r\n this.activatedRoute.params.subscribe(params => {\r\n if (this.router.routerState.snapshot.url.split('/').pop() === \"basico\") {\r\n this.enableBasicFields();\r\n }\r\n setTimeout(() => {\r\n if (params['plan']) {\r\n this.planForm.get('plan').setValue(params['plan'].toLowerCase());\r\n this.plan = params['plan'];\r\n } else {\r\n this.planForm.get('plan').setValue('Plan Free - de 1 a 3 productos en directorio');\r\n this.plan = 'Plan Free - de 1 a 3 productos en directorio';\r\n }\r\n }, 1000);\r\n });\r\n\r\n this.experiencesService.getAllExperiencesByMakerId(this.makerService.getId()).subscribe(((resp: any) => {\r\n this.makerExperiences = resp['hydra:member'];\r\n this.totalExperiences = this.makerExperiences.length;\r\n\r\n this.makerExperiences.forEach(experience => {\r\n if (experience.isActive) {\r\n this.publishedExperiences++\r\n }\r\n });\r\n }))\r\n }\r\n\r\n createForm() {\r\n this.makerForm = this.formBuilder.group({\r\n name: ['',\r\n Validators.required\r\n ],\r\n companyName: ['',\r\n Validators.required],\r\n documentType: [null,\r\n Validators.required\r\n ],\r\n document: [null, [\r\n Validators.required,\r\n // CustomValidators.dniOrNieValidator\r\n ]],\r\n contactName: ['', [\r\n Validators.required,\r\n ]],\r\n contactLastname: ['', [\r\n Validators.required,\r\n ]],\r\n contactPhone: ['', [\r\n Validators.required,\r\n ]],\r\n contactEmail: ['', [\r\n Validators.required,\r\n ]],\r\n mediaMakers: [[],\r\n Validators.required\r\n ],\r\n mediaMakersHeader: [[], Validators.required\r\n ],\r\n mediaMakersLogo: [[]\r\n ],\r\n mediaMakersStaff: [[]\r\n ],\r\n phrase: ['', Validators.required],\r\n address: ['',\r\n Validators.required],\r\n location: [null,\r\n Validators.required],\r\n country: [null,\r\n Validators.required],\r\n postalCode: [null, [\r\n Validators.required,\r\n Validators.pattern('^[0-9]{5}$') // Validates exactly 5 digits\r\n ]],\r\n phone: ['', [\r\n Validators.required,\r\n Validators.pattern(regExps.phone)\r\n ]],\r\n whatsapp: ['', [\r\n Validators.pattern(regExps.phone)\r\n ]],\r\n email: ['', [\r\n Validators.required,\r\n Validators.email\r\n ]],\r\n web: ['', [\r\n Validators.required,\r\n Validators.pattern(regExps.url)\r\n ]\r\n ],\r\n sustainableSeal: [false],\r\n user: ['/users/' + this.authService.getUserId()],\r\n tripadvisor: [''],\r\n description: [''],\r\n founders: [''],\r\n director: [''],\r\n operations: [''],\r\n technology: [''],\r\n customerId: [''],\r\n instagram: [''],\r\n twitter: [''],\r\n linkedIn: [''],\r\n facebook: [''],\r\n tags: [['/tags/10']],\r\n slug: [''],\r\n bookingEmail: [''],\r\n holdedId: [''],\r\n googleSites: [''],\r\n googleMaps: [''],\r\n phone2: [''],\r\n tripadvisorApiWidgetReview: [''],\r\n bookingEngine: [''],\r\n bookingEngineWidget: [''],\r\n polizaRRCC: [''],\r\n reciboRRCC: [''],\r\n licenciaActividad: [''],\r\n plantillaContratoColaboracion: [''],\r\n catalogos: [''],\r\n administrationEmail: [''],\r\n reservationConditions: [''],\r\n paymentConditions: [''],\r\n cancelationConditions: [''],\r\n idFareharbor: [''],\r\n });\r\n this.contactForm = this.formBuilder.group({\r\n mediaContacts: [[]],\r\n name: ['',\r\n Validators.required\r\n ],\r\n position: ['',\r\n Validators.required\r\n ],\r\n email: ['',\r\n Validators.required\r\n ],\r\n phone: ['',\r\n Validators.required\r\n ]\r\n });\r\n this.planForm = this.formBuilder.group({\r\n plan: ['']\r\n });\r\n }\r\n\r\n async createMaker() {\r\n this.makerForm.markAllAsTouched();\r\n // if (this.makerForm.invalid) {\r\n // this.showErrors(this.makerForm);\r\n // return;\r\n // }\r\n\r\n\r\n\r\n var slug = this.makerForm.get('name').value;\r\n\r\n console.log(\"Slug sin limpiar:\");\r\n console.log(slug);\r\n\r\n slug = await this.convertSlug(slug);\r\n\r\n console.log(\"Slug FINAL:\");\r\n console.log(slug);\r\n\r\n var postalCodeString = this.makerForm.get('postalCode').value.toString();\r\n\r\n\r\n const maker = {\r\n name: this.makerForm.get('name').value,\r\n companyName: this.makerForm.get('companyName').value,\r\n documentType: this.makerForm.get('documentType').value,\r\n document: this.makerForm.get('document').value,\r\n contactName: this.makerForm.get('contactName').value,\r\n contactLastname: this.makerForm.get('contactLastname').value,\r\n bookingEmail: this.makerForm.get('contactEmail').value,\r\n mediaMakers: this.makerForm.get('mediaMakers').value,\r\n mediaMakersHeader: this.makerForm.get('mediaMakersHeader').value,\r\n // mediaMakersLogo: this.makerForm.get('mediaMakersLogo').value,\r\n mediaMakersStaff: this.makerForm.get('mediaMakersStaff').value,\r\n phrase: this.makerForm.get('phrase').value,\r\n phone: this.makerForm.get('phone').value,\r\n whatsapp: this.makerForm.get('whatsapp').value,\r\n email: this.makerForm.get('email').value,\r\n web: this.makerForm.get('web').value,\r\n sustainableSeal: this.makerForm.get('sustainableSeal').value,\r\n user: this.makerForm.get('user').value,\r\n tripadvisor: this.makerForm.get('tripadvisor').value,\r\n description: this.makerForm.get('description').value,\r\n founders: this.makerForm.get('founders').value,\r\n director: this.makerForm.get('director').value,\r\n operations: this.makerForm.get('operations').value,\r\n technology: this.makerForm.get('technology').value,\r\n customerId: this.makerForm.get('customerId').value,\r\n instagram: this.makerForm.get('instagram').value,\r\n twitter: this.makerForm.get('twitter').value,\r\n linkedIn: this.makerForm.get('linkedIn').value,\r\n facebook: this.makerForm.get('facebook').value,\r\n tags: this.makerForm.get('tags').value,\r\n slug: slug,\r\n address: this.makerForm.get('address').value,\r\n postalCode: postalCodeString,\r\n location: this.makerForm.get('location').value,\r\n country: this.makerForm.get('country').value,\r\n holdedId: this.makerForm.get('holdedId').value,\r\n googleSites: this.makerForm.get('googleSites').value,\r\n googleMaps: this.makerForm.get('googleMaps').value,\r\n phone2: this.makerForm.get('phone2').value,\r\n tripadvisorApiWidgetReview: this.makerForm.get('tripadvisorApiWidgetReview').value,\r\n bookingEngine: this.makerForm.get('bookingEngine').value,\r\n bookingEngineWidget: this.makerForm.get('bookingEngineWidget').value,\r\n directoryCompleted: this.isDirectoryValid,\r\n sheetCompleted: this.isSheetValid,\r\n pinCompleted: this.isPinValid,\r\n administrationEmail: this.makerForm.get('administrationEmail').value,\r\n reservationConditions: this.makerForm.get('reservationConditions').value,\r\n paymentConditions: this.makerForm.get('paymentConditions').value,\r\n cancelationConditions: this.makerForm.get('cancelationConditions').value,\r\n idFareharbor: this.makerForm.get('idFareharbor').value,\r\n };\r\n if (this.maker) {\r\n this.createMakerPlan(false);\r\n } else {\r\n this.makerService.postMaker(maker).subscribe(() => {\r\n // this.alert.type = 1;\r\n // this.alert.message = this.translate.instant('Maker creado correctamente');\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n const roles = this.authService.roles();\r\n if (!roles.includes('ROLE_MAKER')) {\r\n roles.push('ROLE_MAKER');\r\n }\r\n const editedUser = new User({ roles: roles });\r\n this.userService.putUser(this.authService.getUserId(), editedUser).subscribe(currentUser => {\r\n localStorage.setItem('user', JSON.stringify(currentUser));\r\n });\r\n this.makerService.getMakerByUserId(this.authService.getUserId()).subscribe(currentMaker => {\r\n this.maker = currentMaker;\r\n this.makerId = currentMaker.id;\r\n localStorage.setItem('maker', JSON.stringify({ id: currentMaker.id, name: currentMaker.name }));\r\n this.createMakerPlan(false);\r\n });\r\n this.openAlert('Maker creado!', 'w-300', true)\r\n }, (error) => {\r\n // this.alert.message = error.error.code + '- ' + error.error.message;\r\n // this.alert.type = 2;\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n });\r\n }\r\n }\r\n\r\n editMaker(makerId) {\r\n this.makerService.getMaker(makerId, this.translate.getDefaultLang()).subscribe((maker: Maker) => {\r\n this.maker = maker;\r\n this.makerForm.get('name').setValue(maker.name);\r\n this.makerForm.get('email').setValue(maker.email);\r\n this.makerForm.get('documentType').setValue(maker.documentType);\r\n this.makerForm.get('document').setValue(maker.document);\r\n this.makerForm.get('phrase').setValue(maker.phrase);\r\n this.makerForm.get('phone').setValue(maker.phone);\r\n this.makerForm.get('whatsapp').setValue(maker.whatsapp);\r\n this.makerForm.get('email').setValue(maker.email);\r\n this.makerForm.get('web').setValue(maker.web);\r\n this.makerForm.get('sustainableSeal').setValue(maker.sustainableSeal);\r\n this.makerForm.get('address').setValue(maker.address);\r\n this.makerForm.get('postalCode').setValue(maker.postalCode);\r\n this.makerForm.get('companyName').setValue(maker.companyName);\r\n this.makerForm.get('contactName').setValue(maker.contactName);\r\n this.makerForm.get('contactLastname').setValue(maker.contactLastname);\r\n this.makerForm.get('bookingEmail').setValue(maker.bookingEmail);\r\n this.makerForm.get('country').setValue(maker.country);\r\n this.makerForm.get('holdedId').setValue(maker.holdedId);\r\n this.makerForm.get('googleSites').setValue(maker.googleSites);\r\n this.makerForm.get('googleMaps').setValue(maker.googleMaps);\r\n this.makerForm.get('phone2').setValue(maker.phone2);\r\n this.makerForm.get('tripadvisorApiWidgetReview').setValue(maker.tripadvisorApiWidgetReview);\r\n this.makerForm.get('bookingEngine').setValue(maker.bookingEngine);\r\n this.bookingEngine = maker.bookingEngine;\r\n this.makerForm.get('bookingEngineWidget').setValue(maker.bookingEngineWidget);\r\n this.makerForm.get('administrationEmail').setValue(maker.administrationEmail);\r\n this.makerForm.get('reservationConditions').setValue(maker.reservationConditions);\r\n this.makerForm.get('paymentConditions').setValue(maker.paymentConditions);\r\n this.makerForm.get('cancelationConditions').setValue(maker.cancelationConditions);\r\n this.makerForm.get('idFareharbor').setValue(maker.idFareharbor);\r\n\r\n\r\n if (maker.country) {\r\n this.loadLocations(maker.country);\r\n }\r\n\r\n if (maker.mediaMakersDocs.length > 0) {\r\n console.log(\"Hay documentos\");\r\n console.log(maker.mediaMakersDocs);\r\n this.pdfFiles = maker.mediaMakersDocs;\r\n\r\n maker.mediaMakersDocs.forEach(pdf => {\r\n\r\n this.uploadedPdfFiles.push({\r\n id: pdf['@id'],\r\n url: '/assets/maker/pdf/files/' + pdf.contentUrl,\r\n name: pdf.name ? pdf.name : pdf.contentUrl,\r\n typeOf: pdf.typeOf\r\n });\r\n\r\n });\r\n\r\n if (this.uploadedPdfFiles.length > 0) {\r\n\r\n this.uploadedPdfFiles.forEach(pdf => {\r\n this.selectedPdfFiles.push(pdf);\r\n\r\n switch (pdf.typeOf) {\r\n case 'Poliza RRCC':\r\n this.validPolizaRRCC = true;\r\n this.namePolizaRRCC = pdf.name;\r\n break;\r\n case 'Recibo RRCC':\r\n this.validReciboRRCC = true;\r\n this.nameReciboRRCC = pdf.name;\r\n break;\r\n case 'Licencia de actividad':\r\n this.validLicenciaActividad = true;\r\n this.nameLicenciaActividad = pdf.name;\r\n break;\r\n case 'Plantilla de contrato de colaboración':\r\n this.validPlantillaContratoColaboracion = true;\r\n this.namePlantillaContratoColaboracion = pdf.name;\r\n break;\r\n case 'Catalogos':\r\n this.validCatalogos = true;\r\n this.nameCatalogos = pdf.name;\r\n break;\r\n\r\n }\r\n\r\n\r\n //this.switchDocsValues(pdf.typeOf, pdf);\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n this.makerForm.get('location').setValue(maker.location ? maker.location['@id'] : null);\r\n\r\n if (maker.mediaMakers.length > 0) {\r\n this.makerForm.get('mediaMakers').setValue([maker.mediaMakers[0]['@id']]);\r\n this.image = '/assets/maker/files/' + maker.mediaMakers[0]['contentUrl'];\r\n }\r\n if (maker['makerPlan'] && maker['holdedId']) {\r\n if (maker['makerPlan']['plan']['name'] === \"Básico\") {\r\n this.enableBasicFields();\r\n }\r\n this.makerService.getInvoices(this.maker['holdedId']).subscribe((result) => {\r\n this.invoices = result['invoices'];\r\n });\r\n\r\n this.makerService.getStripeCustomer(this.maker['makerPlan']['stripeCustomerId']).subscribe((resp: any) => {\r\n this.nextPayment = resp['stripeCustomer'];\r\n })\r\n }\r\n\r\n this.makerForm.get('tripadvisor').setValue(maker.tripadvisor);\r\n this.makerForm.get('description').setValue(maker.description);\r\n this.makerForm.get('founders').setValue(maker.founders);\r\n this.makerForm.get('director').setValue(maker.director);\r\n this.makerForm.get('operations').setValue(maker.operations);\r\n this.makerForm.get('technology').setValue(maker.technology);\r\n this.makerForm.get('customerId').setValue(maker.customerId);\r\n this.makerForm.get('instagram').setValue(maker.instagram);\r\n this.makerForm.get('twitter').setValue(maker.twitter);\r\n this.makerForm.get('linkedIn').setValue(maker.linkedIn);\r\n this.makerForm.get('facebook').setValue(maker.facebook);\r\n\r\n const tags = [];\r\n if (maker.tags) {\r\n maker.tags.forEach(tag => {\r\n tags.push(tag);\r\n });\r\n this.makerForm.get('tags').setValue(tags);\r\n }\r\n // this.makerForm.get('tags').setValue(maker.tags);\r\n if (maker.mediaMakersHeader.length > 0) {\r\n this.makerForm.get('mediaMakersHeader').setValue([maker.mediaMakersHeader[0]['@id']]);\r\n this.headerImage = '/assets/makerHeader/files/' + maker.mediaMakersHeader[0]['contentUrl'];\r\n }\r\n // if (maker.mediaMakersLogo.length > 0) {\r\n // this.makerForm.get('mediaMakersLogo').setValue([maker.mediaMakersLogo[0]['@id']]);\r\n // this.logoImage = '/assets/makerLogo/files/' + maker.mediaMakersLogo[0]['contentUrl'];\r\n // }\r\n maker.mediaMakersStaff.forEach(mediaMakerStaff => {\r\n if (!this.mediaMakersStaff.some(e => e.id === mediaMakerStaff['@id'])) {\r\n this.mediaMakersStaff.push({ url: '/assets/makerStaff/files/' + mediaMakerStaff['contentUrl'], id: mediaMakerStaff['@id'] });\r\n this.uploadedFiles.push(mediaMakerStaff['@id']);\r\n } else if (this.mediaMakersStaff.length <= 0) {\r\n this.mediaMakersStaff.push({ url: '/assets/makerStaff/files/' + mediaMakerStaff['contentUrl'], id: mediaMakerStaff['@id'] });\r\n this.uploadedFiles.push(mediaMakerStaff['@id']);\r\n }\r\n });\r\n this.makerForm.get('mediaMakersStaff').setValue(this.uploadedFiles);\r\n this.rows = maker['contacts'];\r\n if (this.makerForm.get('documentType').value === 'Otros') {\r\n this.makerForm.get('document').setErrors(null);\r\n this.makerForm.get('document').clearValidators();\r\n this.makerForm.get('document').setValidators([Validators.required]);\r\n this.makerForm.updateValueAndValidity();\r\n }\r\n });\r\n }\r\n\r\n async updateMaker() {\r\n this.makerForm.markAllAsTouched();\r\n // if (this.makerForm.invalid) {\r\n // this.showErrors(this.makerForm);\r\n // return;\r\n // }\r\n\r\n\r\n if (this.selectedPdfFiles.length > 0) {\r\n\r\n //this.uploadPdfFiles();\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n var slug = this.makerForm.get('name').value;\r\n\r\n console.log(\"Slug sin limpiar:\");\r\n console.log(slug);\r\n\r\n slug = await this.convertSlug(slug);\r\n\r\n console.log(\"Slug FINAL:\");\r\n console.log(slug);\r\n\r\n var postalCodeString = this.makerForm.get('postalCode').value ? this.makerForm.get('postalCode').value.toString() : null;\r\n\r\n\r\n const maker = {\r\n name: this.makerForm.get('name').value,\r\n documentType: this.makerForm.get('documentType').value,\r\n document: this.makerForm.get('document').value,\r\n mediaMakers: this.makerForm.get('mediaMakers').value,\r\n mediaMakersHeader: this.makerForm.get('mediaMakersHeader').value,\r\n // mediaMakersLogo: this.makerForm.get('mediaMakersLogo').value,\r\n mediaMakersStaff: this.makerForm.get('mediaMakersStaff').value,\r\n phrase: this.makerForm.get('phrase').value,\r\n phone: this.makerForm.get('phone').value,\r\n whatsapp: this.makerForm.get('whatsapp').value,\r\n email: this.makerForm.get('email').value,\r\n web: this.makerForm.get('web').value,\r\n sustainableSeal: this.makerForm.get('sustainableSeal').value,\r\n tripadvisor: this.makerForm.get('tripadvisor').value,\r\n description: this.makerForm.get('description').value,\r\n founders: this.makerForm.get('founders').value,\r\n director: this.makerForm.get('director').value,\r\n operations: this.makerForm.get('operations').value,\r\n technology: this.makerForm.get('technology').value,\r\n customerId: this.makerForm.get('customerId').value,\r\n instagram: this.makerForm.get('instagram').value,\r\n twitter: this.makerForm.get('twitter').value,\r\n linkedIn: this.makerForm.get('linkedIn').value,\r\n facebook: this.makerForm.get('facebook').value,\r\n tags: this.makerForm.get('tags').value,\r\n slug: slug,\r\n address: this.makerForm.get('address').value,\r\n postalCode: postalCodeString,\r\n location: this.makerForm.get('location').value,\r\n country: this.makerForm.get('country').value,\r\n companyName: this.makerForm.get('companyName').value,\r\n contactName: this.makerForm.get('contactName').value,\r\n contactLastname: this.makerForm.get('contactLastname').value,\r\n bookingEmail: this.makerForm.get('bookingEmail').value,\r\n holdedId: this.makerForm.get('holdedId').value,\r\n googleSites: this.makerForm.get('googleSites').value,\r\n googleMaps: this.makerForm.get('googleMaps').value,\r\n phone2: this.makerForm.get('phone2').value,\r\n tripadvisorApiWidgetReview: this.makerForm.get('tripadvisorApiWidgetReview').value,\r\n bookingEngine: this.makerForm.get('bookingEngine').value,\r\n bookingEngineWidget: this.makerForm.get('bookingEngineWidget').value,\r\n directoryCompleted: this.isDirectoryValid,\r\n sheetCompleted: this.isSheetValid,\r\n pinCompleted: this.isPinValid,\r\n administrationEmail: this.makerForm.get('administrationEmail').value,\r\n reservationConditions: this.makerForm.get('reservationConditions').value,\r\n paymentConditions: this.makerForm.get('paymentConditions').value,\r\n cancelationConditions: this.makerForm.get('cancelationConditions').value,\r\n idFareharbor: this.makerForm.get('idFareharbor').value,\r\n\r\n };\r\n const editedMaker = new Maker(maker);\r\n this.makerService.putMaker(this.maker.id, editedMaker, this.translate.getDefaultLang())\r\n .subscribe(\r\n (result) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = this.translate.instant('Maker guardado correctamente');\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n this.openAlert('Maker guardado!', 'w-300', true)\r\n },\r\n error => {\r\n // this.alert.message = error.error.code + '- ' + error.error.message;\r\n // this.alert.type = 2;\r\n // setTimeout(() => {\r\n // this.alert = { message: null, type: null };\r\n // }, 5000);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n },\r\n () => console.log('complete'));\r\n }\r\n\r\n createContact() {\r\n if (this.contactForm.invalid) {\r\n this.showErrors(this.contactForm);\r\n return;\r\n }\r\n const contact = {\r\n mediaContacts: this.contactForm.get('mediaContacts').value,\r\n name: this.contactForm.get('name').value,\r\n position: this.contactForm.get('position').value,\r\n email: this.contactForm.get('email').value,\r\n phone: this.contactForm.get('phone').value,\r\n maker: this.maker['@id']\r\n };\r\n this.makerService.postContact(contact).subscribe(() => {\r\n this.alert.type = 1;\r\n this.alert.message = this.translate.instant('Contacto creado correctamente');\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n }, (error) => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n });\r\n }\r\n\r\n // updateContact() {\r\n // if (this.contactForm.invalid) {\r\n // this.showErrors(this.contactForm);\r\n // return;\r\n // }\r\n // const contact = {\r\n // mediaContact: this.contactForm.get('mediaContact').value,\r\n // name: this.contactForm.get('name').value,\r\n // position: this.contactForm.get('position').value,\r\n // email: this.contactForm.get('email').value,\r\n // phone: this.contactForm.get('phone').value\r\n // };\r\n // const editedContact = new Contact(contact);\r\n // this.makerService.putContact(this.contact.id, editedContact, this.formLanguage)\r\n // .subscribe(\r\n // (result) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = this.translate.instant('Contacto guardado correctamente');\r\n // setTimeout(() => {\r\n // this.alert = {message: null, type: null};\r\n // }, 5000);\r\n // },\r\n // error => {\r\n // this.alert.message = error.error.code + '- ' + error.error.message;\r\n // this.alert.type = 2;\r\n // setTimeout(() => {this.alert = {message: null, type: null};\r\n // }, 5000);\r\n // },\r\n // () => console.log('complete'));\r\n // }\r\n\r\n onFileChanged(event) {\r\n if (event.target.files[0].type === 'image/jpeg' || event.target.files[0].type === 'image/png') {\r\n this.selectedFile = event.target.files[0];\r\n const reader = new FileReader();\r\n\r\n reader.onload = (event: any) => {\r\n this.image = event.target.result;\r\n };\r\n\r\n reader.readAsDataURL(event.target.files[0]);\r\n }\r\n }\r\n\r\n enableBasicFields() {\r\n this.makerForm.get('phrase').enable();\r\n this.makerForm.get('tripadvisor').enable();\r\n this.makerForm.get('description').enable();\r\n // this.makerForm.get('tripadvisor').setValidators([Validators.required]);\r\n // this.makerForm.get('description').setValidators([Validators.required]);\r\n this.makerForm.get('founders').enable();\r\n this.makerForm.get('director').enable();\r\n // this.makerForm.get('founders').setValidators([Validators.required]);\r\n // this.makerForm.get('director').setValidators([Validators.required]);\r\n this.makerForm.get('operations').enable();\r\n this.makerForm.get('technology').enable();\r\n // this.makerForm.get('operations').setValidators([Validators.required]);\r\n // this.makerForm.get('technology').setValidators([Validators.required]);\r\n this.makerForm.get('customerId').enable();\r\n this.makerForm.get('instagram').enable();\r\n // this.makerForm.get('customerId').setValidators([Validators.required]);\r\n // this.makerForm.get('instagram').setValidators([Validators.required]);\r\n this.makerForm.get('twitter').enable();\r\n this.makerForm.get('linkedIn').enable();\r\n // this.makerForm.get('twitter').setValidators([Validators.required]);\r\n // this.makerForm.get('linkedIn').setValidators([Validators.required]);\r\n this.makerForm.get('facebook').enable();\r\n // this.makerForm.get('facebook').setValidators([Validators.required]);\r\n this.makerForm.get('tags').enable();\r\n\r\n //this.makerForm.get('slug').enable();\r\n\r\n // this.makerForm.get('tags').setValidators([Validators.required]);\r\n this.makerForm.updateValueAndValidity();\r\n }\r\n\r\n onUpload() {\r\n this.mediaMakerService.mediaMakersUpload(\r\n this.selectedFile, '/media_makers').subscribe(result => {\r\n this.handleProgress(result);\r\n }, error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n });\r\n }\r\n\r\n handleProgress(event) {\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.Response) {\r\n this.uploadComplete = true;\r\n this.uploadingProgressing = false;\r\n this.serverResponse = event.body;\r\n\r\n this.alert.type = 1;\r\n this.alert.message = this.translate.instant('Logo guardado correctamente');\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n\r\n this.makerForm.get('mediaMakers').setValue([event.body['@id']]);\r\n }\r\n }\r\n\r\n onUploadedImage(uploadedImage: object, formControlName: string) {\r\n if (formControlName === 'mediaMakersStaff') {\r\n this.mediaMakersStaff.push({\r\n url: uploadedImage['url'],\r\n id: uploadedImage['id']\r\n });\r\n this.uploadedFiles.push(uploadedImage['id']);\r\n this.makerForm.get(formControlName).patchValue(this.uploadedFiles);\r\n }\r\n if (formControlName === 'mediaMakers') {\r\n this.makerForm.get(formControlName).patchValue([uploadedImage['id']]);\r\n this.image = uploadedImage['url'];\r\n }\r\n if (formControlName === 'mediaMakersLogo') {\r\n this.makerForm.get(formControlName).patchValue([uploadedImage['id']]);\r\n this.logoImage = uploadedImage['url'];\r\n }\r\n if (formControlName === 'mediaMakersHeader') {\r\n this.makerForm.get(formControlName).patchValue([uploadedImage['id']]);\r\n this.headerImage = uploadedImage['url'];\r\n }\r\n if (formControlName === 'mediaContacts') {\r\n this.contactForm.get(formControlName).patchValue([uploadedImage['id']]);\r\n this.contactImage = uploadedImage['url'];\r\n }\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n }\r\n\r\n showError(formValue) {\r\n // Handling documentType and document validation\r\n if (formValue === 'documentType') {\r\n if (this.makerForm.get('documentType').value === 'CIF') {\r\n this.makerForm.get('document').clearValidators();\r\n this.makerForm.get('document').setValidators([Validators.required, CustomValidators.isValidCif]);\r\n this.makerForm.updateValueAndValidity();\r\n this.makerForm.get('document').setErrors(CustomValidators.isValidCif(this.makerForm.get('document').value));\r\n this.makerForm.get('document').markAsTouched();\r\n } else {\r\n this.makerForm.get('document').clearValidators();\r\n this.makerForm.get('document').setValidators([Validators.required, CustomValidators.dniOrNieValidator]);\r\n this.makerForm.updateValueAndValidity();\r\n this.makerForm.get('document').setErrors(CustomValidators.dniOrNieValidator(this.makerForm.get('document')));\r\n this.makerForm.get('document').markAsTouched();\r\n }\r\n }\r\n \r\n // General validation for other fields (address, postalCode, description, etc.)\r\n if (formValue === 'address' || formValue === 'postalCode' || formValue === 'description') {\r\n this.makerForm.get(formValue).markAsTouched();\r\n this.makerForm.get(formValue).updateValueAndValidity();\r\n }\r\n \r\n // Return true if the form control is invalid and has been touched\r\n return this.makerForm.get(formValue).invalid && this.makerForm.get(formValue).touched;\r\n }\r\n \r\n\r\n showContactError(formValue) {\r\n return this.contactForm.get(formValue).invalid && this.contactForm.get(formValue).touched;\r\n }\r\n\r\n changeLanguage(language) {\r\n this.formLanguage = language;\r\n // this.translate.setDefaultLang(language);\r\n this.editMaker(this.makerId);\r\n }\r\n\r\n deleteMediaMakersStaff(image, uploaded) {\r\n if (uploaded) {\r\n this.mediaMakerService.deleteMediaMakers(image).subscribe(() => {\r\n const index = this.uploadedFiles.indexOf(image);\r\n this.uploadedFiles.splice(index, 1);\r\n this.mediaMakersStaff = this.mediaMakersStaff.filter((el) => el.id !== image);\r\n this.makerForm.get('mediaMakersStaff').setValue(this.uploadedFiles);\r\n }\r\n );\r\n } else {\r\n this.selectedFiles = this.selectedFiles.filter((el) => el.name !== image);\r\n this.images = this.images.filter((el) => el.name !== image);\r\n }\r\n }\r\n\r\n loadLocations(countryCode: string) {\r\n this.locationService.getLocationsFiltered({ country: countryCode }, this.translate.getDefaultLang()).subscribe(\r\n (locations) => {\r\n this.locations = locations;\r\n this.locationList.next(this.locations.slice());\r\n }\r\n );\r\n }\r\n\r\n createMakerPlan(isChangingPlan) {\r\n if (this.planForm.get('plan').value.toLowerCase() === 'Plan Free - de 1 a 3 productos en directorio' && !isChangingPlan) {\r\n this.makerService.postFreeMakerPlan({ price: 0, email: this.authService.getUserEmail() }).subscribe(() => {\r\n window.location.reload();\r\n });\r\n // this.router.navigateByUrl(this.translate.getDefaultLang() + '/maker/admin/perfil');\r\n } else {\r\n let planPrice = null;\r\n if (this.planForm.get('plan').value.toLowerCase() === 'pro-m-3' || isChangingPlan) {\r\n planPrice = BASIC_PRICE;\r\n } else if (this.planForm.get('plan').value === 'pro') {\r\n planPrice = '';\r\n }\r\n // @ts-ignore\r\n const stripe = Stripe(PUBLIC_KEY);\r\n stripe.redirectToCheckout({\r\n lineItems: [{ price: planPrice, quantity: 1 }],\r\n mode: 'subscription',\r\n successUrl: `${FRONT_URL}${this.translate.getDefaultLang()}/maker/admin/perfil`,\r\n cancelUrl: `${FRONT_URL}${this.translate.getDefaultLang()}`,\r\n })\r\n // tslint:disable-next-line:only-arrow-functions no-shadowed-variable\r\n .then(function (result) {\r\n if (result.error) {\r\n const displayError = document.getElementById('error-message');\r\n displayError.textContent = result.error.message;\r\n }\r\n });\r\n }\r\n }\r\n\r\n timestampToDate(timestamp) {\r\n // Create a new Date object with the Unix timestamp (in milliseconds)\r\n const date = new Date(timestamp * 1000);\r\n\r\n // Extract the day, month, and year\r\n const day = date.getDate();\r\n const month = date.getMonth() + 1; // Months are zero-based\r\n const year = date.getFullYear();\r\n\r\n // Format the date as 'dd/mm/yyyy'\r\n const formattedDate = `${day.toString().padStart(2, '0')}/${month.toString().padStart(2, '0')}/${year}`;\r\n\r\n return formattedDate;\r\n }\r\n\r\n downloadPdf(fileNumber, invoiceId) {\r\n this.makerService.getInvoicePdf(invoiceId).subscribe((result) => {\r\n const binaryString = atob(result['invoices']['data']);\r\n \r\n const len = binaryString.length;\r\n const bytes = new Uint8Array(len);\r\n for (let i = 0; i < len; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n\r\n // Create a Blob from the binary data\r\n const blob = new Blob([bytes], { type: 'application/pdf' });\r\n\r\n // Create a URL for the Blob\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Create a link element and trigger a download\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = fileNumber+'.pdf';\r\n link.click();\r\n\r\n // Clean up the URL object\r\n URL.revokeObjectURL(url);\r\n });\r\n }\r\n\r\n checkInfoContent() {\r\n let controlNames = ['companyName', 'documentType', 'document', 'contactName', 'contactLastname'];\r\n this.isInfoValid = false;\r\n for (let controlName of controlNames) {\r\n if (this.makerForm.get(controlName).valid) {\r\n this.isInfoValid = true;\r\n } else {\r\n this.isInfoValid = false;\r\n break;\r\n }\r\n };\r\n }\r\n\r\n checkDirectoryContent() {\r\n //, 'mediaMakersHeader'\r\n let controlNames = ['name', 'mediaMakers', 'phone', 'email', 'web'];\r\n this.isDirectoryValid = false;\r\n for (let controlName of controlNames) {\r\n if (this.makerForm.get(controlName).valid) {\r\n this.isDirectoryValid = true;\r\n } else {\r\n if (controlName == 'mediaMakers' && this.makerForm.get(controlName).value.length > 0) {\r\n this.isDirectoryValid = true;\r\n } else {\r\n this.isDirectoryValid = false;\r\n }\r\n\r\n break;\r\n }\r\n };\r\n }\r\n\r\n checkSheetContent() {\r\n let controlNames = ['mediaMakersHeader', 'description', 'address', 'location', 'country', 'postalCode'];\r\n this.isSheetValid = false;\r\n for (let controlName of controlNames) {\r\n if (this.makerForm.get(controlName).valid) {\r\n this.isSheetValid = true;\r\n } else {\r\n if (controlName == 'mediaMakersHeader' && this.makerForm.get(controlName).value.length > 0) {\r\n this.isSheetValid = true;\r\n } else {\r\n this.isSheetValid = false;\r\n }\r\n\r\n break;\r\n }\r\n };\r\n }\r\n\r\n checkPinContent() {\r\n\r\n //administrationEmail, phone2, bookingEngine, bookingEngineWidget, tripadvisor, linkedin, facebook, instagram, twitter, googleMaps, reservationConditions, paymentConditions, cancelationConditions\r\n\r\n\r\n\r\n this.isPinValid = false;\r\n\r\n if (this.maker) {\r\n\r\n\r\n var administrationEmail = this.makerForm.get('administrationEmail').value;\r\n var phone2 = this.makerForm.get('phone2').value;\r\n var bookingEngine = this.makerForm.get('bookingEngine').value;\r\n var bookingEngineWidget = this.makerForm.get('bookingEngineWidget').value;\r\n var tripadvisor = this.makerForm.get('tripadvisor').value;\r\n var linkedIn = this.makerForm.get('linkedIn').value;\r\n var facebook = this.makerForm.get('facebook').value;\r\n var instagram = this.makerForm.get('instagram').value;\r\n var twitter = this.makerForm.get('twitter').value;\r\n var reservationConditions = this.makerForm.get('reservationConditions').value;\r\n var paymentConditions = this.makerForm.get('paymentConditions').value;\r\n var cancelationConditions = this.makerForm.get('cancelationConditions').value;\r\n\r\n if (this.selectedPdfFiles.length == 5 && this.mediaMakersStaff.length > 0 && (administrationEmail != '' && administrationEmail != null)\r\n && (phone2 != '' && phone2 != null) && (bookingEngine != '' && bookingEngine != null) && (bookingEngineWidget != '' && bookingEngineWidget != null)\r\n && (tripadvisor != '' && tripadvisor != null) && (linkedIn != '' && linkedIn != null) && (facebook != '' && facebook != null)\r\n && (instagram != '' && instagram != null) && (twitter != '' && twitter != null) && (reservationConditions != '' && reservationConditions != null)\r\n && (paymentConditions != '' && paymentConditions != null) && (cancelationConditions != '' && cancelationConditions != null)) {\r\n\r\n this.isPinValid = true;\r\n } else {\r\n this.isPinValid = false;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n async convertSlug(slug: string) {\r\n // Create a map of characters to replace\r\n /* const charMap: { [key: string]: string } = {\r\n 'ÀÁÂÃÄÅ': 'A', 'àáâãäå': 'a',\r\n 'ÈÉÊË': 'E', 'èéêë': 'e',\r\n 'ÍÌÎÏ': 'I', 'íìîï': 'i',\r\n 'ÓÒÔÕÖ': 'O', 'óòôõö': 'o',\r\n 'ÚÙÛÜ': 'U', 'úùûü': 'u',\r\n 'Ñ': 'N', 'ñ': 'n',\r\n 'Ç': 'C', 'ç': 'c',\r\n 'Ý': 'Y', 'ÿý': 'y',\r\n '’‘“”«»': '', // Special quotation marks\r\n '—·/\\\\': '-', // Replace with hyphens\r\n '?¿!¡ºª°&<>;\"\\'.,:[]{}()~|%*@+': '', // Remove these characters\r\n };\r\n \r\n // Replace characters using the charMap\r\n for (const key in charMap) {\r\n slug = slug.replace(new RegExp(`[${key}]`, 'g'), charMap[key]);\r\n } */\r\n \r\n // Further cleanup: remove extra hyphens, trim hyphens, and convert to lowercase\r\n let slugCleared = slug.replace(/ /g, '-') // Replace spaces with hyphen\r\n .replace(/--+/g, '-') // Replace multiple hyphens with a single one\r\n .replace(/^-|-$/g, '') // Trim hyphens at the start and end\r\n .toLowerCase();\r\n \r\n // Check if the slug exists\r\n const slugExist = await this.verifySlugExists(slugCleared);\r\n \r\n // Append \"-1\" if the slug already exists and is not the current slug\r\n if (slugExist && this.maker.slug !== slugCleared) {\r\n slugCleared = `${slugCleared}-1`;\r\n }\r\n \r\n return slugCleared;\r\n }\r\n \r\n\r\n\r\n async verifySlugExists(slug: string) {\r\n\r\n var slugExist = false;\r\n\r\n var maker = await this.makerService.getMakerBySlug(slug).toPromise();\r\n\r\n maker = maker['hydra:member'];\r\n\r\n if (maker.length > 0 && maker) {\r\n\r\n slugExist = true;\r\n\r\n return slugExist;\r\n\r\n } else {\r\n\r\n slugExist = false;\r\n\r\n return slugExist;\r\n }\r\n\r\n }\r\n\r\n onFileSelected(event, type) {\r\n console.log(event);\r\n console.log(type);\r\n\r\n /* get the pdf file from the event input */\r\n const file = event.target.files[0];\r\n console.log(file);\r\n\r\n file.typeOf = type;\r\n\r\n if (file.type != \"application/pdf\" || !file) {\r\n return;\r\n }\r\n\r\n\r\n /* Switch: type: */\r\n this.switchDocsValues(type, file);\r\n\r\n console.log(this.selectedPdfFiles);\r\n //si type está dentro de selectedPdfFiles.typeOf, borrarlo y sustituirlo por el nuevo\r\n if (this.selectedPdfFiles.length > 0) {\r\n for (var i = 0; i < this.selectedPdfFiles.length; i++) {\r\n if (this.selectedPdfFiles[i].typeOf == type) {\r\n\r\n //delete PDF\r\n this.mediaMakerService.deleteMediaMakers(this.selectedPdfFiles[i].id).subscribe(() => {\r\n console.log(\"PDF deleted\");\r\n this.selectedPdfFiles.splice(i, 1);\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n this.uploadPdfFile(file);\r\n\r\n console.log(this.selectedPdfFiles);\r\n\r\n this.checkPinContent();\r\n\r\n\r\n\r\n }\r\n\r\n uploadPdfFiles() {\r\n\r\n console.log(this.selectedPdfFiles);\r\n console.log(this.makerId);\r\n\r\n if (this.selectedPdfFiles.length > 0) {\r\n\r\n this.selectedPdfFiles.forEach(file => {\r\n\r\n var objectFile = {\r\n maker: this.makerId,\r\n typeOf: file.typeOf\r\n };\r\n console.log(file);\r\n console.log(objectFile);\r\n\r\n this.selectedPdfFile = file;\r\n\r\n this.mediaMakerService.mediaMakersUpload(file, '/media_makers_docs', objectFile\r\n ).subscribe(result => {\r\n\r\n this.selectedPdfFiles.push(result);\r\n\r\n console.log(result);\r\n this.handleProgress(result);\r\n\r\n }, error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n\r\n console.log(error);\r\n\r\n\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n /* for(var i = 0; i < this.selectedPdfFiles.length; i++){\r\n \r\n const formData = new FormData();\r\n formData.append('file', this.selectedPdfFiles[i], this.selectedPdfFiles[i].name);\r\n \r\n this.makerService.postPdfFile(formData).subscribe((result) => {\r\n \r\n console.log(result);\r\n \r\n //this.makerForm.get('mediaPdf').setValue([result['@id']]);\r\n this.pdf = FRONT_URL + result['contentUrl'];\r\n \r\n this.alert.type = 1;\r\n this.alert.message = this.translate.instant('Logo guardado correctamente');\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n \r\n console.log(this.pdf);\r\n \r\n \r\n });\r\n \r\n } */\r\n }\r\n\r\n uploadPdfFile(file) {\r\n\r\n var objectFile = {\r\n maker: this.makerId,\r\n typeOf: file.typeOf\r\n };\r\n console.log(file);\r\n console.log(objectFile);\r\n\r\n this.mediaMakerService.mediaMakersUpload(file, '/media_makers_docs', objectFile\r\n ).subscribe(result => {\r\n\r\n console.log(result.body);\r\n\r\n if (result.body) {\r\n\r\n result.body.id = result.body['@id'];\r\n\r\n this.selectedPdfFiles.push(result.body);\r\n\r\n }\r\n\r\n\r\n\r\n }, error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n\r\n console.log(error);\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n switchDocsValues(type, file) {\r\n\r\n\r\n switch (type) {\r\n case 'Poliza RRCC':\r\n\r\n console.log(\"polizaRRCC\");\r\n //set class success-border\r\n document.getElementById(\"polizaRRCCLabel\").classList.add(\"success-border\");\r\n document.getElementById(\"polizaRRCCLabel\").classList.remove(\"error-border\");\r\n //set the text of the label to the name of the file\r\n document.getElementById(\"polizaRRCCLabel\").innerHTML = '';\r\n document.getElementById(\"polizaRRCCLabel\").innerHTML = file.name;\r\n\r\n\r\n\r\n break;\r\n case 'Recibo RRCC':\r\n console.log(\"reciboRRCC\");\r\n //set class success-border\r\n document.getElementById(\"reciboRRCCLabel\").classList.add(\"success-border\");\r\n document.getElementById(\"reciboRRCCLabel\").classList.remove(\"error-border\");\r\n //set the text of the label to the name of the file\r\n document.getElementById(\"reciboRRCCLabel\").innerHTML = '';\r\n document.getElementById(\"reciboRRCCLabel\").innerHTML = file.name;\r\n\r\n\r\n\r\n break;\r\n case 'Licencia de actividad':\r\n console.log(\"licenciaActividad\");\r\n //set class success-border\r\n document.getElementById(\"licenciaActividadLabel\").classList.add(\"success-border\");\r\n document.getElementById(\"licenciaActividadLabel\").classList.remove(\"error-border\");\r\n //set the text of the label to the name of the file\r\n document.getElementById(\"licenciaActividadLabel\").innerHTML = '';\r\n document.getElementById(\"licenciaActividadLabel\").innerHTML = file.name;\r\n\r\n break;\r\n case 'Plantilla de contrato de colaboración':\r\n console.log(\"plantillaContratoColaboracion\");\r\n //set class success-border\r\n document.getElementById(\"plantillaContratoColaboracionLabel\").classList.add(\"success-border\");\r\n document.getElementById(\"plantillaContratoColaboracionLabel\").classList.remove(\"error-border\");\r\n //set the text of the label to the name of the file\r\n document.getElementById(\"plantillaContratoColaboracionLabel\").innerHTML = '';\r\n document.getElementById(\"plantillaContratoColaboracionLabel\").innerHTML = file.name;\r\n\r\n break;\r\n case 'Catalogos':\r\n console.log(\"catalogos\");\r\n //set class success-border\r\n document.getElementById(\"catalogosLabel\").classList.add(\"success-border\");\r\n document.getElementById(\"catalogosLabel\").classList.remove(\"error-border\");\r\n //set the text of the label to the name of the file\r\n document.getElementById(\"catalogosLabel\").innerHTML = '';\r\n document.getElementById(\"catalogosLabel\").innerHTML = file.name;\r\n\r\n break;\r\n default:\r\n console.log(\"default\");\r\n break;\r\n }\r\n\r\n\r\n }\r\n\r\n deletePdf(pdfId: any, pdf: any) {\r\n console.log(pdfId);\r\n console.log(pdf);\r\n\r\n if (pdfId) {\r\n\r\n this.mediaMakerService.deleteMediaDocs(pdfId).subscribe(() => {\r\n console.log(\"pdf deleted\");\r\n\r\n //remove pdf from this.selectedPdfFiles\r\n for (var i = 0; i < this.selectedPdfFiles.length; i++) {\r\n if (this.selectedPdfFiles[i].id == pdfId) {\r\n this.selectedPdfFiles.splice(i, 1);\r\n\r\n switch (pdf.typeOf) {\r\n case 'Poliza RRCC':\r\n this.validPolizaRRCC = false;\r\n break;\r\n case 'Recibo RRCC':\r\n this.validReciboRRCC = false;\r\n break;\r\n case 'Licencia de actividad':\r\n this.validLicenciaActividad = false;\r\n break;\r\n case 'Plantilla de contrato de colaboración':\r\n this.validPlantillaContratoColaboracion = false;\r\n break;\r\n case 'Catalogos':\r\n this.validCatalogos = false;\r\n break;\r\n\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n this.checkPinContent();\r\n\r\n\r\n /* this.alert.type = 1;\r\n this.alert.message = this.translate.instant('Logo guardado correctamente');\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000); */\r\n }\r\n );\r\n\r\n } else {\r\n\r\n //remove pdf from this.selectedPdfFiles\r\n for (var i = 0; i < this.selectedPdfFiles.length; i++) {\r\n if (this.selectedPdfFiles[i].name == pdf.name) {\r\n this.selectedPdfFiles.splice(i, 1);\r\n\r\n switch (pdf.typeOf) {\r\n case 'Poliza RRCC':\r\n this.validPolizaRRCC = false;\r\n break;\r\n case 'Recibo RRCC':\r\n this.validReciboRRCC = false;\r\n break;\r\n case 'Licencia de actividad':\r\n this.validLicenciaActividad = false;\r\n break;\r\n case 'Plantilla de contrato de colaboración':\r\n this.validPlantillaContratoColaboracion = false;\r\n break;\r\n case 'Catalogos':\r\n this.validCatalogos = false;\r\n break;\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n validatePostalCode(event) {\r\n let postalCode = event.target.value;\r\n \r\n postalCode = postalCode.replace(/[a-zA-Z]/g, \"\");\r\n postalCode = postalCode.replace(/ /g, \"\");\r\n postalCode = postalCode.replace(/-/g, \"\");\r\n \r\n this.makerForm.get('postalCode').setValue(postalCode, { emitEvent: true });\r\n this.makerForm.get('postalCode').markAsTouched(); // Mark as touched\r\n this.makerForm.get('postalCode').updateValueAndValidity(); // Revalidate the field\r\n }\r\n\r\n openAlert(modalText: string, className: string, status: boolean) {\r\n let iconClass: string;\r\n if (status) {\r\n iconClass = 'vi-check';\r\n } else {\r\n iconClass = 'vi-sad';\r\n }\r\n const modalConfig = {\r\n class: className,\r\n initialState: {\r\n alertMessage: this.translate.instant(\r\n modalText\r\n ),\r\n iconClass,\r\n status\r\n }\r\n }\r\n this.dialogRef = this.dialog.show(ModalAlertComponent, modalConfig);\r\n setTimeout(() => {\r\n this.dialogRef.hide();\r\n }, 2500);\r\n }\r\n\r\n openUpgradePlanModal(template: TemplateRef, config: any) {\r\n this.modalRef = this.dialog.show(template, config);\r\n }\r\n\r\n pay() {\r\n let MONTHLY = [0, 0, 0, 'price_1Nb5Z7ECh0SazpvMUadAJcuk', 'price_1Nb5DLECh0SazpvMmdT3Huk9', 'price_1NdbGeECh0SazpvMGmc9xD7a', 'price_1NdbM1ECh0SazpvMFzbk2CqI', 'price_1NdbO1ECh0SazpvML8uKSyOU', 'price_1NibmlECh0SazpvMdeHZqxM8', 'price_1NicLJECh0SazpvMTdJipfSE', 'price_1NicMYECh0SazpvMVi6KGM53'];\r\n let ANUALLY = [0, 0, 0, 'price_1NdZ9qECh0SazpvMKrUExRSr', 'price_1Nb5IKECh0SazpvMiGYN6f0s', 'price_1NdbIJECh0SazpvMm91UniiJ', 'price_1NdbN4ECh0SazpvMMlYi3cTt', 'price_1NicISECh0SazpvMWNWj59OP', 'price_1NicKSECh0SazpvMSojrXJkh', 'price_1NicLrECh0SazpvMZHNNLzyY', 'price_1O5nktECh0SazpvMZKbRbpTh'];\r\n\r\n // PUBLIC_KEY = \"pk_test_PpbS40l0Y5lUsMN5YzpGlDZj00duWmRb3T\";\r\n let PUBLIC_KEY = \"pk_live_oJ6GN2TgQ5d6LvUiigRMQU6L003eXQBbMH\";\r\n\r\n const stripe = Stripe(PUBLIC_KEY);\r\n stripe.redirectToCheckout({\r\n lineItems: [{ price: this.regulation == 'monthly' ? MONTHLY[this.productsSelected] : ANUALLY[this.productsSelected], quantity: 1 }],\r\n mode: 'subscription',\r\n successUrl: `https://venntur.com/es/maker/admin/perfil`,\r\n cancelUrl: `https://venntur.com/es/maker/admin/perfil`,\r\n })\r\n .then(function (result) {\r\n if (result.error) {\r\n const displayError = document.getElementById('error-message');\r\n displayError.textContent = result.error.message;\r\n }\r\n });\r\n };\r\n}\r\n","

    {{translate.instant(title)}}

    \r\n
    \r\n

    {{ 'Completa los datos del maker para poder crear experiencias' | translate}}

    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Añade más productos a tu plan\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Plan actual\r\n \r\n {{maker.makerPlan['plan']['shortName'] | translate}}\r\n
    \r\n
    \r\n \r\n Número de productos\r\n \r\n \r\n {{totalExperiences}} / {{maker['makerPlan']['plan']['maxProducts']}}\r\n \r\n
    \r\n
    \r\n \r\n Tipo de pago\r\n \r\n \r\n {{maker['makerPlan']['plan']['paymentType'] == 'yearly' ? 'Anual' : 'Mes'}}\r\n \r\n
    \r\n
    \r\n \r\n Fecha próximo pago\r\n \r\n 0\">\r\n {{timestampToDate(nextPayment['subscriptions']['data'][0]['current_period_end'])}}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Importe Plan\r\n \r\n \r\n {{maker['makerPlan']['price'] + '€ / ' + (maker['makerPlan']['plan']['paymentType'] == 'yearly' ? 'Anual' :\r\n 'Mes')}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Nº de factura\r\n \r\n
    \r\n
    \r\n \r\n Precio\r\n \r\n
    \r\n
    \r\n \r\n Fecha de pago\r\n \r\n
    \r\n \r\n
    \r\n 0\">\r\n
    \r\n \r\n
    \r\n \r\n {{invoice['paymentsTotal']}} €\r\n \r\n
    \r\n
    \r\n \r\n {{timestampToDate(invoice['date'])}}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n -\r\n \r\n
    \r\n
    \r\n \r\n -\r\n \r\n
    \r\n
    \r\n \r\n -\r\n \r\n
    \r\n
    \r\n -\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n Mejora tu plan\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{productsSelected + ' productos'}}\r\n Mejora tu visibilidad con mas experiencias.\r\n
    \r\n {{regulation == 'monthly' ? (6 * productsSelected) + 3 : ((5 *\r\n (productsSelected))) * 12 + 30}}€ \r\n / {{regulation == 'monthly' ? 'Mes' : 'Año'}}\r\n
    \r\n \r\n {{number}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{ 'Razón Social' |\r\n translate}}

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['companyName'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{documentType}}\r\n \r\n \r\n {{translate.instant(errors['documentType'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['document'])}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactName'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactLastname'])}}\r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {{\r\n 'Cancelar'\r\n | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

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

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['makerName'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['phone'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['phone'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['email'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['makerWeb'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Selecciona un logo de Maker. Formatos aceptados: .jpeg, .jpg, .png'| translate}}\r\n \r\n {{ 'Dimensiones recomendadas:135/135px' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {{\"Logo subido:\" | translate}}

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

    {{ 'Ficha\r\n Empresa' | translate}}

    \r\n
    \r\n
    \r\n \r\n \r\n {{country.text}}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{\r\n location.getName() }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant('La dirección es obligatoria')}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant('El código postal es obligatorio') }}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Turitop\r\n Fareharbor\r\n Bokun\r\n Sistema propio\r\n Otros\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['bookingEngineWidget'])}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n {{this.makerForm.get('description').value ?\r\n this.makerForm.get('description').value.length : 0}} / {{\r\n descriptionMaxChar }}\r\n {{ 'Max. 1200 caracteres' | translate}}\r\n \r\n {{translate.instant(errors['description'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Selecciona una cabecera para mostrar en tu ficha pública de\r\n Maker. Formatos aceptados: .jpeg, .jpg, .png' | translate}}\r\n {{ 'Dimensiones recomendadas:' | translate}} 760/505px\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {{\"Cabecera subida a tu ficha:\" | translate }}

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

    {{ 'Venntur PIN' |\r\n translate}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['administrationEmail'])}}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['phone2'])}}\r\n \r\n {{ 'Teléfono de contacto 2' | translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['tripadvisor'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Usuario de' | translate}} LinkedIn(Ej:\r\n company/12345678/admin/)\r\n \r\n {{translate.instant(errors['linkedIn'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Nombre de usuario de' | translate}} Facebook\r\n \r\n {{translate.instant(errors['facebook'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Nombre de usuario de' | translate}} Instagram\r\n \r\n {{translate.instant(errors['instagram'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Nombre de usuario de' | translate}} Twitter\r\n \r\n {{translate.instant(errors['twitter'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['googleMaps'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['reservationConditions'])}}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['paymentConditions'])}}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['cancelationConditions'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Selecciona Imagenes del staff' | translate}} \r\n {{ 'Mín. 1 y máx. 5 Imagenes.' | translate}}\r\n \r\n {{ 'Formatos aceptados: .jpeg, .jpg, .png' | translate}}\r\n \r\n {{ 'Dimensiones recomendadas:' | translate}} 520x520\r\n \r\n \r\n {{translate.instant(errors['mediaMakersStaff'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    {{ 'Imagenes subidas' |\r\n translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Selecciona un PDF para mostrar en tu ficha pública de Maker. Formatos aceptados: .pdf' |\r\n translate}}\r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ 'Selecciona un PDF para mostrar en tu ficha pública de Maker. Formatos aceptados: .pdf' |\r\n translate}}\r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n {{ 'Selecciona un PDF para mostrar en tu ficha pública de Maker. Formatos aceptados: .pdf' |\r\n translate}}\r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ 'Selecciona un PDF para mostrar en tu ficha pública de Maker. Formatos aceptados: .pdf' |\r\n translate}}\r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n {{ 'Selecciona un PDF para mostrar en tu ficha pública de Maker. Formatos aceptados: .pdf' |\r\n translate}}\r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    0\">\r\n\r\n \r\n
    \r\n\r\n \r\n \r\n {{pdf.typeOf}} ({{pdf.name}})\r\n \r\n\r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{\r\n 'Cancelar'\r\n | translate}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n

    {{alert.message}}\r\n

    \r\n
    ","export class MakerCollection {\r\n total: number;\r\n makers: Maker[];\r\n}\r\n\r\nexport class Maker {\r\n id: string;\r\n name: string;\r\n documentType: string;\r\n document: string;\r\n mediaMakers: any[];\r\n mediaMakersHeader: any[];\r\n mediaMakersLogo: any[];\r\n mediaMakersStaff: any[];\r\n phrase: string;\r\n phone: string;\r\n whatsapp: string;\r\n email: string;\r\n web: string;\r\n sustainableSeal: boolean;\r\n user: string;\r\n tripadvisor: string;\r\n description: string;\r\n founders: string;\r\n director: string;\r\n operations: string;\r\n technology: string;\r\n customerId: string;\r\n instagram: string;\r\n twitter: string;\r\n linkedIn: string;\r\n facebook: string;\r\n tags: any[];\r\n slug: string;\r\n makerPlan: any[];\r\n destinations: any[];\r\n address: string;\r\n location: any;\r\n postalCode: number;\r\n country: string;\r\n companyName: string;\r\n contactName: string;\r\n contactLastname: string;\r\n bookingEmail: string;\r\n holdedId: string;\r\n googleSites: string;\r\n googleMaps: string;\r\n phone2: string;\r\n tripadvisorApiWidgetReview: string;\r\n bookingEngine: string;\r\n bookingEngineWidget: string;\r\n mediaMakersDocs: any[];\r\n administrationEmail: string;\r\n reservationConditions: string;\r\n paymentConditions: string;\r\n cancelationConditions: string;\r\n idFareharbor: string;\r\n constructor(values: any = {}) {\r\n Object.assign(this, values);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpRequest } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class MediaMakerService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n mediaMakersUpload(fileItem: File, url, extraData?: object): Observable {\r\n const apiCreateEndpoint = `${API_URL}${url}`;\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('file', fileItem, fileItem.name);\r\n if (extraData) {\r\n for (const key in extraData) {\r\n if (extraData.hasOwnProperty(key)) {\r\n formData.append(key, extraData[ key ]);\r\n }\r\n }\r\n }\r\n const req = new HttpRequest('POST', apiCreateEndpoint, formData, {\r\n reportProgress: true // for progress data\r\n });\r\n return this.http.request(req);\r\n }\r\n\r\n deleteMediaMakers(mediaMakersId) {\r\n return this.http\r\n .delete(`${API_URL}${mediaMakersId}`);\r\n }\r\n\r\n getMediaMakers(mediaMakersId) {\r\n return this.http\r\n .get(`${API_URL}${mediaMakersId}`);\r\n }\r\n\r\n mediaMakersDocsUpload(fileItem: File, url, extraData?: object): Observable {\r\n const apiCreateEndpoint = `${API_URL}${url}`;\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('file', fileItem, fileItem.name);\r\n if (extraData) {\r\n for (const key in extraData) {\r\n if (extraData.hasOwnProperty(key)) {\r\n formData.append(key, extraData[ key ]);\r\n }\r\n }\r\n }\r\n const req = new HttpRequest('POST', apiCreateEndpoint, formData, {\r\n reportProgress: true // for progress data\r\n });\r\n return this.http.request(req);\r\n }\r\n\r\n deleteMediaDocs(mediaDocsIri) {\r\n return this.http\r\n .delete(`${API_URL}${mediaDocsIri}`);\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ResellerService } from '../../shared/reseller.service';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { Location } from '../../../shared/locations/location.model';\r\nimport { LocationService } from '../../../shared/locations/location.service';\r\nimport { TagsService } from '../../../shared/tags/tags.service';\r\nimport { Tag } from '../../../shared/tags/tag.model';\r\nimport { maxTableRows } from 'globals';\r\n\r\n@Component({\r\n selector: 'app-maker-resellers-list',\r\n templateUrl: './maker-resellers-list.component.html',\r\n styleUrls: ['./maker-resellers-list.component.css']\r\n})\r\nexport class MakerResellersListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n columns = [];\r\n rows = [];\r\n makersResellers = [];\r\n statusArray = ['Pendiente contacto', 'Contactado', 'Contratado', 'Terminado'];\r\n isFavorites = true;\r\n tags: Tag[] = [];\r\n tagsSelected = [];\r\n locations: Location[] = [];\r\n locationsSelected = [];\r\n makerId;\r\n searchForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private resellerService: ResellerService,\r\n private makersService: MakerService,\r\n private tagsService: TagsService,\r\n private locationsService: LocationService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService,\r\n ) {\r\n this.makerId = this.makersService.getId();\r\n this.tagsService.getResellerActiveTags('es').subscribe(tags => {\r\n this.tags = tags['hydra:member'];\r\n });\r\n this.locationsService.getResellerActiveLocations().subscribe(locations => {\r\n this.locations = locations['hydra:member'];\r\n }\r\n );\r\n this.resellerService.getResellersByMakerId(this.makerId, {}).subscribe(experiences => {\r\n this.makersResellers = experiences[ 'hydra:member' ];\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n fiscalName: [''],\r\n // email: [''],\r\n tags: [''],\r\n locations: [''],\r\n urlWeb: [''],\r\n isFavorites: [true],\r\n makerId: [this.makerId]\r\n });\r\n this.columns = [\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'fiscalName', name: 'Nombre fiscal' },\r\n // { prop: 'email', name: 'Email' },\r\n { prop: 'urlWeb', name: 'Página web' }];\r\n this.applyFilter();\r\n }\r\n\r\n applyFilter() {\r\n if (!this.searchForm.value.isFavorites) {\r\n this.resellerService.getResellers(this.searchForm.value).subscribe(\r\n data => {\r\n this.resellerService.getResellersByMakerId(this.makerId, {}).subscribe(resellers => {\r\n this.makersResellers = Array.from(resellers['hydra:member']).map((item) => item['reseller']['@id']);\r\n });\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n this.isFavorites = false;\r\n this.columns = [\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'fiscalName', name: 'Nombre fiscal' },\r\n // { prop: 'email', name: 'Email' },\r\n { prop: 'urlWeb', name: 'Página web' }];\r\n }\r\n );\r\n } else {\r\n this.resellerService.getResellersByMakerId(this.makerId, this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n this.isFavorites = true;\r\n this.columns = [\r\n { prop: 'reseller.name', name: 'Nombre' },\r\n { prop: 'reseller.fiscalName', name: 'Nombre fiscal' },\r\n // { prop: 'email', name: 'Email' },\r\n { prop: 'reseller.urlWeb', name: 'Página web' }];\r\n });\r\n }\r\n }\r\n\r\n addFavorite(event, resellerId) {\r\n this.makersResellers.includes(resellerId) ?\r\n this.makersResellers.splice(this.makersResellers.indexOf(resellerId), 1) : this.makersResellers.push(resellerId);\r\n const favoriteReseller = {\r\n maker: '/makers/' + this.makerId,\r\n reseller: resellerId,\r\n status: 'Pendiente contacto'\r\n };\r\n this.makersService.postFavoriteReseller(favoriteReseller).subscribe();\r\n }\r\n\r\n removeFavorite(favoriteResellerId) {\r\n this.makersService.deleteFavoriteReseller(favoriteResellerId).subscribe(() => {\r\n this.applyFilter();\r\n }\r\n );\r\n }\r\n\r\n changeStatus(status, favoriteResellerId) {\r\n this.makersService.putFavoriteReseller(favoriteResellerId, {status: status}).subscribe();\r\n }\r\n}\r\n","
    \r\n

    Resellers

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

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n
    Buscar por:
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {{ location.name }}\r\n \r\n
    \r\n
    \r\n \r\n {{tag.name}}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{tag.name}}{{i === row['tags'].length - 1 ? '' : ', '}}\r\n \r\n \r\n \r\n \r\n {{tag.name}}{{i === row.reseller['tags'].length - 1 ? '' : ', '}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{status}}\r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n template: `\r\n
    \r\n \"Error\r\n

    Página no encontrada

    \r\n

    Ups.. Error 404, parece que la página que buscas no existe :(

    \r\n
    \r\n `,\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ExperiencesService } from '../experiences/experiences/experiences.service';\r\nimport { MakerService } from '../shared/maker.service';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { maxTableRows } from 'globals';\r\n\r\n@Component({\r\n selector: 'app-product-reviews-list',\r\n templateUrl: './product-reviews-list.component.html',\r\n styleUrls: ['./product-reviews-list.component.scss']\r\n})\r\nexport class ProductReviewsListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n title = 'Reviews de ';\r\n experienceName = '';\r\n productId = this.activatedRoute.snapshot.params.id\r\n\r\n searchForm: UntypedFormGroup;\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n\r\n columns = [];\r\n rows = [];\r\n\r\n maker: any = [];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n private experienceService: ExperiencesService,\r\n private makerService: MakerService,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n\r\n this.getReviewsByExperienceId();\r\n this.getExperienceName();\r\n\r\n this.makerService.getMaker('/makers/' + makerService.getId()).subscribe((maker => {\r\n this.maker = maker;\r\n }));\r\n\r\n this.columns = [\r\n { prop: 'comments', name: 'Comentario' },\r\n { prop: 'channel', name: 'Canal' },\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'reviewerLocation', name: 'Localidad' },\r\n ];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n comments: [''],\r\n });\r\n }\r\n\r\n getExperienceName() {\r\n this.experienceService.getExperience(this.productId).subscribe((resp => {\r\n this.experienceName = resp.name;\r\n }));\r\n }\r\n\r\n getReviewsByExperienceId() {\r\n this.experienceService.getReviewsByExperienceId(this.productId).subscribe((reviews => {\r\n this.rows = reviews['hydra:member'];\r\n }));\r\n }\r\n\r\n\r\n applyFilter() {\r\n this.experienceService.getReviewsByExperienceId(this.productId, this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n }\r\n );\r\n }\r\n\r\n setReviewStatus(id, status) {\r\n this.experienceService.putReviewStatus(id, status).subscribe((maker => {\r\n this.getReviewsByExperienceId()\r\n }));\r\n }\r\n\r\n formatDateString(inputDateString: string): string {\r\n const date = new Date(inputDateString);\r\n\r\n if (isNaN(date.getTime())) {\r\n return \"Invalid Date\";\r\n }\r\n\r\n const day = date.getDate().toString().padStart(2, '0');\r\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\r\n const year = date.getFullYear();\r\n\r\n const formattedDateString = `${day}/${month}/${year}`;\r\n\r\n return formattedDateString;\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n

    \r\n \r\n {{ translate.instant(title) + ' ' + experienceName }}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{ 'Buscar por:' | translate}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Reviews por producto:\r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n {{formatDateString(value)}}\r\n \r\n \r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { Component, OnInit, Renderer2, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BsModalRef, BsModalService, ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { SalesService } from '../../sales/sales.service';\r\nimport { errorMessages } from '../../shared/custom-validators';\r\nimport { Taker } from '../../taker/taker-profile/taker.model';\r\nimport { TakerService } from '../../shared/taker.service';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\nimport { JsonLdService } from 'src/app/json-ld.service';\r\n\r\n@Component({\r\n selector: 'app-product-page',\r\n templateUrl: './product-page.component.html',\r\n styleUrls: ['./product-page.component.scss']\r\n})\r\nexport class ProductPageComponent implements OnInit {\r\n activeTag = 'description';\r\n modalRef: BsModalRef;\r\n myImageArray = ['https://venntur.com/assets/experience/files/649198d9952cf975573530.jpeg', 'https://venntur.com/assets/experience/files/600c20ad9f5d5384735017.jpg', 'https://venntur.com/assets/experience/files/60d2f09f2e710932983928.jpeg']\r\n productId = null;\r\n experience = null;\r\n reviews: any;\r\n customPhoneTooltip = 'Copiar al portapapeles';\r\n customEmailTooltip = 'Copiar al portapapeles';\r\n week = ['Todos los días', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo']\r\n takerExperiences = [];\r\n bsInlineValue = new Date();\r\n bsConfig?: Partial;\r\n selectedAdults = 2;\r\n selectedKids = 0;\r\n bookingRequestForm: UntypedFormGroup;\r\n bookingEmailData = {\r\n makerName: null,\r\n makerEmail: null,\r\n experienceName: null,\r\n date: null,\r\n adults: null,\r\n kids: null,\r\n name: null,\r\n phone: null,\r\n email: null,\r\n comments: null,\r\n url: null\r\n }\r\n errors = errorMessages;\r\n bookingRequestSuccess = false;\r\n isAlertShown = false;\r\n turitopId;\r\n bokunId;\r\n rezdyId;\r\n donicusId;\r\n showDefault: any = false;\r\n @ViewChild('autoShownModal', { static: false }) autoShownModal: ModalDirective;\r\n tripAdvisorOpinions = [{\r\n image: \"../../../../assets/venntur-isotype-70.png\",\r\n username: 'Adrian A',\r\n date: 'October 24',\r\n title: 'Excursión inolvidable',\r\n review: 'Es inexplicable lo que puedes disfrutar !!! La compañía , los trabajadores, el PATRON !!!! Se pasa volando , es una pena que excursiones así se acaben tan pronto !!! Me lo he pasado en grande , volvería a repetir una y millones de veces.'\r\n }, {\r\n image: \"../../../../assets/venntur-isotype-70.png\",\r\n username: 'Adriana B',\r\n date: 'June 27',\r\n title: 'Excursión inolvidable',\r\n review: 'Es inexplicable lo que puedes disfrutar !!! La compañía , los trabajadores, el PATRON !!!! Se pasa volando , es una pena que excursiones así se acaben tan pronto !!! Me lo he pasado en grande , volvería a repetir una y millones de veces.'\r\n }\r\n ]\r\n\r\n constructor(\r\n private router: Router,\r\n private modalService: BsModalService,\r\n private experienceService: ExperiencesService,\r\n public translate: TranslateService,\r\n public salesService: SalesService,\r\n public bsLocaleService: BsLocaleService,\r\n private takerService: TakerService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n private meta: Meta,\r\n private renderer2: Renderer2,\r\n private title: Title,\r\n private jsonLdService: JsonLdService\r\n ) {\r\n this.bsConfig = Object.assign({}, { showWeekNumbers: false, adaptivePosition: true });\r\n this.bsLocaleService.use('es');//fecha en español, datepicker\r\n }\r\n\r\n ngOnInit(): void {\r\n // Generate and add JSON-LD schema\r\n this.removeMetaTags();\r\n this.loadExperience();\r\n\r\n \r\n // Initialize the form group with validators\r\n this.bookingRequestForm = this.searchFormBuilder.group({\r\n date: ['',\r\n Validators.required],\r\n adults: ['',\r\n Validators.required],\r\n kids: ['',\r\n Validators.required],\r\n name: ['',\r\n Validators.required],\r\n phone: ['',\r\n Validators.required],\r\n email: ['',\r\n Validators.required],\r\n comments: ['',\r\n Validators.required],\r\n dataProtection: ['',\r\n Validators.required]\r\n });\r\n \r\n // Fetch experiences by taker ID\r\n this.experienceService.getExperiencesByTakerId(this.takerService.getId()).subscribe(experiences => {\r\n this.takerExperiences = Array.from(experiences['hydra:member']).map((item) => item['@id']);\r\n });\r\n\r\n \r\n }\r\n\r\n loadExperience() {\r\n var productSlug = this.router['rawUrlTree'].root.children.primary.segments[2].path;\r\n\r\n this.experienceService.getExperienceBySlug(productSlug, this.translate.getDefaultLang()).subscribe(experience => {\r\n experience = experience['hydra:member'][0];\r\n this.experienceService.getExperience(experience.id, this.translate.getDefaultLang()).subscribe(experience => {\r\n\r\n this.productId = experience.id;\r\n \r\n this.experience = experience;\r\n\r\n this.meta.addTags([\r\n { name: 'description', content: this.experience.description },\r\n { name: 'lang', content: 'es' },\r\n { name: 'robots', content: 'index, follow' },\r\n { property: 'og:title', content: this.experience.name },\r\n { property: 'og:description', content: this.experience.description },\r\n { property: 'og:image', content: 'https://venntur.com/assets/experience/files/' + experience.mediaExperiences[0].contentUrl },\r\n { property: 'og:url', content: 'https://venntur.com/' + this.experience.slug },\r\n { property: 'og:site_name', content: 'Venntur' }\r\n ]);\r\n this.setTitle(this.experience.name);\r\n\r\n if (this.experience.maker.bookingEngine) {\r\n if (this.experience.bookingEngine == 'Turitop' || (!this.experience.bookingEngine && this.experience.maker.bookingEngine == 'Turitop')) {\r\n this.turitopId = this.experience.turitopId;\r\n setTimeout(() => {\r\n let calendar: any = document.getElementById('turitop-calendar');\r\n\r\n var s = document.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://app.turitop.com/js/load-turitop.min.js\";\r\n s.id = \"js-turitop\";\r\n s.setAttribute('data-company', this.experience.bookingEngineWidget ? this.experience.bookingEngineWidget : this.experience.maker.bookingEngineWidget);\r\n s.setAttribute('data-ga', 'no');\r\n s.setAttribute('data-buttoncolor', 'green');\r\n s.setAttribute('data-afftag', 'ttafid');\r\n calendar.appendChild(s);\r\n }, 1000);\r\n } else if (this.experience.bookingEngine == 'Fareharbor' || (!this.experience.bookingEngine && this.experience.maker.bookingEngine == 'Fareharbor')) {\r\n setTimeout(() => {\r\n let calendar: any = document.getElementById(\"fareharbor-calendar\");\r\n let fareharbor: any = document.getElementsByClassName(\"fareharbor-calendar-wrap\")[0];\r\n (fareharbor as any).style.display = \"block\";\r\n (fareharbor as any).parentNode.removeChild(fareharbor);\r\n (fareharbor.firstChild as any).src = \"https://fareharbor.com/embeds/calendar/\" + (this.experience.bookingEngineWidget ? this.experience.bookingEngineWidget : this.experience.maker.bookingEngineWidget) + \"/items/\" + this.experience.fareharborId + \"?fallback=simple&flow=no&back=https://venntur.com/es/product/\" + this.experience.slug + '&language=' + this.translate.getDefaultLang();\r\n calendar.appendChild(fareharbor);\r\n }, 1000);\r\n } else if (this.experience.bookingEngine == 'Bokun' || (!this.experience.bookingEngine && this.experience.maker.bookingEngine == 'Bokun')) {\r\n setTimeout(() => {\r\n var s = document.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://widgets.bokun.io/assets/javascripts/apps/build/BokunWidgetsLoader.js?bookingChannelUUID=\" + (this.experience.bookingEngineWidget ? this.experience.bookingEngineWidget : this.experience.maker.bookingEngineWidget) + \"&isDuda=true\";\r\n document.getElementsByTagName('head')[0].appendChild(s);\r\n }, 1000);\r\n\r\n this.bokunId = this.experience.bokunId;\r\n } else if (this.experience.bookingEngine == 'Rezdy' || (!this.experience.bookingEngine && this.experience.maker.bookingEngine == 'Rezdy')) {\r\n this.rezdyId = this.experience.rezdyId;\r\n var s = document.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://catlanza.rezdy.com/pluginJs\";\r\n document.getElementsByTagName('head')[0].appendChild(s);\r\n setTimeout(() => {\r\n var w: any = document.getElementById('iFrameResizer0');\r\n w.src = 'https://' + (this.experience.bookingEngineWidget ? this.experience.bookingEngineWidget : this.experience.maker.bookingEngineWidget) + '.rezdy.com/calendarWidget/' + this.rezdyId + '?iframe=true';\r\n }, 1000);\r\n\r\n } else if (this.experience.bookingEngine == 'Donicus' || (!this.experience.bookingEngine && this.experience.maker.bookingEngine == 'Donicus')) {\r\n this.donicusId = this.experience.donicusId;\r\n setTimeout(() => {\r\n let calendar: any = document.getElementById('don-'+this.experience.bookingEngineWidget );\r\n // don-EDCFD2BC-EE8E-4D29-A680-25474C872D85\r\n // '65a8daf7-e9b5-45ff-bdf6-f3f7d7639499'\r\n calendar.setAttribute('donref', this.donicusId);\r\n calendar.setAttribute('donlocale', 'ES'); \r\n }, 500);\r\n \r\n setTimeout(() => {\r\n var s = document.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://service.donicus.com/dist/loader.min.js\";\r\n s.setAttribute('donname', 'donicusBooking');\r\n document.getElementsByTagName('head')[0].appendChild(s);\r\n }, 1000);\r\n\r\n } else {\r\n this.showDefault = true;\r\n }\r\n } else {\r\n this.showDefault = true;\r\n }\r\n\r\n this.addJsonLdSchema();\r\n\r\n\r\n this.experienceService.getValidatedReviewsByExperienceId(this.productId).subscribe(reviews => {\r\n this.reviews = reviews['hydra:member'];\r\n\r\n // Dont show the comment if has not text\r\n this.reviews.forEach(review => {\r\n\r\n if (review.comments === \"Sin comentario\") {\r\n review.comments = \"\";\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n });\r\n })\r\n }\r\n\r\n\r\n scrollToElement(id: any) {\r\n const element = document.getElementById(id);\r\n if (element) {\r\n element.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }\r\n\r\n openPhotosModal(template: TemplateRef, config: any) {\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n convertTimeToCustomFormat(inputTime: string): string {\r\n let formattedText;\r\n const [hours, minutes] = inputTime.split(':').map(part => parseInt(part, 10));\r\n\r\n if (minutes != 0) {\r\n formattedText = hours + ' h y ' + minutes + ' min'\r\n } else {\r\n formattedText = hours + ' h'\r\n }\r\n\r\n return formattedText;\r\n }\r\n\r\n changePhoneTooltip(text: string) {\r\n const textarea = document.createElement('textarea');\r\n textarea.style.position = 'fixed';\r\n textarea.style.opacity = '0';\r\n textarea.value = text;\r\n document.body.appendChild(textarea);\r\n textarea.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(textarea);\r\n this.customEmailTooltip = 'Copiar al portapapeles'\r\n this.customPhoneTooltip = 'Copiado!'\r\n }\r\n\r\n changeEmailTooltip(text: string) {\r\n const textarea = document.createElement('textarea');\r\n textarea.style.position = 'fixed';\r\n textarea.style.opacity = '0';\r\n textarea.value = text;\r\n document.body.appendChild(textarea);\r\n textarea.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(textarea);\r\n this.customPhoneTooltip = 'Copiar al portapapeles'\r\n this.customEmailTooltip = 'Copiado!'\r\n }\r\n\r\n formatDate(inputDate) {\r\n const date = new Date(inputDate);\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Note: Months are zero-based, so we add 1.\r\n const year = date.getFullYear();\r\n\r\n return `${day}-${month}-${year}`;\r\n }\r\n\r\n storeDate(event) {\r\n console.log(event);\r\n this.bsInlineValue = event;\r\n }\r\n\r\n \r\n\r\n sendBookingEmail() {\r\n\r\n this.bookingEmailData.makerEmail = this.experience.maker.email;\r\n this.bookingEmailData.makerName = this.experience.maker.name;\r\n this.bookingEmailData.experienceName = this.experience.name;\r\n this.bookingEmailData.date = this.formatDate(this.bsInlineValue);\r\n this.bookingRequestForm.get('date').setValue(this.formatDate(this.bsInlineValue));\r\n this.bookingEmailData.adults = this.bookingRequestForm.get('adults').value;\r\n this.bookingEmailData.kids = this.bookingRequestForm.get('kids').value;\r\n this.bookingEmailData.name = this.bookingRequestForm.get('name').value;\r\n this.bookingEmailData.phone = this.bookingRequestForm.get('phone').value;\r\n this.bookingEmailData.email = this.bookingRequestForm.get('email').value;\r\n this.bookingEmailData.comments = this.bookingRequestForm.get('comments').value;\r\n this.bookingEmailData.url = 'https://venntur.com/es/product/' + this.experience.slug;\r\n\r\n if (this.bookingRequestForm.status == 'VALID') {\r\n this.salesService.postBookingEmail(this.bookingEmailData).subscribe(\r\n response => {\r\n console.log(response);\r\n this.bookingRequestSuccess = true;\r\n setTimeout(() => {\r\n this.bookingRequestSuccess = false;\r\n }, 5000);\r\n },\r\n error => {\r\n console.log('error al enviar el email');\r\n console.log(error);\r\n });\r\n } else {\r\n this.bookingRequestForm.markAllAsTouched();\r\n }\r\n\r\n }\r\n\r\n showError(formValue) {\r\n return this.bookingRequestForm.get(formValue).invalid && this.bookingRequestForm.get(formValue).touched;\r\n }\r\n\r\n clickFavorite(event, experienceId) {\r\n if (this.takerService.getId()) {\r\n this.takerExperiences.includes(experienceId) ?\r\n this.takerExperiences.splice(this.takerExperiences.indexOf(experienceId), 1) : this.takerExperiences.push(experienceId);\r\n const taker = {\r\n favoriteExperiences: this.takerExperiences\r\n };\r\n const editedTaker = new Taker(taker);\r\n this.takerService.putTaker(this.takerService.getId(), editedTaker).subscribe();\r\n } else {\r\n this.isAlertShown = true;\r\n }\r\n }\r\n\r\n shareExperience(experience) {\r\n var enlace = 'https://venntur.com/product/' + experience.slug;\r\n var mensaje = this.translate.instant('¡Mira esta experiencia en Venntur!');\r\n\r\n mensaje = encodeURIComponent(mensaje);\r\n enlace = encodeURIComponent(enlace);\r\n\r\n var enlaceWhatsApp = 'https://wa.me/?text=' + mensaje + '%20' + enlace;\r\n\r\n window.open(enlaceWhatsApp);\r\n\r\n }\r\n\r\n onHidden(): void {\r\n this.isAlertShown = false;\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n removeMetaTags() {\r\n const metaTags = Array.from(document.querySelectorAll('meta'));\r\n\r\n metaTags.forEach((metaTag: Element) => {\r\n this.renderer2.removeChild(document.head, metaTag);\r\n });\r\n }\r\n\r\n public setTitle(newTitle: string) {\r\n this.title.setTitle(newTitle);\r\n }\r\n\r\n getUrl(isCivitatis, image) {\r\n return !isCivitatis ? 'https://venntur.com/assets/experience/files/' + image : image;\r\n // return !isCivitatis ? 'https://dev.venntur.com/assets/newExperience/files/' + image : image;\r\n }\r\n\r\n // New method for adding JSON-LD schema\r\naddJsonLdSchema(): void {\r\n console.log('Adding JSON-LD schema', this.experience);\r\n if (this.experience) {\r\n const currentLanguage = this.experience.language || 'en';\r\n const schema = {\r\n \"@context\": \"https://schema.org\",\r\n \"@type\": \"TouristAttraction\",\r\n \"name\": this.experience.name,\r\n \"description\": this.experience.description,\r\n \"image\": this.myImageArray,\r\n \"url\": `https://venntur.com/${currentLanguage}/product/${this.experience.slug}`,\r\n \"addressLocality\": this.experience.location.city,\r\n \"addressRegion\": this.experience.location.region\r\n // \"aggregateRating\": {\r\n // \"@type\": \"AggregateRating\",\r\n // \"ratingValue\": this.experience.averageRating || \"4.5\",\r\n // \"reviewCount\": this.experience.reviewCount || this.reviews.length\r\n // },\r\n // \"offers\": {\r\n // \"@type\": \"Offer\",\r\n // \"price\": this.experience.price || \"0\",\r\n // \"priceCurrency\": \"EUR\",\r\n // \"availability\": \"https://schema.org/InStock\",\r\n // \"url\": `https://venntur.com/${currentLanguage}/product/${this.experience.slug}`\r\n // },\r\n // \"address\": {\r\n // \"@type\": \"PostalAddress\",\r\n // \"addressLocality\": this.experience.location.city,\r\n // \"addressRegion\": this.experience.location.region,\r\n // \"addressCountry\": \"ES\"\r\n // }\r\n };\r\n // Add JSON-LD schema to the page\r\n console.log(\"ABOUT TO SEND SCHEMA...\");\r\n this.jsonLdService.setData(schema);\r\n }\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n {{experience.name}}\r\n \r\n
    \r\n
    \r\n \r\n {{category.name}},\r\n \r\n \r\n |\r\n \r\n \r\n \r\n {{experience.location.name}}, {{experience.location.country}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n 0 ? experience.mediaExperiences[0].contentUrl : ''))\"\r\n alt=\"Imagen de la empresa\" (click)=\"openPhotosModal(photosContent,{class: 'photosModal'})\">\r\n {{experience.promotionType}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \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 ? experience.mediaExperiences[1].contentUrl : ''))\"\r\n alt=\"Imagen de la experiencia\" (click)=\"openPhotosModal(photosContent,{class: 'photosModal'})\">\r\n
    \r\n
    \r\n 2 ? experience.mediaExperiences[2].contentUrl : ''))\"\r\n alt=\"Imagen de la experiencia\" style=\"border-radius: 0px 20px 0px 0px;\" (click)=\"openPhotosModal(photosContent,{class: 'photosModal'})\">\r\n
    \r\n
    \r\n 3 ? experience.mediaExperiences[3].contentUrl : ''))\"\r\n alt=\"Imagen de la experiencia\" (click)=\"openPhotosModal(photosContent,{class: 'photosModal'})\">\r\n
    \r\n
    \r\n 4 ? experience.mediaExperiences[4].contentUrl : ''))\"\r\n alt=\"Imagen de la experiencia\" style=\"border-radius: 0px 0px 20px 0px;\" (click)=\"openPhotosModal(photosContent,{class: 'photosModal'})\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {{convertTimeToCustomFormat(experience.duration)}}\r\n \r\n \r\n
    \r\n
    0\" class=\"pr-3\">\r\n |\r\n \r\n \r\n {{ week[day] | translate }},\r\n \r\n \r\n
    \r\n
    \r\n |\r\n \r\n \r\n {{language.name}},\r\n \r\n \r\n Sin datos\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Sin datos\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Qué incluye' | translate }}\r\n \r\n
    \r\n
      \r\n
    • \r\n {{includes}}\r\n
    • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Excluido' | translate }}\r\n \r\n
    \r\n
      \r\n
    • \r\n {{notIncludes}}\r\n
    • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Qué debes saber' | translate }}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{'Qué debes llevar' | translate }}\r\n \r\n
    \r\n \r\n
      \r\n
    • \r\n {{carryInfo}}\r\n
    • \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Solicitud de Reserva' | translate }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{i+1}}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{i}}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ 'Debe introducir un campo válido' | translate }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ 'Debe introducir un campo válido' | translate }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ 'Debe introducir un campo válido' | translate }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ 'Debe introducir un campo válido' | translate }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {{ 'Solicitud enviada!' | translate }}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{ 'Organizado por' | translate }}\r\n \r\n {{ 'Ver ficha de empresa' | translate }}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {{i + 1}}/{{experience.mediaExperiences.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
    ","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport KeenSlider, { KeenSliderInstance } from 'keen-slider';\r\nimport JSZip from 'jszip';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-product-pin-page',\r\n templateUrl: './product-pin-page.component.html',\r\n styleUrls: ['./product-pin-page.component.scss',\r\n '../../../../../node_modules/keen-slider/keen-slider.min.css']\r\n})\r\nexport class ProductPinPageComponent implements OnInit {\r\n\r\n @ViewChild(\"pinImagesSlider\") pinImagesSlider: ElementRef;\r\n\r\n productId = null;\r\n experience = null;\r\n showTab = 'generalData'\r\n currentModality = 0;\r\n savedUrls: string[] = [];\r\n savedVideoUrls: string[] = [];\r\n allImages: string[] = [];\r\n disableDownload = false;\r\n\r\n currentSlide: number = 0\r\n dotHelper: Array = []\r\n slider: KeenSliderInstance = null\r\n\r\n constructor(\r\n private router: Router,\r\n public translate: TranslateService,\r\n private experienceService: ExperiencesService,\r\n private http: HttpClient\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n var productSlug = this.router['rawUrlTree'].root.children.primary.segments[2].path;\r\n\r\n this.experienceService.getExperienceBySlug(productSlug, this.translate.getDefaultLang()).subscribe(experience => {\r\n\r\n experience = experience['hydra:member'][0];\r\n this.productId = experience.id;\r\n\r\n this.experience = experience;\r\n\r\n experience.mediaExperiences.forEach(image => {\r\n this.allImages.push('https://venntur.com/assets/experience/files/' + image.contentUrl)\r\n });\r\n });\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n setTimeout(() => {\r\n this.slider = new KeenSlider(this.pinImagesSlider.nativeElement, {\r\n initial: this.currentSlide,\r\n slideChanged: (s) => {\r\n this.currentSlide = s.track.details.rel\r\n },\r\n })\r\n this.dotHelper = [\r\n ...Array(this.slider.track.details.slides.length).keys(),\r\n ]\r\n }, 1000);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.slider) this.slider.destroy()\r\n }\r\n\r\n setTitle(array) {\r\n return array.map(obj => obj.name).join(', ')\r\n }\r\n\r\n setModality(index) {\r\n this.currentModality = index;\r\n }\r\n\r\n saveImage(url) {\r\n console.log(url);\r\n\r\n if (this.savedUrls.includes('https://venntur.com/assets/experience/files/' + url)) {\r\n this.savedUrls = this.savedUrls.filter(item => item !== 'https://venntur.com/assets/experience/files/' + url);\r\n } else {\r\n this.savedUrls.push('https://venntur.com/assets/experience/files/' + url)\r\n }\r\n console.log(this.savedUrls);\r\n\r\n }\r\n\r\n saveVideo(url) {\r\n\r\n console.log(url);\r\n\r\n if(this.savedVideoUrls.includes(url)){\r\n this.savedVideoUrls = this.savedVideoUrls.filter(item => item !== url);\r\n } else {\r\n this.savedVideoUrls.push(url);\r\n }\r\n\r\n console.log(this.savedVideoUrls);\r\n\r\n }\r\n\r\n downloadFiles(urls) {\r\n for (let i = 0; i < urls.length; i++) {\r\n const url = urls[i];\r\n const fileName = url.substring(url.lastIndexOf('/') + 1); // Extract file name from URL\r\n\r\n // Create an element\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = fileName;\r\n\r\n console.log(url);\r\n\r\n // Trigger the download programmatically\r\n link.style.display = 'none'; // Hide the link\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n // Clean up\r\n document.body.removeChild(link);\r\n }\r\n }\r\n\r\n async downloadAllFiles(savedUrls) {\r\n this.disableDownload = true;\r\n const zip = new JSZip();\r\n\r\n // Create a folder in the ZIP archive\r\n const folder = zip.folder('files');\r\n\r\n // Add each file to the folder\r\n for (const [index, url] of savedUrls.entries()) {\r\n this.experienceService.getFileDatas({ 'url': url }).subscribe((response => {\r\n const data = this.base64toBlob(response.response);\r\n const fileName = `${this.experience.slug}${index + 1}.${url.split('.').pop()}`;\r\n folder.file(fileName, data);\r\n }))\r\n\r\n }\r\n\r\n setTimeout(async () => {\r\n const zipBlob = await zip.generateAsync({ type: 'blob' });\r\n\r\n // Create a download link for the ZIP file\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(zipBlob);\r\n link.download = 'Images.zip';\r\n link.style.display = 'none';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n \r\n this.disableDownload = false;\r\n }, 1000);\r\n\r\n // Generate the ZIP file\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n async downloadAllVideos(savedUrls) {\r\n this.disableDownload = true;\r\n const zip = new JSZip();\r\n\r\n // Create a folder in the ZIP archive\r\n const folder = zip.folder('archivos');\r\n\r\n // Add each file to the folder\r\n for (const [index, url] of savedUrls.entries()) {\r\n this.experienceService.getFileDatas({ 'url': url }).subscribe((response => {\r\n\r\n var cleanUrl = url.replace('https://venntur-media.s3.eu-west-3.amazonaws.com/', '');\r\n var videoFormat = 'video/' + cleanUrl.split('.').pop();\r\n var format = cleanUrl.split('.').pop();\r\n\r\n console.log(videoFormat);\r\n\r\n //convert response.response to blob video\r\n const videoData = this.base64ToBlobVideo(response.response, videoFormat);\r\n const fileName = this.experience.slug + '.' + format;\r\n folder.file(fileName, videoData);\r\n }))\r\n\r\n }\r\n\r\n setTimeout(async () => {\r\n const zipBlob = await zip.generateAsync({ type: 'blob' });\r\n\r\n // Create a download link for the ZIP file\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(zipBlob);\r\n link.download = 'Venntur-videos.zip';\r\n link.style.display = 'none';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n \r\n this.disableDownload = false;\r\n }, 1000);\r\n\r\n // Generate the ZIP file\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n /* async downloadAllVideos(savedUrls) {\r\n this.disableDownload = true;\r\n const zip = new JSZip();\r\n const folder = zip.folder('files');\r\n \r\n for (const [index, url] of savedUrls.entries()) {\r\n // Utiliza tu método o servicio para obtener los datos del video\r\n\r\n const videoHtml = document.getElementById(url);\r\n console.log(videoHtml);\r\n\r\n var cleanUrl = url.replace('https://venntur-media.s3.eu-west-3.amazonaws.com/', '');\r\n var videoFormat = cleanUrl.split('.').pop();\r\n\r\n this.getVideoDataHtml(videoHtml, videoFormat).then((data) => {\r\n console.log(data);\r\n //folder.file(`${this.experience.slug}${index + 1}.${videoFormat}`, data, { binary: true });\r\n });\r\n\r\n\r\n //url: https://---.com/---.extension we need just the extension\r\n const fileName = `${this.experience.slug}${index + 1}.${url.split('.').pop()}`;\r\n\r\n console.log(url);\r\n console.log(fileName);\r\n console.log(videoFormat);\r\n\r\n\r\n \r\n // Agrega los datos del video al archivo ZIP\r\n //folder.file(fileName, videoData, { binary: true });\r\n }\r\n \r\n const zipBlob = await zip.generateAsync({ type: 'blob' });\r\n \r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(zipBlob);\r\n link.download = 'Videos.zip';\r\n link.style.display = 'none';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n \r\n this.disableDownload = false;\r\n }\r\n\r\n getVideoDataHtml(videoHtml, videoFormat) {\r\n return new Promise((resolve, reject) => {\r\n videoHtml.onloadeddata = () => {\r\n const canvas = document.createElement('canvas');\r\n canvas.width = videoHtml.videoWidth;\r\n canvas.height = videoHtml.videoHeight;\r\n canvas.getContext('2d').drawImage(videoHtml, 0, 0, canvas.width, canvas.height);\r\n canvas.toBlob(resolve, 'video/'+videoFormat, 0.95);\r\n\r\n console.log(canvas);\r\n\r\n\r\n };\r\n });\r\n }\r\n \r\n async getVideoData(url) {\r\n // Utiliza tu método o servicio para obtener los datos del video en el formato adecuado\r\n // y devuélvelos como un objeto Blob o en el formato necesario para ser agregados al archivo ZIP\r\n\r\n // NO CORS MODE, GET VIDEO DATA FROM VIDEO URL\r\n\r\n \r\n\r\n\r\n try {\r\n\r\n const response = await fetch(url, {\r\n mode: 'no-cors'\r\n });\r\n \r\n if (!response.ok) {\r\n throw new Error('Error al obtener los datos del video');\r\n }\r\n\r\n console.log(url);\r\n console.log(response);\r\n \r\n const videoData = await response.blob();\r\n console.log(videoData);\r\n \r\n return videoData;\r\n\r\n } catch (error) {\r\n console.error(error);\r\n throw 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\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n base64toBlob(base64Data) {\r\n // contentType = contentType || '';\r\n const byteCharacters = atob(base64Data);\r\n const byteArrays = [];\r\n\r\n for (let i = 0; i < byteCharacters.length; i++) {\r\n byteArrays.push(byteCharacters.charCodeAt(i));\r\n }\r\n\r\n return new Blob([new Uint8Array(byteArrays)]);\r\n }\r\n\r\n base64ToBlobVideo(base64Data, contentType) {\r\n const byteCharacters = atob(base64Data);\r\n const byteArrays = [];\r\n \r\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\r\n const slice = byteCharacters.slice(offset, offset + 512);\r\n \r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n \r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n \r\n return new Blob(byteArrays, { type: contentType });\r\n }\r\n \r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n 0 ? experience.maker.mediaMakers[0].contentUrl : '')\"\r\n alt=\"Imagen de la experiencia\">\r\n {{experience.name}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \"{{experience.name}}\r\n
    \r\n
    \r\n
    \r\n
    1\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ID Venntur\r\n {{experience.id ? experience.id : 'No disponible' }}\r\n
    \r\n
    \r\n Título\r\n {{experience.name}}\r\n
    \r\n
    \r\n Categoría\r\n {{experience.categories[0].name}}\r\n
    \r\n
    \r\n Subategoría/s\r\n
    \r\n {{category.name}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ID Channel Manager\r\n {{ experience.channelManagerId ? experience.channelManagerId : 'No disponible' }}\r\n
    \r\n
    \r\n Destino\r\n {{experience.location.name}}\r\n
    \r\n
    \r\n Etiquetas\r\n
    \r\n {{tag.name}}\r\n
    \r\n
    \r\n
    \r\n Idiomas\r\n
    \r\n {{language.name}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Descripción\r\n \r\n \r\n {{experience.description}}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Descripción extendida\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Qué incluye\r\n \r\n
      \r\n
    • \r\n {{includes}}\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Excluído\r\n \r\n
      \r\n
    • \r\n {{notIncludes}}\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ¿Qué debes llevar?\r\n \r\n
      \r\n
    • \r\n {{carryInfo}}\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ¿Qué debes saber?\r\n \r\n
      \r\n
    • \r\n {{moreInfo}}\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Política de cancelaciones y cambios\r\n \r\n \r\n {{experience.cancellation}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ID Venntur\r\n {{ experience.id ? experience.id : 'No disponible' }}\r\n
    \r\n
    \r\n ID Channel Manager\r\n {{ experience.modalities[currentModality].bookingEngineId ? experience.modalities[currentModality].bookingEngineId : 'No disponible' }}\r\n
    \r\n
    \r\n Título modalidad {{currentModality+1}}\r\n {{experience.modalities[currentModality].title}}\r\n
    \r\n
    \r\n Descripción modalidad {{currentModality+1}}\r\n {{experience.modalities[currentModality].description}}\r\n
    \r\n
    \r\n BE option ID\r\n {{experience.modalities[currentModality].bookingEngineId}}\r\n
    \r\n
    \r\n Duración\r\n {{experience.modalities[currentModality].duration}}\r\n
    \r\n
    \r\n Hora de inicio\r\n {{experience.modalities[currentModality].start}}\r\n
    \r\n
    \r\n Hora de finalización\r\n {{experience.modalities[currentModality].end}}\r\n
    \r\n
    \r\n Punto de encuentro\r\n {{experience.modalities[currentModality].meetingPoint}}\r\n
    \r\n
    \r\n Servicio de recogida\r\n {{experience.modalities[currentModality].pickup == true ? 'Si' : 'No'}}\r\n
    \r\n
    \r\n Ubicación\r\n {{experience.modalities[currentModality].location}}\r\n
    \r\n\r\n \r\n
    0\">\r\n Precios\r\n
    \r\n
    \r\n \r\n {{price.name}}: \r\n \r\n {{price.price}}€\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Seleccione una imagen para descargar\r\n \r\n
    \r\n
    \r\n
    \r\n \"Imagen\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n Seleccione un vídeo para descargar\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\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 { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n// import { FacebookLoginProvider, GoogleLoginProvider, SocialAuthService, SocialUser } from 'angularx-social-login';\r\nimport { User } from '../../../shared/users/user.model';\r\nimport { UsersService } from '../../../shared/users/users.service';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { errorMessages, regExps } from '../../shared/custom-validators';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { MakerService } from '../../shared/maker.service';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n\r\n@Component({\r\n selector: 'app-register-maker',\r\n templateUrl: './register-maker.component.html',\r\n})\r\nexport class RegisterMakerComponent implements OnInit {\r\n userForm: UntypedFormGroup;\r\n user: User;\r\n alert = { message: null, type: null };\r\n errors = errorMessages;\r\n plan: string;\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService,\r\n // private socialAuthService: SocialAuthService,\r\n private userService: UsersService,\r\n private makerService: MakerService,\r\n public translate: TranslateService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe(params => {\r\n this.plan = params['plan'];\r\n });\r\n\r\n this.initializeGoogleSignIn();\r\n }\r\n\r\n initializeGoogleSignIn() {\r\n // Aquí reemplaza 'TU_CLIENT_ID' con tu Client ID de Google\r\n google.accounts.id.initialize({\r\n client_id: '306399346139-snsajbsqgf2dc48eeptm1ir0v94k00hi.apps.googleusercontent.com',\r\n callback: this.handleCredentialResponse.bind(this)\r\n });\r\n\r\n // Renderiza el botón de Google Sign-In\r\n google.accounts.id.renderButton(\r\n document.getElementById('registerGoogle'),\r\n { theme: 'outline', size: 'large', text: 'signup_with' } // puedes personalizar el botón aquí\r\n );\r\n }\r\n\r\n handleCredentialResponse(response: any) {\r\n // console.log(\"Token de ID de Google: \", response.credential);\r\n // Envía el token a tu backend o realiza la lógica de autenticación aquí\r\n\r\n this.authService.loginByGoogle(response.credential, 'ROLE_MAKER')\r\n .then(\r\n (response) => {\r\n // console.log('Respuesta después token: ' + response);\r\n // window.location.reload();\r\n /* setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n if (this.authService.hasMakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n } else if (this.authService.hasTakerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/taker/admin/perfil/');\r\n } else if (this.authService.hasResellerRole()) {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/reseller/admin/perfil/');\r\n }\r\n }, 1000); */\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar hacer login con Google, por favor vuelve a intentarlo';\r\n });\r\n\r\n }\r\n\r\n createForm() {\r\n this.userForm = this.formBuilder.group({\r\n email: ['', [\r\n Validators.required,\r\n Validators.email\r\n ]],\r\n password: ['', [\r\n Validators.required,\r\n Validators.pattern(regExps.password)\r\n ]\r\n ],\r\n role: ['ROLE_MAKER', Validators.required]\r\n });\r\n }\r\n\r\n createUser() {\r\n if (this.userForm.invalid) {\r\n this.showErrors(this.userForm);\r\n return;\r\n }\r\n const user = {\r\n email: this.userForm.get('email').value,\r\n password: this.userForm.get('password').value,\r\n roles: this.userForm.get('role').value\r\n };\r\n this.userService.postUser(user).subscribe((result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Usuario creado correctamente';\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n this.authService.login(user.email, user.password)\r\n .then(() => {\r\n if (user.roles.includes('ROLE_MAKER')) {\r\n this.createMakerPlan(result.user, user.password);\r\n }\r\n // } else if (user.roles.includes('ROLE_TAKER')) {\r\n // this.router.navigateByUrl(this.translate.getDefaultLang() + '/taker/admin/perfil');\r\n // }\r\n })\r\n .catch();\r\n }, 1000);\r\n this.createForm();\r\n }, (error) => {\r\n this.alert.message = error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n });\r\n }\r\n\r\n /* signInWithFB(): void {\r\n this.socialAuthService.signIn(FacebookLoginProvider.PROVIDER_ID).then((user: SocialUser) => {\r\n this.authService.loginByFacebook(user, 'ROLE_MAKER')\r\n .then(\r\n (response) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = `Ya casi hemos acabado... Te hemos enviado un correo al email con el que te has registrado.\r\n // Por favor, ve a tu bandeja de entrada y confirma el registro.`;\r\n // setTimeout(() => {\r\n // this.alert = {message: null, type: null};\r\n // }, 5000);\r\n // this.createMakerPlan(user.email);\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar registrarte con Facebook, por favor vuelve a intentarlo';\r\n });\r\n });\r\n }\r\n\r\n signInWithGoogle(): void {\r\n this.socialAuthService.signIn(GoogleLoginProvider.PROVIDER_ID).then((user: SocialUser) => {\r\n this.authService.loginByGoogle(user.idToken, 'ROLE_MAKER')\r\n .then(\r\n (response) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = `Ya casi hemos acabado... Te hemos enviado un correo al email con el que te has registrado.\r\n // Por favor, ve a tu bandeja de entrada y confirma el registro.`;\r\n // setTimeout(() => {\r\n // this.alert = {message: null, type: null};\r\n // }, 5000);\r\n // this.createMakerPlan(user);\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar registrarte con Google, por favor vuelve a intentarlo';\r\n });\r\n });\r\n } */\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.userForm.get(formValue).invalid && this.userForm.get(formValue).touched;\r\n }\r\n\r\n createMakerPlan(user, password) {\r\n console.log(user);\r\n let maker: any = {\r\n \"email\": user.email,\r\n \"name\": user.email,\r\n \"user\": '/users/' + user.id,\r\n \"slug\": user.email\r\n }\r\n this.makerService.postMaker(maker).subscribe((makerResult) => {\r\n let makerPlan = {\r\n \"price\": '0',\r\n \"startDate\": new Date(),\r\n \"maker\": \"/makers/\" + makerResult.id,\r\n \"plan\": \"/plans/df432580-3b93-11eb-80af-509a4c653a6c\",\r\n \"stripeCustomerId\": \"GRATUITO\"\r\n }\r\n maker.plan = \"START\";\r\n maker.creation = (new Date()).toLocaleDateString('en-GB');\r\n this.makerService.postFreeMakerPlan(makerPlan).subscribe((result) => {\r\n let directoryAnalytics = {\r\n maker: \"/makers/\" + makerResult.id\r\n }\r\n this.makerService.sendFreeMakerPlanEmail({'email': makerResult.email, 'name': makerResult.name}).subscribe((result) => {\r\n this.makerService.postDirectoryAnalytics(directoryAnalytics).subscribe((result) => {\r\n this.makerService.postMakerContact(maker).subscribe((result) => {\r\n this.authService.login(user.email, password)\r\n .then(() => {\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/maker/admin/perfil/');\r\n // } else if (user.roles.includes('ROLE_TAKER')) {\r\n // this.router.navigateByUrl(this.translate.getDefaultLang() + '/taker/admin/perfil');\r\n // }\r\n })\r\n })\r\n })\r\n });\r\n })\r\n })\r\n // if (this.plan === 'gratuito') {\r\n // this.makerService.postFreeMakerPlan({price: 0, email: makerEmail});\r\n // this.router.navigateByUrl(this.translate.getDefaultLang() + '/maker/admin/perfil');\r\n // } else {\r\n // let planPrice = null;\r\n // if (this.plan === 'basico') {\r\n // planPrice = 'price_1HtuT8DQOX9k1ARpo2xGkQpJ';\r\n // } else if (this.plan === 'pro') {\r\n // planPrice = '';\r\n // }\r\n // // @ts-ignore\r\n // const stripe = Stripe('pk_test_my9mJE7a5hoQWNV7HSnFvCY0');\r\n // stripe.redirectToCheckout({\r\n // lineItems: [{price: planPrice, quantity: 1}],\r\n // mode: 'subscription',\r\n // successUrl: `${FRONT_URL}${this.translate.getDefaultLang()}/maker/admin/perfil`,\r\n // cancelUrl: `${FRONT_URL}${this.translate.getDefaultLang()}`,\r\n // })\r\n // // tslint:disable-next-line:only-arrow-functions no-shadowed-variable\r\n // .then(function(result) {\r\n // if (result.error) {\r\n // const displayError = document.getElementById('error-message');\r\n // displayError.textContent = result.error.message;\r\n // }\r\n // });\r\n // }\r\n }\r\n}\r\n","
    \r\n
    \r\n

    {{ 'Únete al club de makers más rentable' | translate}}

    \r\n
    \r\n\r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n o\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['email'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['password'])}}\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n

    {{ 'Al Hacer clic en “Crear cuenta” aceptas nuestras' | translate}} {{ 'Condiciones de uso' | translate}},\r\n {{ 'Política de privacidad' | translate}} {{ 'y la' | translate}} {{ 'Política de cookies' | translate}}.\r\n

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

    {{alert.message}}\r\n

    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FacebookLoginProvider, GoogleLoginProvider, SocialAuthService, SocialUser } from 'angularx-social-login';\r\nimport { User } from '../../../shared/users/user.model';\r\nimport { UsersService } from '../../../shared/users/users.service';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { errorMessages, regExps } from '../../shared/custom-validators';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { ResellerService } from '../../shared/reseller.service';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n\r\n@Component({\r\n selector: 'app-register-reseller',\r\n templateUrl: './register-reseller.component.html',\r\n})\r\nexport class RegisterResellerComponent implements OnInit {\r\n userForm: UntypedFormGroup;\r\n user: User;\r\n alert = {message: null, type: null};\r\n errors = errorMessages;\r\n plan: string;\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService,\r\n private socialAuthService: SocialAuthService,\r\n private userService: UsersService,\r\n private resellerService: ResellerService,\r\n public translate: TranslateService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n createForm() {\r\n this.userForm = this.formBuilder.group({\r\n email: [ '', [\r\n Validators.required,\r\n Validators.email\r\n ]],\r\n password: [ '', [\r\n Validators.required,\r\n Validators.pattern(regExps.password)\r\n ]\r\n ],\r\n role: ['ROLE_RESELLER', Validators.required]\r\n });\r\n }\r\n\r\n createUser() {\r\n if (this.userForm.invalid) {\r\n this.showErrors(this.userForm);\r\n return;\r\n }\r\n const user = {\r\n email: this.userForm.get('email').value,\r\n password: this.userForm.get('password').value,\r\n roles: this.userForm.get('role').value\r\n };\r\n this.userService.postUser(user).subscribe((result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Usuario creado correctamente';\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n this.authService.login(user.email, user.password)\r\n .then(() => {\r\n if (user.roles.includes('ROLE_RESELLER')) {\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/reseller/admin/perfil');\r\n }\r\n // } else if (user.roles.includes('ROLE_TAKER')) {\r\n // this.router.navigateByUrl(this.translate.getDefaultLang() + '/taker/admin/perfil');\r\n // }\r\n })\r\n .catch();\r\n }, 1000);\r\n this.createForm();\r\n }, (error) => {\r\n this.alert.message = error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {this.alert = {message: null, type: null};\r\n }, 5000);\r\n });\r\n }\r\n\r\n signInWithFB(): void {\r\n this.socialAuthService.signIn(FacebookLoginProvider.PROVIDER_ID).then((user: SocialUser) => {\r\n this.authService.loginByFacebook(user, 'ROLE_RESELLER')\r\n .then(\r\n (response) => {\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/reseller/admin/perfil');\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar registrarte con Facebook, por favor vuelve a intentarlo';\r\n });\r\n });\r\n }\r\n\r\n signInWithGoogle(): void {\r\n this.socialAuthService.signIn(GoogleLoginProvider.PROVIDER_ID).then((user: SocialUser) => {\r\n this.authService.loginByGoogle(user.idToken, 'ROLE_RESELLER')\r\n .then(\r\n (response) => {\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/reseller/admin/perfil');\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar registrarte con Google, por favor vuelve a intentarlo';\r\n });\r\n });\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.userForm.get(formValue).invalid && this.userForm.get(formValue).touched;\r\n }\r\n}\r\n","
    \r\n
    \r\n

    {{ 'Regístrate' | translate}}

    \r\n

    {{ 'Regístrate ya y crea tu propio panel de venta y contratación' | translate}}

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n o\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['email'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['password'])}}\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n

    {{ 'Al Hacer clic en “Crear cuenta” aceptas nuestras' | translate}} {{ 'Condiciones de uso' | translate}},\r\n {{ 'Política de privacidad' | translate}} {{ 'y la' | translate}} {{ 'Política de cookies' | translate}}.\r\n

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

    {{alert.message}}\r\n

    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { errorMessages, regExps } from '../shared/custom-validators';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { User } from '../../shared/users/user.model';\r\nimport { UsersService } from '../../shared/users/users.service';\r\nimport { AuthService } from '../shared/auth.service';\r\nimport { FacebookLoginProvider, GoogleLoginProvider, SocialAuthService, SocialUser } from 'angularx-social-login';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n userForm: UntypedFormGroup;\r\n user: User;\r\n alert = {message: null, type: null};\r\n errors = errorMessages;\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService,\r\n private socialAuthService: SocialAuthService,\r\n private userService: UsersService,\r\n public translate: TranslateService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n createForm() {\r\n this.userForm = this.formBuilder.group({\r\n email: [ '', [\r\n Validators.required,\r\n Validators.email\r\n ]],\r\n password: [ '', [\r\n Validators.required,\r\n Validators.pattern(regExps.password)\r\n ]\r\n ],\r\n role: ['ROLE_TAKER', Validators.required]\r\n });\r\n }\r\n\r\n createUser() {\r\n if (this.userForm.invalid) {\r\n this.showErrors(this.userForm);\r\n return;\r\n }\r\n const user = {\r\n email: this.userForm.get('email').value,\r\n password: this.userForm.get('password').value,\r\n roles: this.userForm.get('role').value\r\n };\r\n this.userService.postUser(user).subscribe((result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Usuario creado correctamente';\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n }, 5000);\r\n this.createForm();\r\n this.authService.login(user.email, user.password)\r\n .then(() => {\r\n if (user.roles.includes('ROLE_MAKER')) {\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/maker/admin/perfil');\r\n } else if (user.roles.includes('ROLE_TAKER')) {\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/taker/admin/perfil');\r\n }\r\n })\r\n .catch();\r\n }, (error) => {\r\n this.alert.message = error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {this.alert = {message: null, type: null};\r\n }, 5000);\r\n });\r\n }\r\n\r\n signInWithFB(): void {\r\n this.socialAuthService.signIn(FacebookLoginProvider.PROVIDER_ID).then((user: SocialUser) => {\r\n this.authService.loginByFacebook(user, 'ROLE_TAKER')\r\n .then(\r\n (response) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = `Ya casi hemos acabado... Te hemos enviado un correo al email con el que te has registrado.\r\n // Por favor, ve a tu bandeja de entrada y confirma el registro.`;\r\n // setTimeout(() => {\r\n // this.alert = {message: null, type: null};\r\n // }, 5000);\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/taker/admin/perfil');\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar registrarte con Facebook, por favor vuelve a intentarlo';\r\n });\r\n });\r\n }\r\n\r\n signInWithGoogle(): void {\r\n this.socialAuthService.signIn(GoogleLoginProvider.PROVIDER_ID).then((user: SocialUser) => {\r\n this.authService.loginByGoogle(user.idToken, 'ROLE_TAKER')\r\n .then(\r\n (response) => {\r\n // this.alert.type = 1;\r\n // this.alert.message = `Ya casi hemos acabado... Te hemos enviado un correo al email con el que te has registrado.\r\n // Por favor, ve a tu bandeja de entrada y confirma el registro.`;\r\n // setTimeout(() => {\r\n // this.alert = {message: null, type: null};\r\n // }, 5000);\r\n this.router.navigateByUrl(this.translate.getDefaultLang() + '/taker/admin/perfil');\r\n },\r\n (error) => {\r\n this.alert.type = 2;\r\n this.alert.message = 'Ocurrió un error al intentar registrarte con Google, por favor vuelve a intentarlo';\r\n });\r\n });\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.userForm.get(formValue).invalid && this.userForm.get(formValue).touched;\r\n }\r\n}\r\n","
    \r\n
    \r\n

    {{ 'Regístrate' | translate}}

    \r\n

    {{ 'Regístrate ya y forma parte de nuestra comunidad' | translate}}

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {{ 'o' | translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['email'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['password'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    {{ 'Al Hacer clic en “Crear cuenta” aceptas nuestras' | translate}} {{ 'Condiciones de uso' | translate}},\r\n {{ 'Política de privacidad' | translate}} {{ 'Crear cuenta' | translate}} y la {{ 'Política de cookies' | translate}}.\r\n

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

    {{alert.message}}\r\n

    \r\n
    \r\n
    ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-reseller-admin',\r\n templateUrl: './reseller-admin.component.html',\r\n styleUrls: ['./reseller-admin.component.css']\r\n})\r\nexport class ResellerAdminComponent {}\r\n","\r\n
    \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, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ResellerService } from '../../../shared/reseller.service';\r\nimport { ConfirmationDialogComponent } from '../../../shared/confirmation-dialog/confirmation-dialog.component';\r\nimport { maxTableRows } from 'globals';\r\n\r\n@Component({\r\n selector: 'app-reseller-contacts-list',\r\n styleUrls: ['./reseller-contacts-list.component.scss'],\r\n templateUrl: './reseller-contacts-list.component.html',\r\n\r\n})\r\nexport class ResellerContactsListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n columns = [];\r\n rows = [];\r\n searchForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private resellerService: ResellerService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService,\r\n public translate: TranslateService\r\n ) {\r\n this.resellerService.getContactsByResellerId(resellerService.getId()).subscribe((contacts => {\r\n this.rows = contacts[ 'hydra:member' ];\r\n }));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n position: [''],\r\n email: [''],\r\n phone: [''],\r\n id: ['']\r\n });\r\n this.columns = [\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'position', name: 'Cargo' },\r\n { prop: 'email', name: 'Email' },\r\n { prop: 'phone', name: 'Teléfono' }];\r\n }\r\n\r\n applyFilter() {\r\n this.resellerService.getContactsByResellerId(this.resellerService.getId()).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n }\r\n );\r\n }\r\n\r\n deleteContact(contactId) {\r\n this.dialogRef = this.dialog.show(ConfirmationDialogComponent, {\r\n initialState: {\r\n confirmMessage: '¿Seguro que quieres eliminar este contacto?',\r\n callback: (confirm) => {\r\n if (confirm) {\r\n this.resellerService.deleteContact(contactId).subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Contacto eliminado correctamente';\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n }, 5000);\r\n },\r\n error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {this.alert = {message: null, type: null};\r\n }, 5000);\r\n },\r\n );\r\n setTimeout(() => {\r\n this.resellerService.getContactsByResellerId(this.resellerService.getId()).subscribe((contacts => {\r\n this.rows = contacts[ 'hydra:member' ];\r\n this.table.offset = 0;\r\n }));\r\n }, 1000);\r\n }\r\n this.dialogRef = null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n

    {{ 'Contactos' | translate}}

    \r\n {{ 'Añadir nuevo contacto' | translate}}\r\n
    \r\n
    \r\n

    {{alert.message}}

    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { errorMessages, regExps } from '../../../shared/custom-validators';\r\nimport { ResellerService } from '../../../shared/reseller.service';\r\nimport { MediaResellerService } from '../../reseller-profile/media-reseller';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n\r\n@Component({\r\n selector: 'app-reseller-contacts',\r\n templateUrl: './reseller-contacts.component.html',\r\n styleUrls: ['./reseller-contacts.component.css']\r\n})\r\nexport class ResellerContactsComponent implements OnInit {\r\n contactForm: UntypedFormGroup;\r\n contactImage = null;\r\n selectedFile: File;\r\n selectedFiles = [];\r\n uploadedFiles = [];\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n uploadProgress = 0;\r\n alert = { message: null, type: null };\r\n errors = errorMessages;\r\n reseller = null;\r\n contact = null;\r\n title = 'Nuevo contacto';\r\n\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title,\r\n private mediaResellerService: MediaResellerService,\r\n private resellerService: ResellerService,\r\n public translate: TranslateService,\r\n public dialog: BsModalService\r\n ) {\r\n if (this.resellerService.getId()) {\r\n this.reseller = '/resellers/' + this.resellerService.getId();\r\n this.createForm();\r\n } else {\r\n this.router.navigateByUrl('/reseller/admin/perfil');\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.activatedRoute.snapshot.params.id) {\r\n this.title = 'Editar contacto';\r\n setTimeout(() => {\r\n this.editContact(this.activatedRoute.snapshot.params.id);\r\n }, 1000);\r\n }\r\n }\r\n\r\n createForm() {\r\n this.contactForm = this.formBuilder.group({\r\n mediaContacts: ['',\r\n Validators.required\r\n ],\r\n name: ['',\r\n Validators.required\r\n ],\r\n position: ['',\r\n Validators.required\r\n ],\r\n email: ['', [\r\n Validators.required,\r\n Validators.email\r\n ]\r\n ],\r\n phone: ['', [\r\n Validators.required,\r\n Validators.pattern(regExps.phone)\r\n ]\r\n ],\r\n reseller: [this.reseller]\r\n });\r\n }\r\n\r\n editContact(contactId) {\r\n this.resellerService.getContact(contactId, this.translate.getDefaultLang()).subscribe((contact: any) => {\r\n this.contact = contact;\r\n this.contactForm.get('name').setValue(contact.name);\r\n this.contactForm.get('position').setValue(contact.position);\r\n this.contactForm.get('email').setValue(contact.email);\r\n this.contactForm.get('phone').setValue(contact.phone);\r\n if (contact.mediaContacts.length > 0) {\r\n this.contactForm.get('mediaContacts').setValue([contact.mediaContacts[0]['@id']]);\r\n this.contactImage = '/assets/makerContact/files/' + contact.mediaContacts[0]['contentUrl'];\r\n }\r\n });\r\n }\r\n\r\n updateContact() {\r\n if (this.contactForm.invalid) {\r\n this.showErrors(this.contactForm);\r\n return;\r\n }\r\n const editedContact = {\r\n name: this.contactForm.get('name').value,\r\n position: this.contactForm.get('position').value,\r\n email: this.contactForm.get('email').value,\r\n phone: this.contactForm.get('phone').value,\r\n mediaContacts: this.contactForm.get('mediaContacts').value,\r\n reseller: this.contactForm.get('reseller').value,\r\n };\r\n this.resellerService.putContact(this.contact.id, editedContact, this.translate.getDefaultLang())\r\n .subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Contacto guardado correctamente';\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n this.contact = null;\r\n this.createForm();\r\n location.replace(this.translate.getDefaultLang() + '/reseller/admin/contactos');\r\n },\r\n error => {\r\n this.alert.message = error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n () => console.log('complete'));\r\n }\r\n\r\n createContact() {\r\n if (this.contactForm.invalid) {\r\n this.showErrors(this.contactForm);\r\n return;\r\n }\r\n const contact = {\r\n mediaContacts: this.contactForm.get('mediaContacts').value,\r\n name: this.contactForm.get('name').value,\r\n position: this.contactForm.get('position').value,\r\n email: this.contactForm.get('email').value,\r\n phone: this.contactForm.get('phone').value,\r\n reseller: this.contactForm.get('reseller').value\r\n };\r\n this.resellerService.postContact(contact).subscribe(() => {\r\n this.alert.type = 1;\r\n this.alert.message = this.translate.instant('Contacto creado correctamente');\r\n setTimeout(() => {\r\n location.replace(this.translate.getDefaultLang() + '/reseller/admin/contactos');\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n }, (error) => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n });\r\n }\r\n\r\n onFileChanged(event) {\r\n if (event.target.files[0].type === 'image/jpeg' || event.target.files[0].type === 'image/png') {\r\n this.selectedFile = event.target.files[0];\r\n }\r\n }\r\n\r\n onUploadedImage(uploadedImage: object, formControlName: string) {\r\n if (formControlName === 'mediaContacts') {\r\n this.contactForm.get(formControlName).patchValue([uploadedImage['id']]);\r\n this.contactImage = FRONT_URL + uploadedImage['url'];\r\n }\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.contactForm.get(formValue).invalid && this.contactForm.get(formValue).touched;\r\n }\r\n\r\n changeLanguage(language) {\r\n this.translate.setDefaultLang(language);\r\n setTimeout(() => {\r\n this.editContact(this.activatedRoute.snapshot.params.id);\r\n }, 100);\r\n }\r\n\r\n}\r\n","

    {{translate.instant(title)}}

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Selecciona un avatar de contacto. Formatos aceptados: .jpeg, .jpg, .png' | translate}}\r\n {{ 'Dimensiones recomendadas:' | translate}} 150x150\r\n \r\n \r\n {{translate.instant(errors['mediaContacts'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n

    Avatar {{ 'subido' | translate }}:

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactName'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactPosition'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactEmail'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['contactPhone'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{alert.message}}

    \r\n
    \r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { CountryService } from '../../../shared/locations/country.service';\r\nimport { maxTableRows } from 'globals';\r\n\r\n\r\n@Component({\r\n selector: 'app-reseller-countries-list',\r\n templateUrl: './reseller-countries-list.component.html',\r\n styleUrls: ['./reseller-countries-list.component.css']\r\n})\r\nexport class ResellerCountriesListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n columns = [\r\n { prop: 'text', name: 'Nombre' }];\r\n rows = [];\r\n searchForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private countriesService: CountryService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService,\r\n ) {\r\n this.countriesService.getCountries().subscribe((countries => {\r\n this.rows = countries[ 'hydra:member' ];\r\n }));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n });\r\n }\r\n\r\n applyFilter() {\r\n this.countriesService.getCountries().subscribe(\r\n data => {\r\n this.rows = data;\r\n this.table.offset = 0;\r\n }\r\n );\r\n }\r\n}\r\n","
    \r\n

    Paises

    \r\n Añadir nuevo país\r\n
    \r\n
    \r\n

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n
    Buscar por:
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n \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, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { ResellerService } from '../../shared/reseller.service';\r\nimport { CategoriesService } from '../../../shared/categories/categories.service';\r\nimport { Location } from '../../../shared/locations/location.model';\r\nimport { LocationService } from '../../../shared/locations/location.service';\r\nimport { Router } from '@angular/router';\r\nimport { Tag } from '../../../shared/tags/tag.model';\r\nimport {TagsService} from '../../../shared/tags/tags.service';\r\nimport { maxTableRows } from 'globals';\r\n\r\n@Component({\r\n selector: 'app-reseller-experiences-list',\r\n styleUrls: ['./reseller-experiences-list.component.scss'],\r\n templateUrl: './reseller-experiences-list.component.html',\r\n\r\n})\r\nexport class ResellerExperiencesListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n columns = [];\r\n rows = [];\r\n resellerId;\r\n resellerExperiences = [];\r\n statusArray = ['Pendiente contacto', 'Contactado', 'Contratado', 'Terminado'];\r\n isFavorites = true;\r\n tags: Tag[] = [];\r\n tagsSelected = [];\r\n locations: Location[] = [];\r\n locationsSelected = [];\r\n searchForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private experienceService: ExperiencesService,\r\n private resellerService: ResellerService,\r\n private router: Router,\r\n private tagsService: TagsService,\r\n private locationsService: LocationService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService,\r\n ) {\r\n this.tagsService.getActiveTags('es').subscribe(tags => {\r\n this.tags = tags['hydra:member'];\r\n });\r\n this.locationsService.getActiveLocations().subscribe(locations => {\r\n this.locations = locations['hydra:member'];\r\n }\r\n );\r\n this.resellerId = this.resellerService.getId();\r\n if (!this.router['rawUrlTree'].queryParams['maker']) {\r\n this.experienceService.getExperiencesByResellerId(this.resellerId, {}).subscribe(experiences => {\r\n this.resellerExperiences = experiences[ 'hydra:member' ];\r\n });\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n maker: [''],\r\n locations: [''],\r\n tags: [''],\r\n isFavorites: [true],\r\n resellerId: [this.resellerId],\r\n id: ['']\r\n });\r\n if (this.router['rawUrlTree'].queryParams['maker']) {\r\n this.searchForm.get('maker').setValue(this.router['rawUrlTree'].queryParams['maker']);\r\n this.searchForm.get('isFavorites').setValue(false);\r\n this.isFavorites = false;\r\n }\r\n this.columns = [\r\n { prop: 'experience.id', name: 'ID' },\r\n { prop: 'experience.name', name: 'Nombre' },\r\n { prop: 'experience.location.name', name: 'Ubicación' },\r\n { prop: 'experience.maker.name', name: 'Maker' }];\r\n\r\n this.applyFilter();\r\n }\r\n\r\n applyFilter() {\r\n if (!this.searchForm.value.isFavorites) {\r\n this.experienceService.getExperiences(this.searchForm.value, 'es').subscribe(\r\n data => {\r\n this.experienceService.getExperiencesByResellerId(this.resellerId, {}).subscribe(experiences => {\r\n this.resellerExperiences = Array.from(experiences['hydra:member']).map((item) => item['experience']['@id']);\r\n });\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n this.isFavorites = false;\r\n this.columns = [\r\n { prop: 'id', name: 'ID' },\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'location.name', name: 'Ubicación' },\r\n { prop: 'maker.name', name: 'Maker' }];\r\n }\r\n );\r\n } else {\r\n this.experienceService.getExperiencesByResellerId(this.resellerId, this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n this.isFavorites = true;\r\n this.columns = [\r\n { prop: 'experience.id', name: 'ID' },\r\n { prop: 'experience.name', name: 'Nombre' },\r\n { prop: 'experience.location.name', name: 'Ubicación' },\r\n { prop: 'experience.maker.name', name: 'Maker' }];\r\n }\r\n );\r\n }\r\n }\r\n\r\n addFavorite(event, experienceId) {\r\n this.resellerExperiences.includes(experienceId) ?\r\n this.resellerExperiences.splice(this.resellerExperiences.indexOf(experienceId), 1) : this.resellerExperiences.push(experienceId);\r\n const favoriteExperience = {\r\n reseller: '/resellers/' + this.resellerId,\r\n experience: experienceId,\r\n status: 'Pendiente contacto'\r\n };\r\n this.resellerService.postFavoriteExperience(favoriteExperience).subscribe();\r\n }\r\n\r\n removeFavorite(favoriteExperienceId) {\r\n this.resellerService.deleteFavoriteExperience(favoriteExperienceId).subscribe( () => {\r\n this.applyFilter();\r\n }\r\n );\r\n }\r\n\r\n changeStatus(status, favoriteExperienceId) {\r\n this.resellerService.putFavoriteExperience(favoriteExperienceId, {status: status}).subscribe();\r\n }\r\n}\r\n","
    \r\n

    Productos

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

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n
    Buscar por:
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {{ location.name }}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {{tag.name}}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {{tag.name}}{{i === row['tags'].length - 1 ? '' : ', '}}\r\n \r\n \r\n \r\n \r\n {{tag.name}}{{i === row.experience['tags'].length - 1 ? '' : ', '}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{status}}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { LocationService } from '../../../shared/locations/location.service';\r\nimport {Reseller} from '../reseller-profile/reseller.model';\r\nimport {ResellerService} from '../../shared/reseller.service';\r\nimport { maxTableRows } from 'globals';\r\n\r\n\r\n@Component({\r\n selector: 'app-reseller-locations-list',\r\n templateUrl: './reseller-locations-list.component.html',\r\n styleUrls: ['./reseller-locations-list.component.css']\r\n})\r\nexport class ResellerLocationsListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n columns = [\r\n { prop: 'name', name: 'Nombre' }];\r\n rows = [];\r\n resellerLocations = [];\r\n resellerId;\r\n searchForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private locationsService: LocationService,\r\n private resellerService: ResellerService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService,\r\n ) {\r\n this.resellerId = this.resellerService.getId();\r\n // this.locationsService.getLocations().subscribe((locations => {\r\n // this.rows = locations[ 'hydra:member' ];\r\n // }));\r\n this.locationsService.getLocationsByResellerId(this.resellerId).subscribe(experiences => {\r\n this.resellerLocations = Array.from(experiences['hydra:member']).map((item) => item['@id']);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n isFavorites: [true],\r\n resellerId: [this.resellerId]\r\n });\r\n this.applyFilter();\r\n }\r\n\r\n applyFilter() {\r\n this.locationsService.getLocations(this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n }\r\n );\r\n }\r\n\r\n clickFavorite(event, locationId) {\r\n this.resellerLocations.includes(locationId) ?\r\n this.resellerLocations.splice(this.resellerLocations.indexOf(locationId), 1) : this.resellerLocations.push(locationId);\r\n const reseller = {\r\n locations: this.resellerLocations\r\n };\r\n const editedReseller = new Reseller(reseller);\r\n this.resellerService.putReseller(this.resellerService.getId(), editedReseller).subscribe();\r\n }\r\n}\r\n","
    \r\n

    Destinos

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

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n
    Buscar por:
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \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, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport {Reseller} from '../reseller-profile/reseller.model';\r\nimport {ResellerService} from '../../shared/reseller.service';\r\nimport {LocationService} from '../../../shared/locations/location.service';\r\nimport {Location} from '../../../shared/locations/location.model';\r\nimport { maxTableRows } from 'globals';\r\n\r\n@Component({\r\n selector: 'app-reseller-makers-list',\r\n templateUrl: './reseller-makers-list.component.html',\r\n styleUrls: ['./reseller-makers-list.component.css']\r\n})\r\nexport class ResellerMakersListComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n columns = [];\r\n rows = [];\r\n resellerMakers = [];\r\n statusArray = ['Pendiente contacto', 'Contactado', 'Contratado', 'Terminado'];\r\n resellerId;\r\n locations: Location[] = [];\r\n locationsSelected = [];\r\n isFavorites = true;\r\n searchForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n private makersService: MakerService,\r\n private resellerService: ResellerService,\r\n private locationsService: LocationService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService,\r\n ) {\r\n this.locationsService.getActiveLocations().subscribe(locations => {\r\n this.locations = locations['hydra:member'];\r\n }\r\n );\r\n this.resellerId = this.resellerService.getId();\r\n this.makersService.getMakersByResellerId(this.resellerId, {}).subscribe(experiences => {\r\n this.resellerMakers = experiences[ 'hydra:member' ];\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n phone: [''],\r\n email: [''],\r\n web: [''],\r\n locations: [''],\r\n isFavorites: [true],\r\n isFavoritesProducts: [false],\r\n resellerId: [this.resellerId]\r\n });\r\n this.columns = [\r\n { prop: 'maker.name', name: 'Nombre' },\r\n { prop: 'maker.phone', name: 'Teléfono' },\r\n { prop: 'maker.email', name: 'Email' },\r\n { prop: 'maker.web', name: 'Página web' }];\r\n\r\n this.applyFilter();\r\n }\r\n\r\n applyFilter() {\r\n if (!this.searchForm.value.isFavorites) {\r\n this.makersService.getMakers(this.searchForm.value).subscribe(\r\n data => {\r\n this.makersService.getMakersByResellerId(this.resellerId, {}).subscribe(makers => {\r\n this.resellerMakers = Array.from(makers['hydra:member']).map((item) => item['maker']['@id']);\r\n });\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n this.isFavorites = false;\r\n this.columns = [\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'phone', name: 'Teléfono' },\r\n { prop: 'email', name: 'Email' },\r\n { prop: 'web', name: 'Página web' }];\r\n }\r\n );\r\n } else {\r\n this.makersService.getMakersByResellerId(this.resellerId, this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n this.isFavorites = true;\r\n this.columns = [\r\n { prop: 'maker.name', name: 'Nombre' },\r\n { prop: 'maker.phone', name: 'Teléfono' },\r\n { prop: 'maker.email', name: 'Email' },\r\n { prop: 'maker.web', name: 'Página web' }];\r\n });\r\n }\r\n }\r\n\r\n addFavorite(event, makerId) {\r\n this.resellerMakers.includes(makerId) ?\r\n this.resellerMakers.splice(this.resellerMakers.indexOf(makerId), 1) : this.resellerMakers.push(makerId);\r\n const favoriteMaker = {\r\n reseller: '/resellers/' + this.resellerId,\r\n maker: makerId,\r\n status: 'Pendiente contacto'\r\n };\r\n this.resellerService.postFavoriteMaker(favoriteMaker).subscribe();\r\n }\r\n\r\n removeFavorite(favoriteMakerId) {\r\n this.resellerService.deleteFavoriteMaker(favoriteMakerId).subscribe(() => {\r\n this.applyFilter();\r\n }\r\n );\r\n }\r\n\r\n changeStatus(status, favoriteMakerId) {\r\n this.resellerService.putFavoriteMaker(favoriteMakerId, {status: status}).subscribe();\r\n }\r\n}\r\n","
    \r\n

    Makers

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

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n
    Buscar por:
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {{ location.name }}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{status}}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpRequest } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class MediaResellerService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n mediaResellersUpload(fileItem: File, url, extraData?: object): Observable {\r\n const apiCreateEndpoint = `${API_URL}${url}`;\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('file', fileItem, fileItem.name);\r\n if (extraData) {\r\n for (const key in extraData) {\r\n if (extraData.hasOwnProperty(key)) {\r\n formData.append(key, extraData[ key ]);\r\n }\r\n }\r\n }\r\n const req = new HttpRequest('POST', apiCreateEndpoint, formData, {\r\n reportProgress: true // for progress data\r\n });\r\n return this.http.request(req);\r\n }\r\n\r\n deleteMediaResellers(mediaResellersId) {\r\n return this.http\r\n .delete(`${API_URL}${mediaResellersId}`);\r\n }\r\n\r\n getMediaResellers(mediaResellersId) {\r\n return this.http\r\n .get(`${API_URL}${mediaResellersId}`);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Reseller } from './reseller.model';\r\nimport { HttpEventType } from '@angular/common/http';\r\nimport { MediaResellerService } from './media-reseller';\r\nimport { ResellerService } from '../../shared/reseller.service';\r\nimport { CustomValidators, errorMessages, regExps } from '../../shared/custom-validators';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { Tag } from '../../../shared/tags/tag.model';\r\nimport { TagsService } from '../../../shared/tags/tags.service';\r\nimport { User } from '../../../shared/users/user.model';\r\nimport { UsersService } from '../../../shared/users/users.service';\r\nimport { CountryService } from '../../../shared/locations/country.service';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { Country } from '../../../shared/locations/country.model';\r\nimport { Category } from '../../../shared/categories/category.model';\r\nimport { CategoriesService } from '../../../shared/categories/categories.service';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n\r\n@Component({\r\n selector: 'app-reseller',\r\n templateUrl: './reseller.component.html',\r\n})\r\nexport class ResellerComponent implements OnInit {\r\n resellerForm: UntypedFormGroup;\r\n reseller: Reseller;\r\n title = 'Perfil agencia';\r\n selectedFile: File;\r\n selectedFiles = [];\r\n uploadedFiles = [];\r\n categories: Category[] = [];\r\n categoriesSelected = [];\r\n image = null;\r\n contactImage = null;\r\n images = [];\r\n logoImage = null;\r\n headerImage = null;\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n alert = {message: null, type: null};\r\n errors = errorMessages;\r\n uploadProgress = 0;\r\n resellerId = null;\r\n countries = [];\r\n public filteredCountries: ReplaySubject = new ReplaySubject(1);\r\n countrySelected = null;\r\n countriesSelected = [];\r\n phraseText = '';\r\n phraseMaxChar = 160;\r\n descriptionText = '';\r\n descriptionMaxChar = 160;\r\n tags: Tag[] = [];\r\n tagsSelected = [];\r\n formLanguage = 'es';\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService,\r\n private titleService: Title,\r\n private resellerService: ResellerService,\r\n private userService: UsersService,\r\n private categoryService: CategoriesService,\r\n private tagService: TagsService,\r\n private countryService: CountryService,\r\n private mediaResellerService: MediaResellerService,\r\n public translate: TranslateService\r\n ) {\r\n this.countryService.getCountries().subscribe(countries => {\r\n this.countries = countries;\r\n });\r\n this.tagService.getTags('es').subscribe(tags => {\r\n this.tags = tags['hydra:member'];\r\n });\r\n this.categoryService.getCategories(this.translate.getDefaultLang()).subscribe(categories => {\r\n this.categories = categories['hydra:member'];\r\n });\r\n if (this.resellerService.getId()) {\r\n this.title = 'Editar perfil agencia';\r\n this.resellerId = '/resellers/' + this.resellerService.getId();\r\n }\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.resellerId) {\r\n setTimeout(() => {\r\n this.editReseller(this.resellerId);\r\n }, 1000);\r\n }\r\n }\r\n\r\n createForm() {\r\n this.resellerForm = this.formBuilder.group({\r\n name: [ '',\r\n Validators.required\r\n ],\r\n fiscalName: [ '',\r\n Validators.required\r\n ],\r\n cif: [ '', [\r\n Validators.required,\r\n // CustomValidators.dniOrNieValidator\r\n ]],\r\n address: [ '', [\r\n Validators.required,\r\n ]],\r\n cp: [ '', [\r\n Validators.required,\r\n ]],\r\n country: [ '',\r\n Validators.required\r\n ],\r\n claim: [ '', [\r\n Validators.required,\r\n ]],\r\n whatsapp: [ '' , [\r\n Validators.pattern(regExps.phone)\r\n ]],\r\n instagram: [ ''],\r\n twitter: [ ''],\r\n linkedIn: [ ''],\r\n facebook: [ ''],\r\n observations: [ ''],\r\n urlWeb: [ '', [\r\n Validators.required,\r\n Validators.pattern(regExps.url)\r\n ]\r\n ],\r\n urlWebSupplier: [ '', [\r\n Validators.required,\r\n Validators.pattern(regExps.url)\r\n ]\r\n ],\r\n user: ['/users/' + this.authService.getUserId()],\r\n tripadvisor: [ ''],\r\n mediaResellersLogos: [ [], [\r\n Validators.required,\r\n ]],\r\n // categories: [''],\r\n tags: [''],\r\n countries: ['']\r\n });\r\n }\r\n\r\n createReseller() {\r\n if (this.resellerForm.invalid) {\r\n this.showErrors(this.resellerForm);\r\n return;\r\n }\r\n const reseller = {\r\n name: this.resellerForm.get('name').value,\r\n fiscalName: this.resellerForm.get('fiscalName').value,\r\n cif: this.resellerForm.get('cif').value,\r\n address: this.resellerForm.get('address').value,\r\n cp: this.resellerForm.get('cp').value,\r\n country: this.resellerForm.get('country').value,\r\n claim: this.resellerForm.get('claim').value,\r\n whatsapp: this.resellerForm.get('whatsapp').value,\r\n instagram: this.resellerForm.get('instagram').value,\r\n twitter: this.resellerForm.get('twitter').value,\r\n linkedIn: this.resellerForm.get('linkedIn').value,\r\n facebook: this.resellerForm.get('facebook').value,\r\n observations: this.resellerForm.get('observations').value,\r\n urlWeb: this.resellerForm.get('urlWeb').value,\r\n urlWebSupplier: this.resellerForm.get('urlWebSupplier').value,\r\n user: this.resellerForm.get('user').value,\r\n tripadvisor: this.resellerForm.get('tripadvisor').value,\r\n mediaResellersLogos: this.resellerForm.get('mediaResellersLogos').value,\r\n // categories: this.resellerForm.get('categories').value,\r\n tags: this.resellerForm.get('tags').value,\r\n countries: this.resellerForm.get('countries').value\r\n };\r\n this.resellerService.postReseller(reseller).subscribe(() => {\r\n this.alert.type = 1;\r\n this.alert.message = this.translate.instant('Agencia creada correctamente');\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n }, 5000);\r\n const roles = this.authService.roles();\r\n if (!roles.includes('ROLE_RESELLER')) {\r\n roles.push('ROLE_RESELLER');\r\n }\r\n\r\n const editedUser = new User({roles: roles});\r\n this.userService.putUser(this.authService.getUserId(), editedUser).subscribe(currentUser => {\r\n localStorage.setItem('user', JSON.stringify(currentUser));\r\n });\r\n // }\r\n this.resellerService.getResellerByUserId(this.authService.getUserId()).subscribe(currentReseller => {\r\n this.reseller = currentReseller;\r\n this.resellerId = currentReseller.id;\r\n localStorage.setItem('reseller', JSON.stringify({id: currentReseller.id , name: currentReseller.name}));\r\n });\r\n }, (error) => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {this.alert = {message: null, type: null};\r\n }, 5000);\r\n });\r\n }\r\n\r\n editReseller(resellerId) {\r\n this.resellerService.getReseller(resellerId, this.formLanguage).subscribe((reseller: Reseller) => {\r\n this.reseller = reseller;\r\n this.resellerForm.get('name').setValue(reseller.name);\r\n this.resellerForm.get('fiscalName').setValue(reseller.fiscalName);\r\n this.resellerForm.get('cif').setValue(reseller.cif);\r\n this.resellerForm.get('address').setValue(reseller.address);\r\n this.resellerForm.get('cp').setValue(reseller.cp);\r\n this.resellerForm.get('country').setValue(reseller.country);\r\n this.resellerForm.get('claim').setValue(reseller.claim);\r\n this.resellerForm.get('whatsapp').setValue(reseller.instagram);\r\n this.resellerForm.get('instagram').setValue(reseller.instagram);\r\n this.resellerForm.get('twitter').setValue(reseller.twitter);\r\n this.resellerForm.get('linkedIn').setValue(reseller.linkedIn);\r\n this.resellerForm.get('facebook').setValue(reseller.facebook);\r\n this.resellerForm.get('observations').setValue(reseller.observations);\r\n this.resellerForm.get('urlWeb').setValue(reseller.urlWeb);\r\n this.resellerForm.get('urlWebSupplier').setValue(reseller.urlWebSupplier);\r\n this.resellerForm.get('tripadvisor').setValue(reseller.tripadvisor);\r\n if (reseller.mediaResellersLogos.length > 0) {\r\n this.resellerForm.get('mediaResellersLogos').setValue([reseller.mediaResellersLogos[0]['@id']]);\r\n this.logoImage = '/assets/resellerLogo/files/' + reseller.mediaResellersLogos[0]['contentUrl'];\r\n }\r\n // this.resellerForm.get('categories').setValue(reseller.categories);\r\n const tags = [];\r\n if (reseller.tags) {\r\n reseller.tags.forEach(tag => {\r\n tags.push(tag['@id']);\r\n });\r\n this.resellerForm.get('tags').setValue(tags);\r\n }\r\n this.resellerForm.get('countries').setValue(reseller.countries);\r\n });\r\n }\r\n\r\n updateReseller() {\r\n if (this.resellerForm.invalid) {\r\n this.showErrors(this.resellerForm);\r\n return;\r\n }\r\n const reseller = {\r\n name: this.resellerForm.get('name').value,\r\n fiscalName: this.resellerForm.get('fiscalName').value,\r\n cif: this.resellerForm.get('cif').value,\r\n address: this.resellerForm.get('address').value,\r\n cp: this.resellerForm.get('cp').value,\r\n country: this.resellerForm.get('country').value,\r\n claim: this.resellerForm.get('claim').value,\r\n whatsapp: this.resellerForm.get('whatsapp').value,\r\n instagram: this.resellerForm.get('instagram').value,\r\n twitter: this.resellerForm.get('twitter').value,\r\n linkedIn: this.resellerForm.get('linkedIn').value,\r\n facebook: this.resellerForm.get('facebook').value,\r\n observations: this.resellerForm.get('observations').value,\r\n urlWeb: this.resellerForm.get('urlWeb').value,\r\n urlWebSupplier: this.resellerForm.get('urlWebSupplier').value,\r\n user: this.resellerForm.get('user').value,\r\n tripadvisor: this.resellerForm.get('tripadvisor').value,\r\n mediaResellersLogos: this.resellerForm.get('mediaResellersLogos').value,\r\n // categories: this.resellerForm.get('categories').value,\r\n tags: this.resellerForm.get('tags').value,\r\n countries: this.resellerForm.get('countries').value\r\n };\r\n const editedReseller = new Reseller(reseller);\r\n this.resellerService.putReseller(this.reseller.id, editedReseller, this.formLanguage)\r\n .subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = this.translate.instant('Agencia guardada correctamente');\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n }, 5000);\r\n },\r\n error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {this.alert = {message: null, type: null};\r\n }, 5000);\r\n },\r\n () => console.log('complete'));\r\n }\r\n\r\n onFileChanged(event) {\r\n if (event.target.files[ 0 ].type === 'image/jpeg' || event.target.files[ 0 ].type === 'image/png') {\r\n this.selectedFile = event.target.files[ 0 ];\r\n const reader = new FileReader();\r\n\r\n reader.onload = (event: any) => {\r\n this.image = event.target.result;\r\n };\r\n\r\n reader.readAsDataURL(event.target.files[0]);\r\n }\r\n }\r\n\r\n onUpload() {\r\n this.mediaResellerService.mediaResellersUpload(\r\n this.selectedFile, '/media_resellers_logos').subscribe(result => {\r\n this.handleProgress(result);\r\n }, error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {this.alert = {message: null, type: null};\r\n }, 5000);\r\n });\r\n }\r\n\r\n handleProgress(event) {\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.Response) {\r\n this.uploadComplete = true;\r\n this.uploadingProgressing = false;\r\n this.serverResponse = event.body;\r\n\r\n this.alert.type = 1;\r\n this.alert.message = this.translate.instant('Logo guardado correctamente');\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n }, 5000);\r\n\r\n this.resellerForm.get('mediaResellers').setValue([event.body['@id']]);\r\n }\r\n }\r\n\r\n onUploadedImage(uploadedImage: object, formControlName: string) {\r\n if (formControlName === 'mediaResellersLogos') {\r\n this.resellerForm.get(formControlName).patchValue([uploadedImage['id']]);\r\n this.logoImage = FRONT_URL + uploadedImage['url'];\r\n }\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.resellerForm.get(formValue).invalid && this.resellerForm.get(formValue).touched;\r\n }\r\n\r\n changeLanguage(language) {\r\n this.formLanguage = language;\r\n // this.translate.setDefaultLang(language);\r\n this.editReseller(this.resellerId);\r\n }\r\n}\r\n","

    {{translate.instant(title)}}

    \r\n
    \r\n

    {{ 'Completa los datos de la agencia' | translate }}

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

    {{ 'Datos privados' | translate }}

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors['document']) }}\r\n \r\n
    \r\n
    \r\n

    {{ 'Datos públicos' | translate }}

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors['resellerName']) }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors['fiscalName']) }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors['makerWeb']) }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors['makerWeb']) }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{ country.text }}\r\n \r\n \r\n {{ translate.instant(errors['countryName']) }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors['address']) }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ translate.instant(errors['cp']) }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{ 'Selecciona un logo de Agencia. Formatos aceptados: .jpeg, .jpg, .png' | translate}}\r\n {{ 'Dimensiones recomendadas:' | translate}}\r\n \r\n \r\n {{ translate.instant(errors['mediaReseller']) }}\r\n \r\n
    \r\n
    \r\n
    \r\n

    Logo {{ 'subido' | translate }}:

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

    {{ 'Datos de tu ficha de Agencia' | translate}}

    \r\n
    \r\n
    \r\n \r\n \r\n {{phraseText ? phraseText.length : 0}} / {{ phraseMaxChar }}\r\n {{ 'Max. 160 caracteres' | translate}}\r\n
    \r\n
    \r\n \r\n \r\n {{descriptionText ? descriptionText.length : 0}} / {{ descriptionMaxChar }}\r\n {{ 'Max. 160 caracteres' | translate }}\r\n\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n \r\n {{tag.name}}\r\n \r\n \r\n {{translate.instant(errors['resellerTags'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ country.text }}\r\n \r\n \r\n {{ translate.instant(errors['countryName']) }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n {{ 'Usuario de' | translate }} LinkedIn(Ej: company/12345678/admin/)\r\n \r\n {{translate.instant(errors['linkedIn'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Nombre de usuario de' | translate }} Facebook\r\n \r\n {{translate.instant(errors['facebook'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Nombre de usuario de' | translate }} Instagram\r\n \r\n {{translate.instant(errors['instagram'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Nombre de usuario de' | translate }} Twitter\r\n \r\n {{translate.instant(errors['twitter'])}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['phone'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Cancelar' | translate }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{alert.message}}

    \r\n
    \r\n","export class ResellerCollection {\r\n total: number;\r\n resellers: Reseller[];\r\n}\r\n\r\nexport class Reseller {\r\n id: string;\r\n name: string;\r\n fiscalName: string;\r\n cif: string;\r\n address: string;\r\n cp: string;\r\n country: string;\r\n claim: string;\r\n whatsapp: string;\r\n instagram: string;\r\n twitter: string;\r\n linkedIn: string;\r\n facebook: string;\r\n observations: string;\r\n urlWeb: string;\r\n urlWebSupplier: boolean;\r\n user: string;\r\n tripadvisor: string;\r\n mediaResellersLogos: any[];\r\n categories: any[];\r\n tags: any[];\r\n countries: any[];\r\n constructor(values: any = {}) {\r\n Object.assign(this, values);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MakerService } from '../shared/maker.service';\r\nimport { ExperiencesService } from '../experiences/experiences/experiences.service';\r\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\r\nimport { maxTableRows } from 'globals';\r\n\r\n@Component({\r\n selector: 'app-reviews-page',\r\n templateUrl: './reviews-page.component.html',\r\n styleUrls: ['./reviews-page.component.scss']\r\n})\r\nexport class ReviewsPageComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n title = 'Reviews';\r\n searchForm: UntypedFormGroup;\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n\r\n columns = [];\r\n rows = [];\r\n\r\n maker: any = [];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n private experienceService: ExperiencesService,\r\n private makerService: MakerService,\r\n ) { \r\n\r\n this.experienceService.getAllExperiencesByMakerId(makerService.getId()).subscribe((experiences => {\r\n this.rows = experiences['hydra:member'];\r\n }));\r\n\r\n this.makerService.getMaker('/makers/' + makerService.getId()).subscribe((maker => {\r\n this.maker = maker;\r\n }));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n });\r\n this.columns = [\r\n // { prop: 'id', name: 'ID' },\r\n { prop: 'name', name: 'Experiencia' },\r\n { prop: 'reviews.length', name: 'Reviews' }];\r\n }\r\n\r\n applyFilter() {\r\n this.experienceService.getAllExperiencesByMakerId(this.makerService.getId(), this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n }\r\n )\r\n }\r\n\r\n\r\n importReviews(makerId) {\r\n\r\n this.experienceService.importReviews(makerId).subscribe(\r\n data => {\r\n console.log(data);\r\n }\r\n )\r\n\r\n }\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n

    \r\n {{ translate.instant(title) }}\r\n

    \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    {{ 'Buscar por:' | translate}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Reviews por producto:\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ column.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SalesService } from '../sales.service';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { maxTableRows } from 'globals';\r\n\r\n\r\n@Component({\r\n selector: 'app-sales-history',\r\n templateUrl: './sales-history.component.html',\r\n styleUrls: ['./sales-history.component.scss']\r\n})\r\nexport class SalesHistoryComponent implements OnInit {\r\n maxTableRows = maxTableRows;\r\n\r\n @ViewChild('toTemplate') toTemplate: TemplateRef;\r\n @ViewChild('messageTemplate') messageTemplate: TemplateRef;\r\n columns = [];\r\n rows = [];\r\n initialRows = [];\r\n stopSales;\r\n modalRef: BsModalRef;\r\n bsValue = new Date();\r\n bsConfig?: Partial;\r\n datepickerModel?: Date;\r\n monthList: string[] = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];\r\n selectedRangeDate = [];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n public makerService: MakerService,\r\n public salesService: SalesService,\r\n public modalService: BsModalService\r\n\r\n ) {\r\n this.bsConfig = Object.assign({}, { showWeekNumbers: false, displayOneMonthRange: true });\r\n\r\n this.salesService.getStopSalesByMakerId(makerService.getId()).subscribe((stopSales => {\r\n this.initialRows = stopSales['hydra:member'];\r\n this.rows = stopSales['hydra:member'];\r\n }));\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.columns = [\r\n { prop: 'subject', name: 'Asunto' },\r\n { prop: 'contacts', name: 'Para' },\r\n { prop: 'createdAt', name: 'Fecha y hora de envío' },\r\n { prop: 'message', name: 'Mensaje' }\r\n ];\r\n }\r\n\r\n formatCustomDateWithTime(inputDateString: string): string {\r\n const inputDate = new Date(inputDateString);\r\n\r\n const options: Intl.DateTimeFormatOptions = {\r\n day: \"numeric\",\r\n month: \"long\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\"\r\n };\r\n const formatter = new Intl.DateTimeFormat(\"es-ES\", options);\r\n const formattedDate = formatter.format(inputDate);\r\n\r\n const parts = formattedDate.split(\",\");\r\n const dayAndMonth = parts[0];\r\n const time = parts[1].trim();\r\n\r\n return dayAndMonth + \" - \" + time;\r\n }\r\n\r\n formatCustomDate(inputDateString: string): string {\r\n const inputDate = new Date(inputDateString);\r\n\r\n const day = inputDate.getUTCDate().toString().padStart(2, \"0\");\r\n const month = (inputDate.getUTCMonth() + 1).toString().padStart(2, \"0\");\r\n const year = inputDate.getUTCFullYear();\r\n\r\n return `${day}/${month}/${year}`;\r\n }\r\n\r\n filterByRange(range) {\r\n if (range != null) {\r\n let startDate = this.formatDateToISO(new Date(range[0]));\r\n let endDate = this.formatDateToISO(new Date(range[1]));\r\n this.rows = this.rows.filter((objeto) => objeto.createdAt >= startDate && objeto.createdAt <= endDate);\r\n }\r\n }\r\n\r\n openMessageModal(template: TemplateRef, config: any) {\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n formatDateToISO(date: Date) {\r\n var año = date.getUTCFullYear();\r\n var mes = (\"0\" + (date.getUTCMonth() + 1)).slice(-2);\r\n var dia = (\"0\" + date.getUTCDate()).slice(-2);\r\n var hora = (\"0\" + date.getUTCHours()).slice(-2);\r\n var minutos = (\"0\" + date.getUTCMinutes()).slice(-2);\r\n var segundos = (\"0\" + date.getUTCSeconds()).slice(-2);\r\n\r\n return `${año}-${mes}-${dia}T${hora}:${minutos}:${segundos}.000Z`;\r\n }\r\n\r\n deleteRange(range) {\r\n this.datepickerModel = null;\r\n this.rows = this.initialRows;\r\n }\r\n}\r\n\r\n","
    \r\n

    {{ 'Historial de Stop Sales' | translate}}

    \r\n
    \r\n
    \r\n \r\n
    \r\n Desde el {{datepickerModel[0].getDate()}} de {{monthList[(datepickerModel[0].getMonth())]}} al {{datepickerModel[1].getDate()}} de {{\r\n monthList[(datepickerModel[1].getMonth())]}}\r\n de {{datepickerModel[1].getFullYear()}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Histórico de los stop sales:\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {{contact.email}}\r\n \r\n
    \r\n
    2\" class=\"\">\r\n ...\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{formatCustomDateWithTime(value)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{value}}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n Total: {{ rowCount }} Stop Sales\r\n \r\n
    \r\n
    \r\n 1)\"\r\n (change)=\"myTable.onFooterPage($event)\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n Para:\r\n

    \r\n {{contact.email}}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Fecha y hora de envio:\r\n \r\n
    \r\n Asunto\r\n \r\n
    \r\n Mensaje\r\n \r\n
      \r\n
    • \r\n {{experience.name}}\r\n
    • \r\n \r\n {{formatCustomDate(date[0]) + ' - ' + formatCustomDate(date[1])}}\r\n \r\n
    \r\n \r\n \r\n Un saludo,\r\n \r\n \r\n [Firma del Maker]\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n Para:\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{contact.email}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { MakerService } from '../../shared/maker.service';\r\nimport { BsDatepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { listLocales } from 'ngx-bootstrap/chronos';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { SalesService } from '../sales.service';\r\nimport { maxTableRows } from 'globals';\r\nimport { ModalAlertComponent } from 'src/app/shared/modal-alert/modal-alert.component';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\n\r\n@Component({\r\n selector: 'app-sales-list',\r\n templateUrl: './sales-list.component.html',\r\n styleUrls: ['./sales-list.component.scss']\r\n})\r\nexport class SalesListComponent implements OnInit {\r\n public Editor = ClassicEditor;\r\n \r\n maxTableRows = maxTableRows;\r\n\r\n @ViewChild('myTable') table: any;\r\n alert = { message: null, type: null };\r\n showTab = 0; // 0\r\n steps = ['Seleccionar productos', 'Seleccionar fechas', 'Seleccionar contactos', 'Editar mensaje y envíar', 'Cierre de ventas'];\r\n tabs = ['products', 'stopSales', 'contacts', 'send']\r\n monthList: string[] = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];\r\n columns = [];\r\n rows = [];\r\n columnsContacts = [];\r\n rowsContacts = [];\r\n makerId = localStorage.getItem('maker')['id'];\r\n locale = 'es';\r\n locales = listLocales();\r\n bsConfig?: Partial;\r\n bsInlineRangeValue: Date[];\r\n selectedRangeDate = [];\r\n isMobile: boolean;\r\n currentNode = 1;\r\n flameFill = 0;\r\n productDetails = [];\r\n contactDetails = [];\r\n groupDetails = [];\r\n stopSalesDetails = [];\r\n searchForm: UntypedFormGroup;\r\n contactSearchForm: UntypedFormGroup;\r\n notificationEmailForm: UntypedFormGroup;\r\n notificationEmailData = {\r\n products: this.productDetails,\r\n dates: this.selectedRangeDate,\r\n contacts: this.contactDetails,\r\n groups: this.groupDetails,\r\n extraContacts: [],\r\n subject: null,\r\n message: null,\r\n maker: null\r\n }\r\n maker;\r\n makerName = '';\r\n contactsEmails = [];\r\n productList = '';\r\n editorTemplate = '';\r\n editorTemplateStaticData = '';\r\n contacts = [{ 'id': 'contacts', 'name': 'Contactos' }, { 'id': 'groups', 'name': 'Grupos' }]\r\n listType = 'contacts';\r\n isDecreasing = false;\r\n firstStepNumber = 1;\r\n firstStepText = this.steps[this.firstStepNumber - 1]\r\n secondStepNumber = this.firstStepNumber + 1;\r\n secondStepText = this.steps[this.secondStepNumber - 1]\r\n productCheckboxValue = false;\r\n contactCheckboxValue = false;\r\n dialogRef: BsModalRef;\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private router: Router,\r\n public experiencesService: ExperiencesService,\r\n public makerService: MakerService,\r\n public salesService: SalesService,\r\n public bsLocaleService: BsLocaleService,\r\n private searchFormBuilder: UntypedFormBuilder,\r\n public dialog: BsModalService\r\n ) {\r\n this.bsConfig = Object.assign({}, { displayOneMonthRange: !this.isMobile, showWeekNumbers: false });\r\n this.bsLocaleService.use('es');//fecha en español, datepicker\r\n this.experiencesService.getAllExperiencesByMakerId(makerService.getId()).subscribe((experiences => {\r\n this.rows = experiences['hydra:member'];\r\n }));\r\n this.makerService.getContactsByMakerId(makerService.getId()).subscribe((contacts => {\r\n this.rowsContacts = contacts['hydra:member'];\r\n }));\r\n this.makerService.getMaker('/makers/' + makerService.getId(), this.translate.getDefaultLang()).subscribe((maker => {\r\n this.makerName = maker.name;\r\n this.maker = maker;\r\n }));\r\n\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.detectMobile();\r\n this.makerId = this.router['rawUrlTree'].queryParams['id'];\r\n\r\n this.searchForm = this.searchFormBuilder.group({\r\n name: [''],\r\n maker: [''],\r\n location: [''],\r\n id: ['']\r\n });\r\n this.contactSearchForm = this.searchFormBuilder.group({\r\n contactName: [''],\r\n companyName: ['']\r\n });\r\n this.notificationEmailForm = this.searchFormBuilder.group({\r\n contacts: [''],\r\n subject: [''],\r\n message: ['']\r\n });\r\n this.columns = [\r\n { prop: 'name', name: 'Nombre' }\r\n ];\r\n this.columnsContacts = [\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'company', name: 'Empresa' },\r\n { prop: 'email', name: 'Email' },\r\n { prop: 'phone', name: 'Teléfono' },\r\n { prop: 'contactGroups', name: 'Grupo' },\r\n ];\r\n\r\n }\r\n\r\n stopSales() {\r\n this.notificationEmailData.subject = 'STOP SALES - ' + this.makerName + (this.notificationEmailForm.value['subject'] != '' ? ' - ' + this.notificationEmailForm.value['subject'] : '')\r\n this.notificationEmailData.message = this.notificationEmailForm.value['message']\r\n if (this.notificationEmailData.message == '') {\r\n this.notificationEmailData.message = this.editorTemplateStaticData;\r\n }\r\n this.notificationEmailData.maker = this.maker\r\n this.salesService.postNotificationEmail(this.notificationEmailData).subscribe(\r\n response => {\r\n this.sendPostSale();\r\n\r\n const currentDiv = document.getElementById('4');\r\n\r\n currentDiv?.nextElementSibling.firstElementChild.classList.remove('glowing');\r\n\r\n const nextDiv = document.getElementById('5');\r\n nextDiv?.classList.add('active');\r\n\r\n setTimeout(() => {\r\n nextDiv?.classList.add('final-state');\r\n }, 2000);\r\n\r\n setTimeout(() => {\r\n nextDiv?.nextElementSibling.firstElementChild.classList.add('active');\r\n nextDiv?.nextElementSibling.firstElementChild.classList.add('glowing');\r\n }, 2000);\r\n\r\n\r\n this.currentNode++;\r\n this.flameFill += 25;\r\n this.setProgress(this.flameFill / 100);\r\n\r\n this.addNumbersToMobileProgressBar(5)\r\n this.openAlert('Cierre de ventas enviado!', 'w-300', true)\r\n },\r\n error => {\r\n console.log('error al enviar el email');\r\n\r\n console.log(error);\r\n this.openAlert('Ha habido un error!', 'w-300', false)\r\n });\r\n }\r\n\r\n changeLang() {\r\n this.translate.setDefaultLang('es');\r\n }\r\n\r\n detectMobile() {\r\n const userAgent = navigator.userAgent.toLowerCase();\r\n this.isMobile = /mobile|android|iphone|ipad|ipod|blackberry|windows phone/i.test(userAgent);\r\n }\r\n\r\n nextTab(bool?: any) {\r\n if (bool != false) {\r\n this.showTab++\r\n if (this.showTab != 0) {\r\n this.notificationEmailData.contacts.forEach(contact => {\r\n if (!this.contactsEmails.includes(contact.email)) {\r\n this.contactsEmails.push(contact.email);\r\n }\r\n });\r\n this.notificationEmailForm.get('contacts').setValue(this.contactsEmails);\r\n\r\n }\r\n }\r\n\r\n if (this.productDetails.length > 0 && this.selectedRangeDate.length == 0) {\r\n const currentDiv = document.getElementById('1');\r\n\r\n currentDiv?.nextElementSibling.firstElementChild.classList.remove('glowing');\r\n\r\n const nextDiv = document.getElementById('2');\r\n nextDiv?.classList.add('active');\r\n\r\n setTimeout(() => {\r\n nextDiv?.classList.add('final-state');\r\n }, 2000);\r\n\r\n setTimeout(() => {\r\n nextDiv?.nextElementSibling.firstElementChild.classList.add('active');\r\n nextDiv?.nextElementSibling.firstElementChild.classList.add('glowing');\r\n }, 2000);\r\n }\r\n\r\n if (this.selectedRangeDate.length > 0 && this.contactDetails.length == 0) {\r\n const currentDiv = document.getElementById('2');\r\n\r\n currentDiv?.nextElementSibling.firstElementChild.classList.remove('glowing');\r\n\r\n const nextDiv = document.getElementById('3');\r\n nextDiv?.classList.add('active');\r\n\r\n setTimeout(() => {\r\n nextDiv?.classList.add('final-state');\r\n }, 2000);\r\n\r\n setTimeout(() => {\r\n nextDiv?.nextElementSibling.firstElementChild.classList.add('active');\r\n nextDiv?.nextElementSibling.firstElementChild.classList.add('glowing');\r\n }, 2000);\r\n }\r\n\r\n if (this.contactDetails.length > 0) {\r\n const currentDiv = document.getElementById('3');\r\n\r\n currentDiv?.nextElementSibling.firstElementChild.classList.remove('glowing');\r\n\r\n const nextDiv = document.getElementById('4');\r\n nextDiv?.classList.add('active');\r\n\r\n setTimeout(() => {\r\n nextDiv?.classList.add('final-state');\r\n }, 2000);\r\n\r\n setTimeout(() => {\r\n nextDiv?.nextElementSibling.firstElementChild.classList.add('active');\r\n nextDiv?.nextElementSibling.firstElementChild.classList.add('glowing');\r\n }, 2000);\r\n }\r\n\r\n this.currentNode++;\r\n this.flameFill += 25;\r\n this.setProgress(this.flameFill / 100);\r\n\r\n if (this.flameFill == 1) {\r\n const fireDiv = document.querySelector('.path');\r\n fireDiv.classList.add('glowing');\r\n }\r\n\r\n if (this.showTab == 3) {\r\n let rangeList = ' ';\r\n this.selectedRangeDate.forEach(range => {\r\n let date1 = new Date(range[0])\r\n let day1 = date1.getDate()\r\n let month1 = date1.getMonth() + 1\r\n let year1 = date1.getFullYear()\r\n\r\n let date2 = new Date(range[1])\r\n let day2 = date2.getDate()\r\n let month2 = date2.getMonth() + 1\r\n let year2 = date2.getFullYear()\r\n\r\n rangeList += day1 + '/' + month1 + '/' + year1 + ' - ' + day2 + '/' + month2 + '/' + year2 + '
    '\r\n });\r\n\r\n this.editorTemplateStaticData = '';\r\n this.editorTemplate = '
    ' +\r\n '

    Hola [contactname],

    ' +\r\n '

    Informamos de los siguientes cierres de venta:

    ' +\r\n '
    ';\r\n this.productDetails.forEach(product => {\r\n this.editorTemplateStaticData += '

    ' + product.name + '

    '\r\n });\r\n this.editorTemplateStaticData += '

    Las fechas de los cierres son:' +\r\n '
    ' +\r\n rangeList +\r\n '

    Un saludo

    ' +\r\n '

    [Tu firma]

    '\r\n '
    ';\r\n\r\n this.notificationEmailForm.controls['message'].setValue(this.editorTemplate);\r\n }\r\n }\r\n\r\n storeRangeDate(event) {\r\n let selectedDaysofRange = []\r\n event.forEach(range => {\r\n selectedDaysofRange.push(range)\r\n });\r\n this.selectedRangeDate.push(selectedDaysofRange)\r\n\r\n this.addNumbersToMobileProgressBar(3)\r\n }\r\n\r\n // Función para formatear un número con ceros a la izquierda (por ejemplo, 01, 02, 03, ...)\r\n formatWithLeadingZeros(value: number, length: number): string {\r\n return value.toString().padStart(length, '0');\r\n }\r\n\r\n // Función para formatear una fecha en el formato \"dd-mm-yyyy\"\r\n formatDateToDDMMYYYY(date: Date): string {\r\n const day = this.formatWithLeadingZeros(date.getDate(), 2);\r\n const month = this.formatWithLeadingZeros(date.getMonth() + 1, 2); // Los meses en JavaScript son base 0 (enero = 0)\r\n const year = date.getFullYear();\r\n\r\n return `${day}-${month}-${year}`;\r\n }\r\n\r\n onAnimationEnd(): void {\r\n // Agregar la clase 'final-state' al div para mantener el color después de la animación\r\n const progressDiv = document.querySelector('.progress');\r\n\r\n if (this.isDecreasing == false) {\r\n progressDiv?.classList.add('final-state');\r\n } else {\r\n progressDiv?.classList.remove('final-state');\r\n progressDiv?.classList.remove('active');\r\n progressDiv?.classList.remove('decreasing');\r\n }\r\n }\r\n\r\n onNumberAnimationEnd(): void {\r\n // Agregar la clase 'final-state' al div para mantener el color después de la animación\r\n const positionDiv = document.querySelector('.node-position');\r\n\r\n if (this.isDecreasing == false) {\r\n positionDiv?.classList.add('final-state');\r\n } else {\r\n positionDiv?.classList.remove('final-state');\r\n positionDiv?.classList.remove('active');\r\n }\r\n\r\n }\r\n\r\n setProgress(amt) {\r\n amt = (amt < 0) ? 0 : (amt > 1) ? 1 : amt;\r\n document.getElementById(\"stop1\").setAttribute(\"offset\", amt);\r\n document.getElementById(\"stop2\").setAttribute(\"offset\", amt);\r\n }\r\n\r\n addProduct(product) { \r\n console.log(this.productCheckboxValue);\r\n\r\n if (!this.productDetails.includes(product)) {\r\n this.productDetails.push(product);\r\n this.addNumbersToMobileProgressBar(2)\r\n } else {\r\n this.productDetails = this.productDetails.filter(deleteProduct => deleteProduct.id !== product.id);\r\n this.removeNumbersToMobileProgressBar();\r\n }\r\n }\r\n\r\n addContact(contact) {\r\n if (this.listType == 'groups') {\r\n if (!this.groupDetails.includes(contact['@id'])) {\r\n this.groupDetails.push(contact['@id']);\r\n this.addNumbersToMobileProgressBar(4)\r\n } else {\r\n this.groupDetails = this.groupDetails.filter(deleteContact => deleteContact !== contact['@id']);\r\n this.removeNumbersToMobileProgressBar();\r\n }\r\n contact.contacts.forEach(groupContact => {\r\n if (!this.contactDetails.includes(groupContact)) {\r\n this.contactDetails.push(groupContact)\r\n this.addNumbersToMobileProgressBar(4)\r\n } else {\r\n this.contactDetails = this.contactDetails.filter(deleteContact => deleteContact['@id'] !== groupContact['@id']);\r\n this.removeNumbersToMobileProgressBar();\r\n }\r\n });\r\n } else {\r\n if (!this.contactDetails.includes(contact)) {\r\n this.contactDetails.push(contact);\r\n this.addNumbersToMobileProgressBar(4)\r\n } else {\r\n this.contactDetails = this.contactDetails.filter(deleteContact => deleteContact.id !== contact.id);\r\n this.removeNumbersToMobileProgressBar();\r\n }\r\n }\r\n\r\n }\r\n\r\n addProducts(event: any) {\r\n let checked = event.target.checked;\r\n this.productCheckboxValue = checked;\r\n \r\n if (checked) {\r\n this.rows.forEach(row => {\r\n this.productDetails.push(row);\r\n });\r\n } else {\r\n this.productDetails = [];\r\n }\r\n }\r\n\r\n addContacts(event: any) {\r\n let checked = event.target.checked;\r\n this.contactCheckboxValue = checked;\r\n if (checked) {\r\n this.rowsContacts.forEach(row => {\r\n this.contactDetails.push(row);\r\n });\r\n } else {\r\n this.contactDetails = [];\r\n }\r\n }\r\n\r\n applyFilter() {\r\n this.experiencesService.getAllExperiencesByMakerId(this.makerService.getId(), this.searchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n }\r\n );\r\n }\r\n\r\n applyContactFilter() {\r\n this.makerService.getContactsByMakerId(this.makerService.getId(), this.contactSearchForm.value).subscribe(\r\n data => {\r\n this.rows = data['hydra:member'];\r\n this.table.offset = 0;\r\n }\r\n );\r\n }\r\n\r\n deleteRange(range) {\r\n var index = this.selectedRangeDate.indexOf(range);\r\n if (index !== -1) {\r\n this.selectedRangeDate.splice(index, 1);\r\n }\r\n this.removeNumbersToMobileProgressBar();\r\n }\r\n\r\n insertTag(event, type) {\r\n\r\n this[type + 'Selected'] = this.notificationEmailForm.controls[type].value ? this.notificationEmailForm.controls[type].value : [];\r\n\r\n if (event.target.value != '') {\r\n this[type + 'Selected'].push(event.target.value);\r\n }\r\n this.notificationEmailData.extraContacts.push(event.target.value)\r\n\r\n this.notificationEmailForm.controls[type].setValue(this[type + 'Selected']);\r\n event.target.value = null;\r\n // this[type + 'Selected'] = this.experienceForm.controls[type].value;\r\n\r\n }\r\n\r\n onRemove(event) {\r\n this.notificationEmailData.contacts.filter(function (obj) {\r\n return obj.email !== event.value;\r\n });\r\n this.notificationEmailData.extraContacts.filter(function (obj) {\r\n return obj.email !== event.value;\r\n });\r\n }\r\n\r\n changeList(listType: any) {\r\n this.listType = listType;\r\n if (this.listType == 'groups') {\r\n this.columnsContacts = [\r\n { prop: 'name', name: 'Nombre' },\r\n ];\r\n this.makerService.getContactsGroupsByMakerId(this.makerService.getId()).subscribe((groups => {\r\n this.rowsContacts = groups['hydra:member'];\r\n }));\r\n } else {\r\n this.listType = 'contacts';\r\n this.columnsContacts = [\r\n { prop: 'name', name: 'Nombre' },\r\n { prop: 'company', name: 'Empresa' },\r\n { prop: 'email', name: 'Email' },\r\n { prop: 'phone', name: 'Teléfono' },\r\n { prop: 'contactGroups', name: 'Grupo' },\r\n ];\r\n this.makerService.getContactsByMakerId(this.makerService.getId()).subscribe((contacts => {\r\n this.rowsContacts = contacts['hydra:member'];\r\n }));\r\n }\r\n }\r\n\r\n sendPostSale() {\r\n let notificationEmailDataToSend = {\r\n contacts: null,\r\n groups: null,\r\n extraContacts: null,\r\n dates: null,\r\n maker: null,\r\n experiences: null,\r\n message: null,\r\n subject: null,\r\n }\r\n let contactIds = [];\r\n this.notificationEmailData.contacts.forEach(data => {\r\n contactIds.push(data['@id'])\r\n });\r\n\r\n let groupIds = [];\r\n this.notificationEmailData.groups.forEach(data => {\r\n groupIds.push(data)\r\n });\r\n\r\n notificationEmailDataToSend.contacts = contactIds;\r\n notificationEmailDataToSend.groups = groupIds;\r\n\r\n notificationEmailDataToSend.maker = [this.notificationEmailData.maker['@id']];\r\n\r\n let productsIds = [];\r\n this.notificationEmailData.products.forEach(data => {\r\n productsIds.push(data['@id'])\r\n });\r\n notificationEmailDataToSend.experiences = productsIds;\r\n\r\n notificationEmailDataToSend.extraContacts = this.notificationEmailData.extraContacts;\r\n notificationEmailDataToSend.dates = this.notificationEmailData.dates;\r\n notificationEmailDataToSend.message = this.notificationEmailData.message;\r\n notificationEmailDataToSend.subject = this.notificationEmailData.subject;\r\n\r\n this.salesService.postStopSale(notificationEmailDataToSend).subscribe(\r\n response => {\r\n console.log(response);\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n isChecked(contact) {\r\n let filterContacts = this.contactDetails.filter(deleteContact => deleteContact['@id'] == contact);\r\n return filterContacts.length > 0;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //clear cache\r\n location.reload()\r\n }\r\n\r\n addNumbersToMobileProgressBar(number) {\r\n if (number == 5) {\r\n const progressDiv = document.getElementById('2m');\r\n progressDiv?.classList.add('active');\r\n const prevBall = progressDiv.previousElementSibling.firstElementChild;\r\n prevBall.classList.remove('glowing');\r\n const nextBall = progressDiv.nextElementSibling.firstElementChild;\r\n setTimeout(() => {\r\n progressDiv?.classList.add('final-state');\r\n nextBall.classList.add('active');\r\n nextBall.classList.add('glowing');\r\n }, 2000);\r\n } else {\r\n this.firstStepNumber = number;\r\n this.firstStepText = this.steps[this.firstStepNumber - 1];\r\n\r\n const progressDiv = document.getElementById('2m');\r\n progressDiv?.classList.add('active');\r\n\r\n setTimeout(() => {\r\n this.secondStepNumber = number + 1;\r\n this.secondStepText = this.steps[this.secondStepNumber - 1];\r\n progressDiv?.classList.remove('active');\r\n }, 2000);\r\n }\r\n\r\n }\r\n\r\n removeNumbersToMobileProgressBar() {\r\n this.secondStepNumber = this.firstStepNumber;\r\n this.secondStepText = this.steps[this.secondStepNumber - 1];\r\n\r\n const progressDiv = document.getElementById('2m');\r\n progressDiv?.classList.add('decreasing');\r\n\r\n setTimeout(() => {\r\n this.firstStepNumber--;\r\n this.firstStepText = this.steps[this.firstStepNumber - 1];\r\n progressDiv?.classList.remove('decreasing');\r\n }, 2000);\r\n }\r\n\r\n openAlert(modalText: string, className: string, status: boolean) {\r\n let iconClass: string;\r\n if (status) {\r\n iconClass = 'vi-check';\r\n } else {\r\n iconClass = 'vi-sad';\r\n }\r\n const modalConfig = {\r\n class: className,\r\n initialState: {\r\n alertMessage: this.translate.instant(\r\n modalText\r\n ),\r\n iconClass,\r\n status\r\n }\r\n }\r\n this.dialogRef = this.dialog.show(ModalAlertComponent, modalConfig);\r\n setTimeout(() => {\r\n this.dialogRef.hide();\r\n }, 2500);\r\n }\r\n\r\n}\r\n","
    \r\n

    {{ 'Stop Sales' | translate}}

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

    {{alert.message}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Tu progreso {{flameFill > 100 ? 100 : flameFill}}%\r\n \r\n \r\n 5 Pasos\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n 1\r\n Seleccionar productos\r\n
    \r\n
    \r\n
    \r\n 2\r\n Seleccionar fechas\r\n
    \r\n
    \r\n
    \r\n 3\r\n Seleccionar contactos\r\n
    \r\n
    \r\n
    \r\n 4\r\n Editar mensaje y enviar\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cierre de ventas\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Tu progreso {{flameFill > 100 ? 100 : flameFill}}%\r\n \r\n \r\n 5 Pasos\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{firstStepNumber}}\r\n {{firstStepText}}\r\n
    \r\n
    \r\n
    \r\n {{secondStepNumber}}\r\n {{secondStepText}}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{ 'Buscar por:' | translate}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    {{ 'Buscar por:' | translate}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Selecciona del listado de productos aquellos en los que quieras cerrar ventas para pasar\r\n al siguiente paso.\r\n Selecciona las fechas de inicio y fin para cerrar ventas y seguir al paso de\r\n contactos.\r\n Selecciona los contactos\r\n y grupos para cerrar ventas e\r\n ir al paso de enviar mensaje.\r\n \r\n {{contactType.name}}\r\n \r\n \r\n Rellena la plantilla de cierre de ventas para su posterior envío por correo\r\n electrónico.\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Total: {{ rowCount }} productos\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Desde el {{range[0].getDate()}} de {{monthList[(range[0].getMonth())]}} al\r\n {{range[1].getDate()}} de {{\r\n monthList[(range[1].getMonth())]}}\r\n de {{range[1].getFullYear()}}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{value}}\r\n \r\n \r\n \r\n \r\n {{value.length > 0 ? value[0].name : ''}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Total: {{ rowCount }} {{listType == 'contacts' ? 'contactos' : 'grupos'}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Total: {{ rowCount }} {{listType == 'contacts' ? 'contactos' : 'grupos'}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Para:\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Asunto:\r\n \r\n
    \r\n
    \r\n
    \r\n \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 { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class SalesService {\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n public postNotificationEmail(notificationData): Observable {\r\n return this.http\r\n .post(API_URL + '/email/send', notificationData);\r\n }\r\n\r\n public postBookingEmail(bookingData): Observable {\r\n return this.http\r\n .post(API_URL + '/send_booking', bookingData);\r\n }\r\n\r\n public postStopSale(notificationData): Observable {\r\n return this.http\r\n .post(API_URL + '/stop_sales', notificationData);\r\n }\r\n\r\n public getStopSalesByMakerId(id): Observable {\r\n return this.http\r\n .get(API_URL + '/stop_sales?maker.id=' + id);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private authService: AuthService,\r\n private router: Router) { }\r\n\r\n canActivate() {\r\n return this.authService.isAuthenticated().pipe(\r\n map(isLoggedIn => {\r\n if (!isLoggedIn) {\r\n this.router.navigateByUrl('');\r\n }\r\n return isLoggedIn;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { of as observableOf, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { environment } from '../../../environments/environment';\r\nimport { MakerService } from './maker.service';\r\nimport { User } from '../../shared/users/user.model';\r\nimport { TakerService } from './taker.service';\r\nimport {ResellerService} from './reseller.service';\r\n@Injectable()\r\nexport class AuthService {\r\n private token: string;\r\n private user: object;\r\n private refreshToken: string;\r\n private isAdmin: boolean;\r\n\r\n constructor(private http: HttpClient,\r\n public makerService: MakerService,\r\n public takerService: TakerService,\r\n public resellerService: ResellerService,\r\n public router: Router\r\n ) {\r\n this.loadFromStorage();\r\n }\r\n\r\n login(email: string, password: string): Promise {\r\n const loginUrl = environment.apiUrl + '/login_check';\r\n\r\n return this.http.post(\r\n loginUrl, {\r\n username: email,\r\n password\r\n }).pipe(\r\n map((resp: any) => {\r\n this.saveToStorage(resp);\r\n\r\n return true;\r\n }))\r\n .toPromise();\r\n }\r\n\r\n loginByGoogle(token: string, role) {\r\n const url = environment.apiUrl + '/login/google';\r\n\r\n return this.http.post(url, {id_token: token, role: role})\r\n .pipe(map((resp: any) => {\r\n this.saveToStorage(resp);\r\n\r\n return true;\r\n }))\r\n .toPromise();\r\n }\r\n\r\n // tslint:disable-next-line:ban-types\r\n loginByFacebook(user: Object, role) {\r\n const url = environment.apiUrl + '/login/facebook';\r\n user['role'] = role;\r\n return this.http.post(url, user)\r\n .pipe(map((resp: any) => {\r\n this.saveToStorage(resp);\r\n\r\n return true;\r\n }))\r\n .toPromise();\r\n }\r\n\r\n doRefreshToken(): Observable {\r\n const data = {\r\n refresh_token: this.refreshToken\r\n };\r\n return this.http.post(environment.apiUrl + '/token/refresh', data).pipe(map(resp => resp.token));\r\n }\r\n\r\n public register(userId: string, user: User): Observable {\r\n return this.http\r\n .put(environment.apiUrl + '/register' + userId, user);\r\n }\r\n\r\n logout() {\r\n this.token = '';\r\n this.user = null;\r\n this.refreshToken = '';\r\n\r\n localStorage.removeItem('token');\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('maker');\r\n localStorage.removeItem('taker');\r\n localStorage.removeItem('reseller');\r\n localStorage.removeItem('refresh_token');\r\n\r\n // this.router.navigate(['/login']);\r\n }\r\n\r\n isAuthenticated(): Observable {\r\n return observableOf(typeof this.token !== 'undefined' && this.token.length > 5);\r\n }\r\n\r\n isLoggedIn(): boolean {\r\n return this.token.length > 5;\r\n }\r\n\r\n isReallyLoggedIn(): boolean {\r\n return localStorage.getItem('token') && localStorage.getItem('token').length > 5 && this.isLoggedIn();\r\n }\r\n\r\n saveToStorage(resp: object) {\r\n if (resp.hasOwnProperty('token')) {\r\n localStorage.setItem('token', resp['token']);\r\n this.token = resp['token'];\r\n }\r\n\r\n if (resp.hasOwnProperty('user') && resp['user'].hasOwnProperty('id')) {\r\n localStorage.setItem('user', JSON.stringify(resp['user']));\r\n this.user = resp['user'];\r\n this.isAdmin = this.user['roles'].includes('ROLE_ADMIN');\r\n }\r\n\r\n if (resp.hasOwnProperty('refresh_token')) {\r\n localStorage.setItem('refresh_token', resp['refresh_token']);\r\n this.refreshToken = resp['refresh_token'];\r\n }\r\n\r\n if (this.user['roles'].includes('ROLE_MAKER') && this.user['maker']) {\r\n localStorage.setItem('maker', JSON.stringify({id: this.user['maker'].id , name: this.user['maker'].name}));\r\n }\r\n\r\n if (this.user['roles'].includes('ROLE_TAKER') && this.user['taker']) {\r\n localStorage.setItem('taker', JSON.stringify({id: this.user['taker'].id , name: this.user['taker'].name}));\r\n }\r\n if (this.user['roles'].includes('ROLE_RESELLER') && this.user['reseller']) {\r\n localStorage.setItem('reseller', JSON.stringify({id: this.user['reseller'].id , name: this.user['reseller'].name}));\r\n }\r\n }\r\n\r\n loadFromStorage() {\r\n if ( localStorage.getItem('token')) {\r\n this.token = localStorage.getItem('token');\r\n this.user = JSON.parse(localStorage.getItem('user'));\r\n this.refreshToken = localStorage.getItem('refresh_token');\r\n this.isAdmin = this.user['roles'].includes('ROLE_ADMIN');\r\n } else {\r\n this.token = '';\r\n this.user = null;\r\n this.refreshToken = '';\r\n }\r\n }\r\n\r\n getToken(): string {\r\n return this.token;\r\n }\r\n\r\n getUserId() {\r\n return this.user['id'];\r\n }\r\n\r\n getMakerId() {\r\n let maker = JSON.parse(localStorage.getItem('maker'));\r\n return maker['id'];\r\n }\r\n\r\n getUserEmail() {\r\n return this.user['email'];\r\n }\r\n\r\n isMaker() {\r\n return localStorage.getItem('maker');\r\n }\r\n\r\n isTaker() {\r\n return localStorage.getItem('taker');\r\n }\r\n\r\n isReseller() {\r\n return localStorage.getItem('taker');\r\n }\r\n \r\n isAdminUser() {\r\n return this.user['roles'].includes('ROLE_ADMIN');\r\n }\r\n\r\n hasMakerRole() {\r\n return localStorage.getItem('user') && JSON.parse(localStorage.getItem('user')).roles.includes('ROLE_MAKER');\r\n }\r\n\r\n hasTakerRole() {\r\n return localStorage.getItem('user') && JSON.parse(localStorage.getItem('user')).roles.includes('ROLE_TAKER');\r\n }\r\n\r\n hasResellerRole() {\r\n return localStorage.getItem('user') && JSON.parse(localStorage.getItem('user')).roles.includes('ROLE_RESELLER');\r\n }\r\n\r\n roles() {\r\n return JSON.parse(localStorage.getItem('user')).roles;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html'\r\n})\r\nexport class ConfirmationDialogComponent {\r\n\r\n public confirmMessage: string;\r\n\r\n constructor(public dialogRef: BsModalRef) { }\r\n\r\n confirm() {\r\n if (this.dialogRef.content.callback != null) {\r\n this.dialogRef.content.callback(true);\r\n this.dialogRef.hide();\r\n }\r\n }\r\n\r\n decline() {\r\n if (this.dialogRef.content.callback != null) {\r\n this.dialogRef.content.callback(false);\r\n this.dialogRef.hide();\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n

    {{confirmMessage}}

    \r\n \r\n \r\n
    \r\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder } from '@angular/forms';\r\nimport { HttpEventType } from '@angular/common/http';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CropperComponent as AngularCropperjsComponent } from 'angular-cropperjs';\r\n\r\n\r\nimport { MediaExperiencesService } from '../../experiences/experiences/media-experiences.service';\r\nimport { MediaMakerService } from '../../maker/maker-profile/media-maker';\r\nimport { MediaResellerService } from '../../reseller/reseller-profile/media-reseller';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-cropper',\r\n styleUrls: ['./cropper.component.scss'],\r\n templateUrl: './cropper.component.html',\r\n})\r\nexport class CropperComponent {\r\n\r\n @Input() loadedImages: number;\r\n @Input() aspectratio: number;\r\n @Input() preview: string;\r\n @Input() type: string;\r\n @ViewChild('angularCropper', { static: false }) public angularCropper: AngularCropperjsComponent;\r\n @Output() uploadedImage = new EventEmitter();\r\n @Output() isTooManyImages = new EventEmitter();\r\n didUploadImage = {};\r\n featuredImageTemp1 = '';\r\n config;\r\n\r\n featuredFileToUpload: File = null;\r\n fileUploadSub: Subscription;\r\n translate: TranslateService;\r\n uploadProgress = 0;\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n filesList: any;\r\n filesDestination: any;\r\n\r\n loading = false;\r\n\r\n constructor(private fb: UntypedFormBuilder,\r\n private mediaExperiencesService: MediaExperiencesService,\r\n private mediaMakersService: MediaMakerService,\r\n private mediaResellersService: MediaResellerService) {\r\n this.config = { aspectRatio: this.aspectratio, preview: '', autoCropArea: 1 };\r\n }\r\n\r\n\r\n\r\n insertImage(files: any, destination: string) {\r\n if(this.loadedImages + files.length > 10){\r\n this.isTooManyImages.emit(true)\r\n console.log('demasiadas imagenes');\r\n return\r\n }\r\n this.filesList = files;\r\n this.filesDestination = destination;\r\n\r\n this.config.aspectRatio = this.aspectratio;\r\n this.config.preview = '.' + this.preview;\r\n var fileItem = files[0];\r\n\r\n if (fileItem === null || fileItem.type.indexOf('image') < 0) {\r\n this.featuredFileToUpload = null;\r\n return;\r\n }\r\n this.featuredFileToUpload = fileItem;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(fileItem);\r\n\r\n reader.onloadend = (progress) => {\r\n this[destination] = reader.result;\r\n if (this.angularCropper) {\r\n this.angularCropper.cropper.destroy();\r\n }\r\n return this[destination];\r\n };\r\n\r\n }\r\n\r\n uploadFeaturedFile(event: any) {\r\n this.loading = true;\r\n event.preventDefault();\r\n\r\n function toFile(b: any, name: string) {\r\n b.lastModifiedDate = new Date();\r\n b.name = name;\r\n return b as File;\r\n }\r\n\r\n this.angularCropper.cropper.getCroppedCanvas({ maxWidth: 4096, maxHeight: 2160, minWidth: 290, minHeight: 232, fillColor: '#fff' }).toBlob(\r\n (blobToUpload: Blob) => {\r\n const fileToUpload = toFile(blobToUpload, this.featuredFileToUpload.name);\r\n if (this.type === 'contact') {\r\n this.fileUploadSub = this.mediaMakersService.mediaMakersUpload(\r\n fileToUpload, '/media_contacts',\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n }\r\n else if (this.type === 'makerHeader') {\r\n this.fileUploadSub = this.mediaMakersService.mediaMakersUpload(\r\n fileToUpload, '/media_makers_header',\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n }\r\n else if (this.type === 'makerStaff') {\r\n this.fileUploadSub = this.mediaMakersService.mediaMakersUpload(\r\n fileToUpload, '/media_makers_staff',\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n }\r\n else if (this.type === 'maker') {\r\n this.fileUploadSub = this.mediaMakersService.mediaMakersUpload(\r\n fileToUpload, '/media_makers',\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n } else if (this.type === 'reseller') {\r\n this.fileUploadSub = this.mediaResellersService.mediaResellersUpload(\r\n fileToUpload, '/media_resellers_logos',\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n } else {\r\n this.fileUploadSub = this.mediaExperiencesService.mediaExperiencesUpload(\r\n fileToUpload,\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n }\r\n },\r\n 'image/jpeg', 1);\r\n\r\n let fileListArr = Array.from(this.filesList)\r\n console.log(fileListArr);\r\n \r\n if (fileListArr.length > 1) {\r\n fileListArr.splice(0, 1) // here u remove the file\r\n this.insertImage(fileListArr, this.filesDestination);\r\n } else {\r\n this.featuredImageTemp1 = '';\r\n }\r\n\r\n }\r\n\r\n handleProgress(event) {\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.Response) {\r\n // console.log(event.body);\r\n this.uploadComplete = true;\r\n this.uploadingProgressing = false;\r\n this.serverResponse = event.body;\r\n\r\n this.didUploadImage = { id: event.body['@id'], url: event.body['contentUrl'] };\r\n this.uploadedImage.emit(this.didUploadImage);\r\n this.loading = 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

    {{ 'Selecciona el area de la Imagen' | translate}}

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

    {{ 'Previsualización' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder } from '@angular/forms';\r\nimport { HttpEventType } from '@angular/common/http';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CropperComponent as AngularCropperjsComponent } from 'angular-cropperjs';\r\n\r\n\r\nimport { MediaExperiencesService } from '../../experiences/experiences/media-experiences.service';\r\nimport { MediaMakerService } from '../../maker/maker-profile/media-maker';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-cropper-2',\r\n styleUrls: ['./cropper.component.scss'],\r\n templateUrl: './cropper2.component.html',\r\n})\r\nexport class Cropper2Component {\r\n\r\n @Input() aspectratio: number;\r\n @Input() preview: string;\r\n @Input() type: string;\r\n @ViewChild('angularCropper2', { static: false }) public angularCropper: AngularCropperjsComponent;\r\n @Output() uploadedImage = new EventEmitter();\r\n didUploadImage = {};\r\n featuredImageTemp2 = '';\r\n config;\r\n\r\n featuredFileToUpload: File = null;\r\n fileUploadSub: Subscription;\r\n translate: TranslateService;\r\n uploadProgress = 0;\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n\r\n loading = false;\r\n\r\n constructor(private fb: UntypedFormBuilder,\r\n private mediaExperiencesService: MediaExperiencesService,\r\n private mediaMakersService: MediaMakerService) {\r\n this.config = { aspectRatio: this.aspectratio, preview: '', autoCropArea: 1 };\r\n }\r\n\r\n\r\n\r\n insertImage(files: FileList, destination: string) {\r\n this.config.aspectRatio = this.aspectratio;\r\n this.config.preview = '.' + this.preview;\r\n const fileItem = files.item(0);\r\n if (fileItem === null || fileItem.type.indexOf('image') < 0) {\r\n this.featuredFileToUpload = null;\r\n return;\r\n }\r\n this.featuredFileToUpload = fileItem;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(fileItem);\r\n\r\n reader.onloadend = (progress) => {\r\n this[destination] = reader.result;\r\n if (this.angularCropper) {\r\n this.angularCropper.cropper.destroy();\r\n }\r\n return this[destination];\r\n };\r\n }\r\n\r\n uploadFeaturedFile(event: any) {\r\n this.loading = true;\r\n event.preventDefault();\r\n\r\n function toFile(b: any, name: string) {\r\n b.lastModifiedDate = new Date();\r\n b.name = name;\r\n return b as File;\r\n }\r\n\r\n this.angularCropper.cropper.getCroppedCanvas({ maxWidth: 1920, maxHeight: 640, minWidth: 1080, minHeight: 640 }).toBlob(\r\n (blobToUpload: Blob) => {\r\n const fileToUpload = toFile(blobToUpload, this.featuredFileToUpload.name);\r\n this.fileUploadSub = this.mediaMakersService.mediaMakersUpload(\r\n fileToUpload, '/media_makers_headers',\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n },\r\n 'image/jpeg', 1);\r\n }\r\n\r\n handleProgress(event) {\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.Response) {\r\n // console.log(event.body);\r\n this.uploadComplete = true;\r\n this.uploadingProgressing = false;\r\n this.serverResponse = event.body;\r\n\r\n this.didUploadImage = { id: event.body['@id'], url: event.body['contentUrl'] };\r\n this.uploadedImage.emit(this.didUploadImage);\r\n this.loading = 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

    {{ 'Selecciona el area de la Imagen' | translate}}

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

    {{ 'Previsualización' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder } from '@angular/forms';\r\nimport { HttpEventType } from '@angular/common/http';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CropperComponent as AngularCropperjsComponent } from 'angular-cropperjs';\r\n\r\n\r\nimport { MediaExperiencesService } from '../../experiences/experiences/media-experiences.service';\r\nimport { MediaMakerService } from '../../maker/maker-profile/media-maker';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-cropper-3',\r\n styleUrls: ['./cropper.component.scss'],\r\n templateUrl: './cropper3.component.html',\r\n})\r\nexport class Cropper3Component {\r\n\r\n @Input() aspectratio: number;\r\n @Input() preview: string;\r\n @Input() type: string;\r\n @ViewChild('angularCropper3', { static: false }) public angularCropper: AngularCropperjsComponent;\r\n @Output() uploadedImage = new EventEmitter();\r\n didUploadImage = {};\r\n featuredImageTemp3 = '';\r\n config;\r\n\r\n featuredFileToUpload: File = null;\r\n fileUploadSub: Subscription;\r\n translate: TranslateService;\r\n uploadProgress = 0;\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n\r\n loading = false;\r\n\r\n constructor(private fb: UntypedFormBuilder,\r\n private mediaExperiencesService: MediaExperiencesService,\r\n private mediaMakersService: MediaMakerService) {\r\n this.config = { aspectRatio: this.aspectratio, preview: '', autoCropArea: 1 };\r\n }\r\n\r\n\r\n\r\n insertImage(files: FileList, destination: string) {\r\n this.config.aspectRatio = this.aspectratio;\r\n this.config.preview = '.' + this.preview;\r\n const fileItem = files.item(0);\r\n if (fileItem === null || fileItem.type.indexOf('image') < 0) {\r\n this.featuredFileToUpload = null;\r\n return;\r\n }\r\n this.featuredFileToUpload = fileItem;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(fileItem);\r\n\r\n reader.onloadend = (progress) => {\r\n this[destination] = reader.result;\r\n if (this.angularCropper) {\r\n this.angularCropper.cropper.destroy();\r\n }\r\n return this[destination];\r\n };\r\n }\r\n\r\n uploadFeaturedFile(event: any) {\r\n this.loading = true;\r\n event.preventDefault();\r\n\r\n function toFile(b: any, name: string) {\r\n b.lastModifiedDate = new Date();\r\n b.name = name;\r\n return b as File;\r\n }\r\n\r\n this.angularCropper.cropper.getCroppedCanvas({ maxWidth: 1920, maxHeight: 520, minWidth: 1080, minHeight: 340 }).toBlob(\r\n (blobToUpload: Blob) => {\r\n const fileToUpload = toFile(blobToUpload, this.featuredFileToUpload.name);\r\n this.fileUploadSub = this.mediaMakersService.mediaMakersUpload(\r\n fileToUpload, '/media_makers_staffs',\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n },\r\n 'image/jpeg', 1);\r\n }\r\n\r\n handleProgress(event) {\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.Response) {\r\n // console.log(event.body);\r\n this.uploadComplete = true;\r\n this.uploadingProgressing = false;\r\n this.serverResponse = event.body;\r\n\r\n this.didUploadImage = { id: event.body['@id'], url: event.body['contentUrl'] };\r\n this.uploadedImage.emit(this.didUploadImage);\r\n this.loading = 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

    {{ 'Selecciona el area de la Imagen' | translate}}

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

    {{ 'Previsualización' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { UntypedFormBuilder } from '@angular/forms';\r\nimport { HttpEventType } from '@angular/common/http';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CropperComponent as AngularCropperjsComponent } from 'angular-cropperjs';\r\n\r\n\r\nimport { MediaExperiencesService } from '../../experiences/experiences/media-experiences.service';\r\nimport { MediaMakerService } from '../../maker/maker-profile/media-maker';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-cropper-4',\r\n styleUrls: ['./cropper.component.scss'],\r\n templateUrl: './cropper4.component.html',\r\n})\r\nexport class Cropper4Component {\r\n\r\n @Input() aspectratio: number;\r\n @Input() preview: string;\r\n @Input() type: string;\r\n @ViewChild('angularCropper4', { static: false }) public angularCropper: AngularCropperjsComponent;\r\n @Output() uploadedImage = new EventEmitter();\r\n didUploadImage = {};\r\n featuredImageTemp4 = '';\r\n config;\r\n\r\n featuredFileToUpload: File = null;\r\n fileUploadSub: Subscription;\r\n translate: TranslateService;\r\n uploadProgress = 0;\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n\r\n loading = false;\r\n\r\n constructor(private fb: UntypedFormBuilder,\r\n private mediaExperiencesService: MediaExperiencesService,\r\n private mediaMakersService: MediaMakerService) {\r\n this.config = { aspectRatio: this.aspectratio, preview: '', autoCropArea: 1 };\r\n }\r\n\r\n\r\n\r\n insertImage(files: FileList, destination: string) {\r\n this.config.aspectRatio = this.aspectratio;\r\n this.config.preview = '.' + this.preview;\r\n const fileItem = files.item(0);\r\n if (fileItem === null || fileItem.type.indexOf('image') < 0) {\r\n this.featuredFileToUpload = null;\r\n return;\r\n }\r\n this.featuredFileToUpload = fileItem;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(fileItem);\r\n\r\n reader.onloadend = (progress) => {\r\n this[destination] = reader.result;\r\n if (this.angularCropper) {\r\n this.angularCropper.cropper.destroy();\r\n }\r\n return this[destination];\r\n };\r\n }\r\n\r\n uploadFeaturedFile(event: any) {\r\n this.loading = true;\r\n event.preventDefault();\r\n\r\n function toFile(b: any, name: string) {\r\n b.lastModifiedDate = new Date();\r\n b.name = name;\r\n return b as File;\r\n }\r\n\r\n this.angularCropper.cropper.getCroppedCanvas({ maxWidth: 250, maxHeight: 100, minWidth: 250, minHeight: 100, fillColor: '#fff' }).toBlob(\r\n (blobToUpload: Blob) => {\r\n const fileToUpload = toFile(blobToUpload, this.featuredFileToUpload.name);\r\n this.fileUploadSub = this.mediaMakersService.mediaMakersUpload(\r\n fileToUpload, '/media_makers',\r\n null).subscribe(\r\n uploadProgress => {\r\n this.handleProgress(uploadProgress);\r\n },\r\n error => {\r\n });\r\n },\r\n 'image/jpeg', 1);\r\n }\r\n\r\n handleProgress(event) {\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.Response) {\r\n // console.log(event.body);\r\n this.uploadComplete = true;\r\n this.uploadingProgressing = false;\r\n this.serverResponse = event.body;\r\n\r\n this.didUploadImage = { id: event.body['@id'], url: event.body['contentUrl'] };\r\n this.uploadedImage.emit(this.didUploadImage);\r\n this.loading = 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

    {{ 'Selecciona el area de la Imagen' | translate}}

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

    {{ 'Previsualización' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { HttpEventType } from '@angular/common/http';\r\nimport { Subscription } from 'rxjs';\r\nimport { CropperComponent as AngularCropperjsComponent } from 'angular-cropperjs';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CmsService } from '../../cms/service/cms.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-full-width-cropper',\r\n styleUrls: ['./cropper.component.scss'],\r\n templateUrl: './full-width-cropper.component.html',\r\n})\r\nexport class FullWidthCropperComponent {\r\n\r\n @Input() valueId;\r\n @Input() loadedImages: number;\r\n @Input() aspectratio: number;\r\n @Input() preview: string;\r\n @Input() type: string;\r\n @ViewChild('fwangularCropper', { static: false }) public angularCropper: AngularCropperjsComponent;\r\n @Output() uploadedImage = new EventEmitter();\r\n @Output() isTooManyImages = new EventEmitter();\r\n didUploadImage = {};\r\n featuredImageTempFw = '';\r\n config;\r\n\r\n featuredFileToUpload: File = null;\r\n fileUploadSub: Subscription;\r\n translate: TranslateService;\r\n uploadProgress = 0;\r\n uploadingProgressing = false;\r\n uploadComplete = false;\r\n serverResponse: any;\r\n filesList: any;\r\n filesDestination: any;\r\n\r\n loading = false;\r\n\r\n constructor(private cmsService: CmsService) {\r\n this.config = { aspectRatio: this.aspectratio, preview: '', autoCropArea: 1 };\r\n }\r\n\r\n insertImage(files: any, destination: string) {\r\n\r\n if (this.loadedImages + files.length > 10) {\r\n this.isTooManyImages.emit(true)\r\n console.log('demasiadas imagenes');\r\n return\r\n }\r\n this.filesList = files;\r\n this.filesDestination = destination;\r\n\r\n this.config.aspectRatio = this.aspectratio;\r\n this.config.preview = '.' + this.preview;\r\n var fileItem = files[0];\r\n\r\n if (fileItem === null || fileItem.type.indexOf('image') < 0) {\r\n this.featuredFileToUpload = null;\r\n return;\r\n }\r\n this.featuredFileToUpload = fileItem;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(fileItem);\r\n\r\n reader.onloadend = (progress) => {\r\n this[destination] = reader.result;\r\n if (this.angularCropper) {\r\n this.angularCropper.cropper.destroy();\r\n }\r\n return this[destination];\r\n };\r\n\r\n }\r\n\r\n uploadFeaturedFile(event: any) {\r\n this.loading = true;\r\n event.preventDefault();\r\n\r\n function toFile(b: any, name: string) {\r\n b.lastModifiedDate = new Date();\r\n b.name = name;\r\n return b as File;\r\n }\r\n\r\n this.angularCropper.cropper.getCroppedCanvas({ maxWidth: 4096, maxHeight: 2160, minWidth: 290, minHeight: 232, fillColor: '#fff' }).toBlob(\r\n (blobToUpload: Blob) => {\r\n const fileToUpload = toFile(blobToUpload, this.featuredFileToUpload.name);\r\n this.fileUploadSub = this.cmsService.cmsMediaUpload(fileToUpload, '/media_objects', null).subscribe((resp: any) => {\r\n let data = {valueMedia: [resp['@id']]}\r\n this.cmsService.update(this.valueId, 'dynamic_values', data).subscribe((resp: any) => {\r\n this.loading = false;\r\n });\r\n });\r\n },\r\n 'image/jpeg', 1);\r\n\r\n let fileListArr = Array.from(this.filesList)\r\n \r\n if (fileListArr.length > 1) {\r\n fileListArr.splice(0, 1) // here u remove the file\r\n this.insertImage(fileListArr, this.filesDestination);\r\n } else {\r\n this.featuredImageTempFw = '';\r\n }\r\n\r\n }\r\n\r\n handleProgress(event) {\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.uploadingProgressing = true;\r\n this.uploadProgress = Math.round(100 * event.loaded / event.total);\r\n }\r\n\r\n if (event.type === HttpEventType.Response) {\r\n // console.log(event.body);\r\n this.uploadComplete = true;\r\n this.uploadingProgressing = false;\r\n this.serverResponse = event.body;\r\n\r\n this.didUploadImage = { id: event.body['@id'], url: event.body['contentUrl'] };\r\n this.uploadedImage.emit(this.didUploadImage);\r\n this.loading = 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

    {{ 'Selecciona el area de la Imagen' | translate}}

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

    {{ 'Previsualización' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    ","import { UntypedFormGroup, ValidatorFn, AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\n/**\r\n * Custom validator functions for reactive form validation\r\n */\r\nexport class CustomValidators {\r\n /**\r\n * Validates that child controls in the form group are equal\r\n */\r\n\r\n static dniOrNieValidator(control: AbstractControl) {\r\n const validChars = 'TRWAGMYFPDXBNJZSQVHLCKET';\r\n const nifRexp = /^[0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/i;\r\n const nieRexp = /^[XYZ]{1}[0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/i;\r\n const str = control.value ? control.value.toString().toUpperCase() : '';\r\n\r\n const isNIF = nifRexp.test(str);\r\n const isNIE = nieRexp.test(str);\r\n if (!isNIF && !isNIE) {\r\n return {\r\n dniOrNie: 'Formato de documento no válido',\r\n };\r\n }\r\n\r\n const nie = str\r\n .replace(/^[X]/, '0')\r\n .replace(/^[Y]/, '1')\r\n .replace(/^[Z]/, '2');\r\n\r\n const letter = str.substr(-1);\r\n const charIndex = parseInt(nie.substr(0, 8), 10) % 23;\r\n if (validChars.charAt(charIndex) !== letter) {\r\n return {\r\n dniOrNie: 'La letra no coincide con el documento',\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n static spanishDocumentValidator: ValidatorFn = (formGroup: UntypedFormGroup) => {\r\n if (formGroup.get('country').value.code !== 'ES') {\r\n return null;\r\n }\r\n const str = formGroup.get('document').value ? formGroup.get('document').value.toString().toUpperCase() : '';\r\n\r\n if (CustomValidators.isValidCif(str) === null) {\r\n return null;\r\n } else {\r\n return CustomValidators.dniOrNieValidator(formGroup.get('document'));\r\n }\r\n }\r\n\r\n static isValidCif(cif) {\r\n if (!cif || cif.length !== 9) {\r\n return {\r\n invalidCif: 'Documento inválido',\r\n };\r\n }\r\n\r\n const letters = ['J', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'];\r\n const digits = cif.substr(1, cif.length - 2);\r\n const letter = cif.substr(0, 1);\r\n const control = cif.substr(cif.length - 1);\r\n let sum = 0;\r\n let i;\r\n let digit;\r\n\r\n if (!letter.match(/[A-Z]/)) {\r\n return {\r\n invalidCif: 'Documento inválido',\r\n };\r\n }\r\n\r\n for (i = 0; i < digits.length; ++i) {\r\n digit = parseInt(digits[i], 10);\r\n\r\n if (isNaN(digit)) {\r\n return {\r\n invalidCif: 'Documento inválido',\r\n };\r\n }\r\n\r\n if (i % 2 === 0) {\r\n digit *= 2;\r\n if (digit > 9) {\r\n digit = Math.floor(digit / 10) + (digit % 10);\r\n }\r\n\r\n sum += digit;\r\n } else {\r\n sum += digit;\r\n }\r\n }\r\n\r\n sum %= 10;\r\n if (sum !== 0) {\r\n digit = 10 - sum;\r\n } else {\r\n digit = sum;\r\n }\r\n\r\n if (letter.match(/[ABEH]/)) {\r\n return String(digit) === control ? null : {\r\n invalidCif: 'Documento inválido',\r\n };\r\n }\r\n if (letter.match(/[NPQRSW]/)) {\r\n return letters[digit] === control ? null : {\r\n invalidCif: 'Documento inválido',\r\n };\r\n }\r\n\r\n return String(digit) === control || letters[digit] === control ? null : {\r\n invalidCif: 'Documento inválido',\r\n };\r\n }\r\n\r\n static domainsRestriction(allowedDomains: any = '') {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n if (!control.value) {\r\n return null;\r\n }\r\n const currentDomain = '@' + control.value.split('@')[1];\r\n if (control.value === null || control.value === '' || !allowedDomains ||\r\n allowedDomains.length === 0 || allowedDomains.includes(currentDomain)) {\r\n return null;\r\n } else {\r\n return { unallowedDomain: { value: control.value } };\r\n }\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * Collection of reusable RegExps\r\n */\r\nexport const regExps: { [key: string]: RegExp } = {\r\n password: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d]{4,15}$/,\r\n url: /^(http(s)?:\\/\\/)(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,10}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)$/,\r\n phone: /^\\+\\d{7}\\d{0,12}$/,\r\n domain: /^(@[-a-zA-Z0-9._]{2,256}\\.[a-z]{2,14})(\\,\\s?@[-a-zA-Z0-9._]{2,256}\\.[a-z]{2,14})*$/,\r\n lettersAndNumbers: /^([A-Za-z0-9 \\xc0-\\xff\\d])*$/i,\r\n onlyLetters: /^([A-Za-zÀ-ÖØ-öø-ÿ ])+$/,\r\n onlyNumbers: /^([0-9])+$/\r\n};\r\n\r\n/**\r\n * Collection of reusable error messages\r\n */\r\nexport const errorMessages: ValidationErrors = {\r\n languageName: 'El nombre del idioma es obligatorio',\r\n locationName: 'El nombre de la localidad es obligatorio',\r\n countryName: 'El nombre del país es obligatorio',\r\n categoryName: 'El nombre de la categoría es obligatorio',\r\n password: 'La contraseña debe tener entre 5 y 15 caracteres, y contener al menos una mayúscula, una minúscula y un número',\r\n makerDocumentType: 'El tipo de documento es obligatorio',\r\n document: 'El documento debe ser válido',\r\n makerName: 'El nombre del maker es obligatorio',\r\n makerWeb: 'La url debe ser un enlace válido (ej: https://ejemplo.com)',\r\n tripadvisor: 'El id de tripadvisor es obligatorio',\r\n description: 'La descripción del maker es obligatoria',\r\n founders: 'Los fundadores son obligatorios',\r\n director: 'El director es obligatorio',\r\n operations: 'Operaciones & Viper Team manager es obligatorio',\r\n technology: 'Tecnología de reservas es obligatoria',\r\n customerId: 'El id de cliente es obligatorio',\r\n instagram: 'El instagram es obligatorio',\r\n twitter: 'El twitter es obligatorio',\r\n linkedIn: 'LinkedIn es obligatorio',\r\n facebook: 'Facebook es obligatorio',\r\n mediaMaker: 'El logo del maker es obligatorio',\r\n email: 'El email debe ser un correo electrónico válido (ej: nombre@ejemplo.com)',\r\n phone: 'El teléfono debe ser válido (ej: +34600123123)',\r\n mediaContacts: 'El avatar del contacto es obligatorio',\r\n companyName: 'La denominación social es obligatoria',\r\n contactName: 'El nombre del contacto es obligatorio',\r\n contactLastname:'El apellido del contacto es obligatorio',\r\n contactPosition: 'El cargo del contacto es obligatorio',\r\n contactEmail: 'El email del contacto es obligatorio',\r\n contactPhone: 'El teléfono del contacto es obligatorio',\r\n experienceName: 'El nombre de la experiencia es obligatorio',\r\n experienceUrl: 'La url debe ser un enlace válido (ej: https://ejemplo.com)',\r\n experienceUrlButtonText: 'El texto del botón es obligatorio',\r\n experienceDescription: 'La descripción de la experiencia debe tener entre 120 y 600 caracteres',\r\n experienceDuration: 'La duración de la experiencia es obligatoria',\r\n experienceLanguages: 'El idioma de la experiencia es obligatorio',\r\n experienceCategories: 'La categoría de la experiencia es obligatoria',\r\n experienceTags: 'La etiqueta de la experiencia es obligatoria',\r\n experienceCountry: 'El país de la experiencia es obligatorio',\r\n experienceLocation: 'La localidad de la experiencia es obligatoria',\r\n experienceMaker: 'El maker de la expeiencia es obligatorio',\r\n mediaExperiences: 'Mínimo 5 y máximo 10 imagenes',\r\n expandedMediaExperiences: 'Mínimo 5 imagenes',\r\n role: 'El tipo de usuario es obligatorio',\r\n promotion: 'La descripción de la promoción es obligatoria',\r\n resellerName: 'El nombre del reseller es obligatorio',\r\n fiscalName: 'El nombre fiscal del reseller es obligatorio',\r\n address: 'La dirección del reseller es obligatoria',\r\n cp: 'El código postal del reseller es obligatorio',\r\n mediaReseller: 'El logo del reseller es obligatorio',\r\n resellerCategories: 'La categoría del reseller es obligatoria',\r\n resellerTags: 'La etiqueta del reseller es obligatoria',\r\n experienceWhyUs: 'El campo debe tener entre 120 y 600 caracteres',\r\n experiencePersons: 'La cantidad de personas es obligatoria',\r\n experiencePrice: 'Debe introducir un precio',\r\n experienceCancellation: 'Debe introducir una cancelación',\r\n experienceFareharbor: 'El id de fareharbor es obligatorio',\r\n experienceTypePrice: 'El tipo de precio es obligatorio',\r\n experienceWeekDays: 'Introduce los días de la experiencia',\r\n experienceFromDate: 'Indica la fecha de inicio de temporada de la actividad',\r\n experienceToDate: 'Indica la fecha de fin de la temporada de la actividad',\r\n experienceZone: 'Indica la zona de la experiencia',\r\n experienceSlug: 'Indica un titulo para el SEO de tu experiencia'\r\n};\r\n\r\n\r\nexport function getMessage(errorIndex: string, error: any = {}) {\r\n const messages: ValidationErrors = {\r\n ...errorMessages,\r\n };\r\n\r\n return messages[errorIndex];\r\n}\r\n\r\nexport function getMessageTranslations(errorIndex: string, error: any = {}, translateService) {\r\n const messages: ValidationErrors = {\r\n invalidAge: translateService.instant('Para este evento debes tener entre ') + error.minAge +\r\n translateService.instant(' y ') + error.maxAge + translateService.instant(' años ') +\r\n translateService.instant(error.when) + translateService.instant(' y ') + translateService.instant(' tendrás ') + error.age\r\n };\r\n\r\n return messages[errorIndex];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class LoggedInGuard implements CanActivate {\r\n constructor(private authService: AuthService,\r\n private router: Router) {\r\n }\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return this.authService.isAuthenticated().pipe(\r\n map(isLoggedIn => {\r\n if (isLoggedIn) {\r\n this.router.navigateByUrl('experiencias');\r\n }\r\n\r\n return !isLoggedIn;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Maker, MakerCollection } from '../maker/maker-profile/maker.model';\r\nimport { LocationCollection } from '../../shared/locations/location.model';\r\n\r\nconst API_URL = environment.apiUrl;\r\nconst CMS_API_URL = environment.cmsApiUrl;\r\n\r\n@Injectable()\r\nexport class MakerService {\r\n constructor(private http: HttpClient) { }\r\n\r\n public getMakers(filters?: any): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('name', String(filters.name));\r\n }\r\n if (filters['document']) {\r\n httpParams = httpParams.set('document', String(filters.document));\r\n }\r\n if (filters['phone']) {\r\n httpParams = httpParams.set('phone', String(filters.phone));\r\n }\r\n if (filters['email']) {\r\n httpParams = httpParams.set('email', String(filters.email));\r\n }\r\n if (filters['web']) {\r\n httpParams = httpParams.set('web', String(filters.web));\r\n }\r\n if (filters['locations']) {\r\n filters.locations.forEach(location =>\r\n httpParams = httpParams.append('experiences.location.id[]', location)\r\n );\r\n }\r\n if (filters['isFavorites']) {\r\n httpParams = httpParams.append('resellers.id[]', String(filters.resellerId));\r\n }\r\n if (filters['isFavoritesProducts']) {\r\n httpParams = httpParams.append('experiences.resellerFavoriteExperiences.reseller.id', String(filters.resellerId));\r\n }\r\n\r\n if (filters['categorias']) {\r\n filters.categorias.split(',').forEach(category =>\r\n httpParams = httpParams.append('experiences.categories.id[]', category)\r\n );\r\n }\r\n\r\n if (filters['localidad']) {\r\n httpParams = httpParams.append('location', String(filters.localidad));\r\n }\r\n\r\n if (filters['page']) {\r\n httpParams = httpParams.append('page', String(filters.page));\r\n }\r\n\r\n return this.http\r\n .get(API_URL + '/makers?directoryCompleted=true&order[makerPlan.plan.level]' , { params: httpParams });\r\n }\r\n\r\n public getMakersByUrl(filters: any, language): Observable {\r\n let httpParams = new HttpParams();\r\n\r\n filters.forEach((value, key) => {\r\n if (key == 'categorias') {\r\n value.split(',').forEach(category =>\r\n httpParams = httpParams.append('experiences.categories.id[]', category)\r\n );\r\n }\r\n if (key == 'localidad') {\r\n httpParams = httpParams.set('location', String(value));\r\n }\r\n if (key == 'page') {\r\n httpParams = httpParams.append('page', String(value));\r\n }\r\n });\r\n\r\n return this.http\r\n .get(API_URL + '/makers?directoryCompleted=true&order[makerPlan.plan.level]' , { params: httpParams });\r\n }\r\n\r\n\r\n public getMakerByUserId(userId: number): Observable {\r\n return this.http\r\n .get(API_URL + '/users/' + userId + '/maker');\r\n }\r\n \r\n public getMakerById(makerId: number): Observable {\r\n return this.http\r\n .get(API_URL + '/makers/' + makerId);\r\n }\r\n\r\n public getMakersByResellerId(resellerId: string, filters: any): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('maker.name', String(filters.name));\r\n }\r\n if (filters['phone']) {\r\n httpParams = httpParams.set('maker.phone', String(filters.phone));\r\n }\r\n if (filters['email']) {\r\n httpParams = httpParams.set('maker.email', String(filters.email));\r\n }\r\n if (filters['web']) {\r\n httpParams = httpParams.set('maker.web', String(filters.web));\r\n }\r\n if (filters['locations']) {\r\n filters.locations.forEach(location =>\r\n httpParams = httpParams.append('maker.experiences.location.id[]', location)\r\n );\r\n }\r\n if (filters['isFavoritesProducts']) {\r\n httpParams = httpParams.append('maker.experiences.resellerFavoriteExperiences.reseller.id', resellerId);\r\n }\r\n return this.http\r\n .get(API_URL + '/resellers/' + resellerId + '/favorite_makers', { params: httpParams });\r\n }\r\n\r\n public getMaker(makerId: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + makerId, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getMakerBySlug(makerSlug: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + '/makers/?slug=' + makerSlug, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getInvoices(stripeCustomerId): Observable {\r\n return this.http\r\n .get(API_URL + '/maker_plans/invoices/' + stripeCustomerId);\r\n }\r\n\r\n public getInvoicePdf(stripeCustomerId): Observable {\r\n return this.http\r\n .get(API_URL + '/maker_plans/invoice/' + stripeCustomerId + '/pdf');\r\n }\r\n\r\n public getPlans() {\r\n return this.http\r\n .get(API_URL + '/plans');\r\n }\r\n\r\n public getPlanByMakerId(id) {\r\n return this.http\r\n .get(API_URL + '/plans/' + id + '/maker_plans');\r\n }\r\n\r\n // public getInvoices(stripeCustomerId): Observable {\r\n // return this.http\r\n // .get('https://api.stripe.com/v1/invoices', { headers: {\r\n // Authorization: `Bearer sk_test_ZZVWqw6sdmB1TkkjxGpVucGd`\r\n // }, params: {customer: stripeCustomerId}});\r\n // }\r\n\r\n public getName() {\r\n return JSON.parse(localStorage.getItem('maker')) ? JSON.parse(localStorage.getItem('maker'))['name'] : null;\r\n }\r\n \r\n public getUserMail() {\r\n return JSON.parse(localStorage.getItem('user')) ? JSON.parse(localStorage.getItem('user'))['email'] : null;\r\n }\r\n\r\n public getId() {\r\n return JSON.parse(localStorage.getItem('maker')) ? JSON.parse(localStorage.getItem('maker'))['id'] : null;\r\n }\r\n /* public getGroupId() {\r\n return JSON.parse(localStorage.getItem('group')) ? JSON.parse(localStorage.getItem('group'))['id'] : null;\r\n } */\r\n\r\n public putMaker(makerId: string, maker: Maker, language = 'es'): Observable {\r\n return this.http\r\n .put(API_URL + '/makers/' + makerId, maker, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public postMaker(maker): Observable {\r\n return this.http\r\n .post(API_URL + '/makers', maker);\r\n }\r\n\r\n public postContact(contact): Observable {\r\n return this.http\r\n .post(API_URL + '/contacts', contact);\r\n }\r\n public postGroup(group): Observable {\r\n return this.http\r\n .post(API_URL + '/contact_groups', group);\r\n }\r\n\r\n public postFreeMakerPlan(makerPlan): Observable {\r\n return this.http\r\n .post(API_URL + '/maker_plans', makerPlan);\r\n }\r\n\r\n public sendFreeMakerPlanEmail(makerPlan): Observable {\r\n return this.http\r\n .post(API_URL + '/maker_plans/send_free_maker_plan_email', makerPlan);\r\n }\r\n\r\n public postMakerContact(makerContact): Observable {\r\n return this.http\r\n .post('https://hooks.zapier.com/hooks/catch/8831384/3pqn9kv', makerContact, {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n }\r\n });\r\n }\r\n\r\n public deleteContact(contactId: string): any {\r\n return this.http.delete(API_URL + contactId);\r\n }\r\n public deleteGroup(contact_groupsId: string): any {\r\n return this.http.delete(API_URL + contact_groupsId);\r\n }\r\n\r\n public getStripeCustomer(stripeCustomerId: string): Observable {\r\n return this.http\r\n .get(API_URL + '/stripe_customer/' + stripeCustomerId);\r\n }\r\n\r\n public getContact(contactId: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + '/contacts/' + contactId, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n public getGroup(contact_groupsId: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + '/contact_groups/' + contact_groupsId, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public getGroups(): Observable {\r\n return this.http\r\n .get(API_URL + '/contact_groups'\r\n );\r\n }\r\n\r\n public getContactsByMakerId(makerId: number, filters?: any, language = 'es'): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('name', String(filters.name));\r\n }\r\n if (filters['group']) {\r\n httpParams = httpParams.set('contactGroups.name', String(filters.group));\r\n }\r\n\r\n return this.http\r\n .get(API_URL + '/makers/' + makerId + '/contacts',\r\n {\r\n params: httpParams, headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n public getContactsGroupsByMakerId(makerId: number): Observable {\r\n return this.http\r\n .get(API_URL + '/makers/' + makerId + '/contacts_groups');\r\n }\r\n\r\n public putContact(contactId: string, contact, language = 'es'): Observable {\r\n return this.http\r\n .put(API_URL + '/contacts/' + contactId, contact, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n public putGroup(contact_groupsId: string, group, language = 'es'): Observable {\r\n return this.http\r\n .put(API_URL + '/contact_groups/' + contact_groupsId, group, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public putGroupIri(contact_groupsId: string, group, language = 'es'): Observable {\r\n return this.http\r\n .put(API_URL + contact_groupsId, group, {\r\n headers: {\r\n 'Accept-Language': language\r\n }\r\n });\r\n }\r\n\r\n public postFavoriteReseller(favoriteReseller): Observable {\r\n return this.http\r\n .post(API_URL + '/favorite_resellers', favoriteReseller);\r\n }\r\n\r\n public deleteFavoriteReseller(favoriteResellerId: string): any {\r\n return this.http.delete(API_URL + favoriteResellerId);\r\n }\r\n\r\n public putFavoriteReseller(favoriteResellerId: string, favoriteReseller: any): Observable {\r\n return this.http\r\n .put(API_URL + favoriteResellerId, favoriteReseller);\r\n }\r\n\r\n public postDirectoryAnalytics(directoryAnalytics): Observable {\r\n return this.http\r\n .post(API_URL + '/directory_analytics', directoryAnalytics);\r\n }\r\n\r\n public postPdfFile(file): Observable {\r\n return this.http\r\n .post(API_URL + '/media_makers_docs', file);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-redirect',\r\n templateUrl: './redirect.component.html',\r\n styleUrls: ['./redirect.component.css']\r\n})\r\nexport class RedirectComponent implements OnInit {\r\n\r\n name: string;\r\n makerLogo: string;\r\n slug: string;\r\n experience: any;\r\n\r\n constructor(private router: Router, private experienceService: ExperiencesService, private route: ActivatedRoute, public translate: TranslateService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.slug = this.router['rawUrlTree'].root.children.primary.segments[2].path;\r\n\r\n this.experienceService.getExperienceBySlug(this.slug, this.translate.getDefaultLang()).subscribe(experience => {\r\n\r\n this.experience = experience['hydra:member'][0];\r\n\r\n this.name = this.experience.name;\r\n this.makerLogo = 'https://venntur.com/assets/maker/files/' + this.experience.maker.mediaMakers[0].contentUrl;\r\n\r\n setTimeout(() => {\r\n const params:any = new URL(this.experience.url);\r\n\r\n if (params.search) {\r\n window.location.href = !this.experience.civitatisId ? this.experience.url + '&utm_source=venntur' : this.experience.url + '&ag_aid=4732';\r\n } else {\r\n window.location.href = !this.experience.civitatisId ? this.experience.url + '?utm_source=venntur' : this.experience.url + '?ag_aid=4732';\r\n }\r\n }, 2500);\r\n });\r\n }\r\n}\r\n","
    \r\n\r\n\r\n\r\n
    \r\n \"Venntur\"\r\n
    \r\n \r\n
    \r\n \"Logo\r\n
    \r\n\r\n

    La mejor experiencia de compra la encontrarás en la página del proveedor

    \r\n

    Te estamos redirigiendo a la experiencia:

    \r\n

    {{ name }}

    \r\n

    Vuelve cuando quieras a venntur.com a seleccionar los mejores anfitriones para tus Vacaciones

    \r\n

    ¡Las experiencias nos unen!

    \r\n
    \r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Reseller, ResellerCollection } from '../reseller/reseller-profile/reseller.model';\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class ResellerService {\r\n constructor(private http: HttpClient) { }\r\n\r\n public getResellers(filters?: any): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('name', String(filters.name));\r\n }\r\n if (filters['fiscalName']) {\r\n httpParams = httpParams.set('fiscalName', String(filters.fiscalName));\r\n }\r\n if (filters['urlWeb']) {\r\n httpParams = httpParams.set('urlWeb', String(filters.urlWeb));\r\n }\r\n if (filters['tags']) {\r\n filters.tags.forEach( tag =>\r\n httpParams = httpParams.append('tags.id[]', tag)\r\n );\r\n }\r\n if (filters['locations']) {\r\n filters.locations.forEach( location =>\r\n httpParams = httpParams.append('locations.id[]', location)\r\n );\r\n }\r\n if (filters['isFavorites']) {\r\n httpParams = httpParams.append('makers.id[]', String(filters.makerId));\r\n }\r\n return this.http\r\n .get(API_URL + '/resellers', { params: httpParams });\r\n }\r\n\r\n public getResellerByUserId(userId: number): Observable {\r\n return this.http\r\n .get(API_URL + '/users/' + userId + '/reseller');\r\n }\r\n\r\n public getResellersByMakerId(makerId: number, filters: any): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('reseller.name', String(filters.name));\r\n }\r\n if (filters['fiscalName']) {\r\n httpParams = httpParams.set('reseller.fiscalName', String(filters.fiscalName));\r\n }\r\n if (filters['urlWeb']) {\r\n httpParams = httpParams.set('reseller.urlWeb', String(filters.urlWeb));\r\n }\r\n if (filters['tags']) {\r\n filters.tags.forEach( tag =>\r\n httpParams = httpParams.append('reseller.tags.id[]', tag)\r\n );\r\n }\r\n if (filters['locations']) {\r\n filters.locations.forEach( location =>\r\n httpParams = httpParams.append('reseller.locations.id[]', location)\r\n );\r\n }\r\n return this.http\r\n .get(API_URL + '/makers/' + makerId + '/favorite_resellers', { params: httpParams });\r\n }\r\n\r\n public getReseller(resellerId: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + resellerId, { headers: {\r\n 'Accept-Language': language\r\n }});\r\n }\r\n\r\n public getName() {\r\n return JSON.parse(localStorage.getItem('reseller')) ? JSON.parse(localStorage.getItem('reseller'))['name'] : null;\r\n }\r\n\r\n public getId() {\r\n return JSON.parse(localStorage.getItem('reseller')) ? JSON.parse(localStorage.getItem('reseller'))['id'] : null;\r\n }\r\n\r\n public putReseller(resellerId: string, reseller: Reseller, language = 'es'): Observable {\r\n return this.http\r\n .put(API_URL + '/resellers/' + resellerId, reseller, { headers: {\r\n 'Accept-Language': language\r\n }});\r\n }\r\n\r\n public postReseller(reseller): Observable {\r\n return this.http\r\n .post(API_URL + '/resellers', reseller);\r\n }\r\n\r\n public postContact(contact): Observable {\r\n return this.http\r\n .post(API_URL + '/contacts', contact);\r\n }\r\n\r\n public deleteContact(contactId: string): any {\r\n return this.http.delete(API_URL + contactId);\r\n }\r\n\r\n public getContact(contactId: string, language = 'es'): Observable {\r\n return this.http\r\n .get(API_URL + '/contacts/' + contactId, { headers: {\r\n 'Accept-Language': language\r\n }});\r\n }\r\n\r\n public getContactsByResellerId(resellerId: number): Observable {\r\n return this.http\r\n .get(API_URL + '/resellers/' + resellerId + '/contacts');\r\n }\r\n\r\n public putContact(contactId: string, contact, language = 'es'): Observable {\r\n return this.http\r\n .put(API_URL + '/contacts/' + contactId, contact, { headers: {\r\n 'Accept-Language': language\r\n }});\r\n }\r\n\r\n public postFavoriteExperience(favoriteExperience): Observable {\r\n return this.http\r\n .post(API_URL + '/favorite_experiences', favoriteExperience);\r\n }\r\n\r\n public deleteFavoriteExperience(favoriteExperienceId: string): any {\r\n return this.http.delete(API_URL + favoriteExperienceId);\r\n }\r\n\r\n public putFavoriteExperience(favoriteExperienceId: string, favoriteExperience: any): Observable {\r\n return this.http\r\n .put(API_URL + favoriteExperienceId, favoriteExperience);\r\n }\r\n\r\n public postFavoriteMaker(favoriteMaker): Observable {\r\n return this.http\r\n .post(API_URL + '/favorite_makers', favoriteMaker);\r\n }\r\n\r\n public deleteFavoriteMaker(favoriteMakerId: string): any {\r\n return this.http.delete(API_URL + favoriteMakerId);\r\n }\r\n\r\n public putFavoriteMaker(favoriteMakerId: string, favoriteMaker: any): Observable {\r\n return this.http\r\n .put(API_URL + favoriteMakerId, favoriteMaker);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Taker } from '../taker/taker-profile/taker.model';\r\n\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class TakerService {\r\n constructor(private http: HttpClient) { }\r\n\r\n public getTakerByUserId(userId: number): Observable {\r\n return this.http\r\n .get(API_URL + '/users/' + userId + '/taker');\r\n }\r\n\r\n public getTaker(takerId: number): Observable {\r\n return this.http\r\n .get(API_URL + takerId);\r\n }\r\n\r\n public getName() {\r\n return JSON.parse(localStorage.getItem('taker')) ? JSON.parse(localStorage.getItem('taker'))['name'] : null;\r\n }\r\n\r\n public getId() {\r\n return JSON.parse(localStorage.getItem('taker')) ? JSON.parse(localStorage.getItem('taker'))['id'] : null;\r\n }\r\n\r\n public putTaker(takerId: string, taker: any): Observable {\r\n return this.http\r\n .put(API_URL + '/takers/' + takerId, taker);\r\n }\r\n\r\n public postTaker(taker): Observable {\r\n return this.http\r\n .post(API_URL + '/takers', taker);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-taker-admin',\r\n templateUrl: './taker-admin.component.html',\r\n styleUrls: ['./taker-admin.component.css']\r\n})\r\nexport class TakerAdminComponent {\r\n}\r\n","\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 { Experience } from '../../experiences/experiences/experience.model';\r\nimport { ExperiencesService } from '../../experiences/experiences/experiences.service';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {TakerService} from '../../shared/taker.service';\r\n\r\n@Component({\r\n selector: 'app-taker-favorites',\r\n templateUrl: './taker-favorites.component.html',\r\n styleUrls: ['./taker-favorites.component.scss']\r\n})\r\nexport class TakerFavoritesComponent implements OnInit {\r\n public expandedIndex = -1;\r\n public originalExperiences: Experience[];\r\n experiences;\r\n public toggleFav = false;\r\n\r\n throttle = 150;\r\n scrollDistance = 0.1;\r\n notEmptyExperience = true;\r\n notScrolly = true;\r\n loading = false;\r\n\r\n constructor(\r\n private experienceService: ExperiencesService,\r\n private takerService: TakerService,\r\n private router: Router,\r\n private titleService: Title,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.loading = true;\r\n this.experienceService.getExperiencesByTakerId(this.takerService.getId()).subscribe((experiences => {\r\n this.originalExperiences = experiences[ 'hydra:member' ];\r\n this.experiences = this.originalExperiences.slice(0, 10);\r\n }));\r\n }\r\n\r\n clickFavorite(event) {\r\n this.toggleFav = !this.toggleFav;\r\n }\r\n\r\n expandText(index: number): void {\r\n this.expandedIndex = index === this.expandedIndex ? -1 : index;\r\n }\r\n\r\n onScroll() {\r\n this.loading = true;\r\n if (this.notScrolly && this.notEmptyExperience) {\r\n this.notScrolly = false;\r\n setTimeout(() => {\r\n this.loadNextExperience();\r\n }, 500);\r\n } else {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n loadNextExperience() {\r\n if (this.experiences.length < this.originalExperiences.length) {\r\n let i;\r\n const length = this.experiences.length;\r\n const experiencePerPage = 9;\r\n const experienceToLoad = this.originalExperiences.length - length;\r\n\r\n if ( experienceToLoad >= experiencePerPage ) {\r\n for (i = length; i <= length + experiencePerPage; i++) {\r\n this.experiences.push(this.originalExperiences[i]);\r\n }\r\n } else {\r\n for (i = length; i <= length + experienceToLoad - 1; i++) {\r\n this.experiences.push(this.originalExperiences[i]);\r\n }\r\n }\r\n this.notScrolly = true;\r\n } else {\r\n this.notEmptyExperience = false;\r\n }\r\n this.loading = false;\r\n }\r\n}\r\n","

    Tus experiencias favoritas

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    {{experience.promotionType}}
    \r\n
    {{experience.promotion}}
    \r\n
    \r\n
    \r\n
    PROMO
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{category.name}}{{i === experience.categories.length - 1 ? '' : ', '}}\r\n \r\n
    \r\n

    \r\n \r\n {{experience.name}}\r\n \r\n {{experience.name}}\r\n

    \r\n
    {{experience.reviewTripadvisor}}
    \r\n
      \r\n
    • {{ 'Duración' | translate}}: {{experience.duration}}
    • \r\n
    • {{ 'Idiomas' | translate}}:\r\n \r\n {{language.name}}{{i === experience.languages.length - 1 ? '' : ', '}}\r\n \r\n
    • \r\n \r\n
    • {{ 'Lugar' | translate}}: {{experience.location[\"name\"]}}, {{experience.country}}
    • \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \"{{experience.maker['name']}}\"
    \r\n
    {{ 'Organizado por' | translate}} {{experience.maker[\"name\"]}}
    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Taker } from './taker.model';\r\nimport { TakerService } from '../../shared/taker.service';\r\nimport { errorMessages } from '../../shared/custom-validators';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {UsersService} from '../../../shared/users/users.service';\r\nimport {User} from '../../../shared/users/user.model';\r\n\r\n@Component({\r\n selector: 'app-taker',\r\n templateUrl: './taker.component.html',\r\n styleUrls: ['./taker.component.css']\r\n})\r\nexport class TakerComponent implements OnInit {\r\n takerForm: UntypedFormGroup;\r\n taker: Taker;\r\n title = 'Perfil taker';\r\n alert = {message: null, type: null};\r\n errors = errorMessages;\r\n takerId = null;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService,\r\n private userService: UsersService,\r\n private titleService: Title,\r\n private takerService: TakerService,\r\n public translate: TranslateService\r\n ) {\r\n if (this.takerService.getId()) {\r\n this.title = 'Editar perfil taker';\r\n this.takerId = '/takers/' + this.takerService.getId();\r\n }\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.takerId) {\r\n this.editTaker(this.takerId);\r\n }\r\n }\r\n\r\n createForm() {\r\n this.takerForm = this.formBuilder.group({\r\n name: [ '',\r\n Validators.required\r\n ],\r\n surname: [ '',\r\n Validators.required\r\n ],\r\n user: ['/users/' + this.authService.getUserId()]\r\n });\r\n }\r\n\r\n createTaker() {\r\n if (this.takerForm.invalid) {\r\n this.showErrors(this.takerForm);\r\n return;\r\n }\r\n const taker = {\r\n name: this.takerForm.get('name').value,\r\n surname: this.takerForm.get('surname').value,\r\n user: this.takerForm.get('user').value\r\n };\r\n this.takerService.postTaker(taker).subscribe(() => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Taker creado correctamente';\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n }, 5000);\r\n const roles = this.authService.roles();\r\n if (!roles.includes('ROLE_TAKER')) {\r\n roles.push('ROLE_TAKER');\r\n }\r\n const editedUser = new User({roles: roles});\r\n this.userService.putUser(this.authService.getUserId(), editedUser).subscribe(currentUser => {\r\n localStorage.setItem('user', JSON.stringify(currentUser));\r\n });\r\n this.takerService.getTakerByUserId(this.authService.getUserId()).subscribe(currentTaker => {\r\n this.taker = currentTaker;\r\n this.takerId = currentTaker.id;\r\n localStorage.setItem('taker', JSON.stringify({id: currentTaker.id , name: currentTaker.name}));\r\n });\r\n }, (error) => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {this.alert = {message: null, type: null};\r\n }, 5000);\r\n });\r\n }\r\n\r\n editTaker(takerId) {\r\n this.takerService.getTaker(takerId).subscribe((taker: Taker) => {\r\n this.taker = taker;\r\n this.takerForm.get('name').setValue(taker.name);\r\n this.takerForm.get('surname').setValue(taker.surname);\r\n });\r\n }\r\n\r\n updateTaker() {\r\n if (this.takerForm.invalid) {\r\n this.showErrors(this.takerForm);\r\n return;\r\n }\r\n const taker = {\r\n name: this.takerForm.get('name').value,\r\n surname: this.takerForm.get('surname').value\r\n };\r\n const editedTaker = new Taker(taker);\r\n this.takerService.putTaker(this.taker.id, editedTaker)\r\n .subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Taker guardado correctamente';\r\n setTimeout(() => {\r\n this.alert = {message: null, type: null};\r\n }, 5000);\r\n },\r\n error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {this.alert = {message: null, type: null};\r\n }, 5000);\r\n },\r\n () => console.log('complete'));\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.takerForm.get(formValue).invalid && this.takerForm.get(formValue).touched;\r\n }\r\n}\r\n","

    {{title}}

    \r\n
    \r\n

    {{ 'Completa los datos del taker para poder añadir favoritos' | translate}}

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

    {{alert.message}}

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

    {{ 'Datos públicos' | translate}}

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{errors['takerName']}}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{errors['takerSurname']}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{ 'Cancelar' | translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","export class TakerCollection {\r\n total: number;\r\n takers: Taker[];\r\n}\r\n\r\nexport class Taker {\r\n id: string;\r\n name: string;\r\n surname: string;\r\n favoriteExperiences: any[];\r\n user: string;\r\n constructor(values: any = {}) {\r\n Object.assign(this, values);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { errorMessages, regExps } from '../../shared/custom-validators';\r\nimport { UsersService } from '../../../shared/users/users.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\nconst FRONT_URL = environment.frontUrl;\r\n\r\n@Component({\r\n selector: 'app-contact-form',\r\n templateUrl: './contact-form.component.html'\r\n})\r\nexport class ContactFormComponent implements OnInit {\r\n contactForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n errors = errorMessages;\r\n public message = '';\r\n public isLoading = false;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private userService: UsersService,\r\n public translate: TranslateService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n createForm() {\r\n this.contactForm = this.formBuilder.group({\r\n name: [ '', [\r\n Validators.required\r\n ]],\r\n phone: [ '', [\r\n Validators.required,\r\n Validators.pattern(regExps.phone)\r\n ]],\r\n acceptance: [ false, [\r\n Validators.requiredTrue\r\n ]],\r\n });\r\n }\r\n\r\n showError(formValue) {\r\n return this.contactForm.get(formValue).invalid && this.contactForm.get(formValue).touched;\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n sendContactForm() {\r\n this.isLoading = true;\r\n if (this.contactForm.invalid) {\r\n this.showErrors(this.contactForm);\r\n return;\r\n }\r\n const contactForm = {\r\n name: this.contactForm.get('name').value,\r\n phone: this.contactForm.get('phone').value,\r\n acceptance: this.contactForm.get('acceptance').value\r\n };\r\n this.userService.contactForm(contactForm).subscribe(\r\n (response) => {\r\n this.isLoading = false;\r\n this.contactForm.markAsPristine();\r\n\r\n this.alert.type = 1;\r\n this.alert.message = 'Tus datos de contacto se han enviado correctamente. En breve nos pondremos en contacto contigo';\r\n setTimeout(() => {\r\n window.location.replace(FRONT_URL + this.translate.getDefaultLang() + '/precios-venntur');\r\n }, 3000);\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n this.contactForm.markAsPristine();\r\n\r\n this.alert.type = 2;\r\n this.alert.message = 'No se han podido enviar tus datos de contacto. Prueba de nuevo más tarde';\r\n }\r\n );\r\n }\r\n}\r\n","
    \r\n
    \r\n

    {{ 'Déjanos tu teléfono' | translate}}

    \r\n

    {{ 'Te contaremos lo que Venntur puede hacer por los organizadores de experiencias.' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['name'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['phone'])}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['acceptance'])}}\r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { errorMessages } from '../../shared/custom-validators';\r\nimport { UsersService } from '../../../shared/users/users.service';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-password-recover',\r\n templateUrl: './password-recover.component.html'\r\n})\r\nexport class PasswordRecoverComponent implements OnInit {\r\n passForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n errors = errorMessages;\r\n public message = '';\r\n public isLoading = false;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private userService: UsersService,\r\n public translate: TranslateService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n createForm() {\r\n this.passForm = this.formBuilder.group({\r\n email: [ '', [\r\n Validators.required,\r\n Validators.email\r\n ]],\r\n });\r\n }\r\n\r\n showError(formValue) {\r\n return this.passForm.get(formValue).invalid && this.passForm.get(formValue).touched;\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n sendForgotPassword() {\r\n this.isLoading = true;\r\n if (this.passForm.invalid) {\r\n this.showErrors(this.passForm);\r\n return;\r\n }\r\n this.userService.forgotPassword({email: this.passForm.get('email').value}).subscribe(\r\n (response) => {\r\n this.isLoading = false;\r\n this.passForm.markAsPristine();\r\n\r\n this.alert.type = 1;\r\n this.alert.message = 'Te hemos enviado un correo para restablecer tu contraseña.';\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n this.passForm.markAsPristine();\r\n\r\n this.alert.type = 2;\r\n this.alert.message = 'No hemos podido enviarte el correo para restablecer contraseña.';\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n

    {{ '¿Olvidaste la contraseña?' | translate}}

    \r\n

    {{ 'Introduce tu correo electrónico y te enviaremos un email de recuperación de contraseña' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['email'])}}\r\n \r\n
    \r\n\r\n \r\n
    \r\n

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CustomValidators, regExps, errorMessages } from '../../shared/custom-validators';\r\n\r\nimport { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\n\r\nimport {User} from '../../../shared/users/user.model';\r\nimport {UsersService} from '../../../shared/users/users.service';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html'\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n\r\n userResetPasswordForm: UntypedFormGroup;\r\n alert = {message: null, type: null};\r\n errors = errorMessages;\r\n public message = '';\r\n public result = '';\r\n\r\n private id: any;\r\n private token: any;\r\n public isLoading = false;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n public userService: UsersService,\r\n public translate: TranslateService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.userResetPasswordForm = this.formBuilder.group({\r\n password: ['', [\r\n Validators.required,\r\n Validators.pattern(regExps.password)\r\n ]],\r\n });\r\n }\r\n\r\n reset(): void {\r\n if (!this.userResetPasswordForm.valid) {\r\n return;\r\n }\r\n\r\n const user = new User(\r\n {\r\n email: this.userResetPasswordForm.value.email,\r\n password: this.userResetPasswordForm.value.password\r\n }\r\n );\r\n\r\n this.isLoading = true;\r\n this.userService.resetPassword(user, this.token).subscribe(\r\n (response) => {\r\n this.isLoading = false;\r\n this.userResetPasswordForm.markAsPristine();\r\n\r\n this.alert.type = 1;\r\n this.alert.message = 'Se ha cambiado la contraseña con éxito. ' + '\\n' +\r\n 'En breve será redirigido.' ;\r\n this.result = 'success';\r\n\r\n setTimeout((router: Router) => {\r\n this.router.navigate([this.translate.getDefaultLang() + '/experiencias']);\r\n }, 10000);\r\n\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n this.userResetPasswordForm.markAsPristine();\r\n\r\n this.alert.type = 2;\r\n this.alert.message = 'No se ha podido cambiar la contraseña. Por favor, reinicie el proceso de reseteo de contraseña.';\r\n this.result = 'error';\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.params.subscribe(params => {\r\n this.token = params['token'];\r\n });\r\n }\r\n showError(formValue) {\r\n return this.userResetPasswordForm.get(formValue).invalid && this.userResetPasswordForm.get(formValue).touched;\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n}\r\n","
    \r\n
    \r\n

    {{ 'Restablecer contraseña' | translate}}

    \r\n

    {{ 'Por favor, introduce tu contraseña nueva' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{translate.instant(errors['password'])}}\r\n \r\n
    \r\n \r\n
    \r\n

    {{alert.message}}

    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CmsService } from '../cms/service/cms.service';\r\nimport { AuthService } from '../shared/auth.service';\r\nimport { MakerService } from '../shared/maker.service';\r\n\r\n@Component({\r\n selector: 'app-webs',\r\n templateUrl: './webs.component.html',\r\n styleUrls: ['./webs.component.scss']\r\n})\r\nexport class WebsComponent implements OnInit {\r\n webs: any;\r\n constructor(public translate: TranslateService, private cmsService: CmsService, private authService: AuthService, private makerService: MakerService) { }\r\n\r\n ngOnInit(): void {\r\n this.makerService.getMaker('/makers/'+this.authService.getMakerId()).subscribe((maker:any) => {\r\n this.cmsService.getAll('webs?externalUser=' + maker.user.email).subscribe((webs: any) => {\r\n this.webs = webs['hydra:member'];\r\n console.log(webs);\r\n \r\n })\r\n })\r\n\r\n }\r\n\r\n goMakerWeb(webId:any) {\r\n // const windowFeatures = 'width=600,height=400,location=no,toolbar=no,menubar=no';\r\n const newWindowURL = 'http://creator.venntur.com/login' + '?token=' + localStorage.getItem('token') + '&user=' + localStorage.getItem('user') + '&web=' + webId;\r\n window.open(newWindowURL, '_blank');\r\n }\r\n\r\n goMakerNewWebIa() {\r\n // const windowFeatures = 'width=600,height=400,location=no,toolbar=no,menubar=no';\r\n const newWindowURL = 'http://creator.venntur.com/login' + '?token=' + localStorage.getItem('token') + '&user=' + localStorage.getItem('user') + '&newWebIa=' + true + '&maker=' + this.getMaker();\r\n window.open(newWindowURL, '_blank');\r\n }\r\n\r\n goMakerNewWebBlank() {\r\n // const windowFeatures = 'width=600,height=400,location=no,toolbar=no,menubar=no';\r\n const newWindowURL = 'http://creator.venntur.com/login' + '?token=' + localStorage.getItem('token') + '&user=' + localStorage.getItem('user') + '&newWebBlank=' + true + '&maker=' + this.getMaker();\r\n window.open(newWindowURL, '_blank');\r\n }\r\n\r\n getUser() {\r\n return JSON.parse(localStorage.getItem('user')).id;\r\n }\r\n getMaker() {\r\n return JSON.parse(localStorage.getItem('maker')).id;\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n Crear nueva landing\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{web.domain}}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{10}}\r\n \r\n
    \r\n
    \r\n {{2}}\r\n \r\n
    \r\n
    \r\n {{'Activa'}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { UsersService } from '../../shared/users/users.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {DomSanitizer, Meta} from '@angular/platform-browser';\r\nimport {finalize} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-wordpress-page',\r\n templateUrl: './wordpress-page.component.html',\r\n styleUrls: ['./wordpress-page.component.scss']\r\n})\r\nexport class WordpressPageComponent implements OnInit {\r\n\r\n href = null;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private userService: UsersService,\r\n private sanitizer: DomSanitizer,\r\n private metaService: Meta\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params.subscribe(params => {\r\n if (params.page) {\r\n this.userService.getWordpressPage(params.page).subscribe( page => {\r\n if (page.length === 0) {\r\n this.userService.getWordpressPost(params.page).subscribe( post => {\r\n this.loadCSS(post[0].id, post[0].content.css_files);\r\n this.loadHead(post[0].head_tags);\r\n document.getElementById('wordpress').innerHTML = post[0].content.rendered;\r\n });\r\n } else {\r\n this.loadCSS(page[0].id, page[0].content.css_files);\r\n this.loadHead(page[0].head_tags);\r\n document.getElementById('wordpress').innerHTML = page[0].content.rendered;\r\n }\r\n });\r\n } else if (params.category) {\r\n this.userService.getWordpressPostsByCategory(params.category).subscribe( page => {\r\n this.loadCSS(page[0].id, page[0].content.css_files);\r\n this.loadHead(page[0].head_tags);\r\n document.getElementById('wordpress').innerHTML = page[0].content.rendered;\r\n page[0].content.categories.forEach( category => {\r\n let categories = Array.from(document.getElementsByClassName('category-' + category));\r\n categories.forEach(category => {\r\n if (!category.className.includes('category-' + params.category)) {\r\n category.remove();\r\n }\r\n });\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n loadHead(params) {\r\n params.forEach(param => {\r\n if (param.tag === 'meta') {\r\n this.metaService.addTag({name: param.attributes.name, content: param.attributes.content});\r\n }\r\n });\r\n }\r\n\r\n loadCSS(id, cssFiles) {\r\n const link = document.createElement('link');\r\n link.href = 'https://pro.venntur.com/wp-content/themes/Divi/style.dev.css';\r\n link.rel = 'stylesheet';\r\n link.type = 'text/css';\r\n\r\n const head = document.getElementsByTagName('head')[0];\r\n const style = head.getElementsByTagName('style')[0];\r\n head.insertBefore(link, style);\r\n\r\n // const link5 = document.createElement('link');\r\n // link5.href = 'https://wp.ttl.aititubi.es/wp-content/themes/Divi/style.dev.css';\r\n // link5.rel = 'stylesheet';\r\n // link5.type = 'text/css';\r\n //\r\n // const head5 = document.getElementsByTagName('head')[0];\r\n // const style5 = head.getElementsByTagName('style')[0];\r\n // head5.insertBefore(link5, style5);\r\n\r\n const link2 = document.createElement('link');\r\n link2.href = 'https://pro.venntur.com/wp-content/themes/venntur/style.css?ver=4.9.1';\r\n link2.rel = 'stylesheet';\r\n link2.type = 'text/css';\r\n\r\n const head2 = document.getElementsByTagName('head')[0];\r\n const style2 = head2.getElementsByTagName('style')[0];\r\n head2.insertBefore(link2, style2);\r\n\r\n // const link3 = document.createElement('link');\r\n // link3.href = 'https://pro.venntur.com/wp-content/plugins/monarch/css/style.css?ver=1.4.14';\r\n // link3.rel = 'stylesheet';\r\n // link3.type = 'text/css';\r\n //\r\n // const head3 = document.getElementsByTagName('head')[0];\r\n // const style3 = head3.getElementsByTagName('style')[0];\r\n // head3.insertBefore(link3, style3);\r\n\r\n if (cssFiles) {\r\n const link4 = document.createElement('link');\r\n link4.href = `https://pro.venntur.com/wp-content/et-cache/${id}/${cssFiles[2]}`;\r\n link4.rel = 'stylesheet';\r\n link4.type = 'text/css';\r\n\r\n const head4 = document.getElementsByTagName('head')[0];\r\n const style4 = head4.getElementsByTagName('style')[0];\r\n head4.insertBefore(link4, style4);\r\n }\r\n\r\n const script = document.createElement('script');\r\n\r\n script.setAttribute('src', 'https://pro.venntur.com/wp-content/themes/Divi/includes/builder/frontend-builder/build/frontend-builder-global-functions.js');\r\n\r\n document.head.appendChild(script);\r\n\r\n setTimeout(() => {\r\n const script2 = document.createElement('script');\r\n script2.setAttribute('src', 'https://pro.venntur.com/wp-content/themes/Divi/includes/builder/scripts/ext/salvattore.min.js?ver=4.9.1');\r\n document.body.appendChild(script2);\r\n }, 500);\r\n }\r\n}\r\n","\r\n
    \r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Category, CategoryCollection } from './category.model';\r\n\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class CategoriesService {\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n public postCategory(category): Observable {\r\n return this.http\r\n .post(API_URL + '/categories', category);\r\n }\r\n\r\n public getCategory(id: string): Observable {\r\n return this.http\r\n .get(API_URL + '/categories/' + id);\r\n }\r\n\r\n public getCategories(language): Observable {\r\n return this.http\r\n .get(API_URL + '/categories', { headers: {\r\n 'Accept-Language': language,\r\n }});\r\n }\r\n\r\n public getActiveCategories(language): Observable {\r\n return this.http\r\n .get(API_URL + '/categories?exists[experiences]=true', { headers: {\r\n 'Accept-Language': language,\r\n }});\r\n }\r\n\r\n public getActiveCategoriesByParentId(parentId:any ,language): Observable {\r\n return this.http\r\n .get(API_URL + '/categories?exists[experiences]=true&parents[]=' + parentId, { headers: {\r\n 'Accept-Language': language,\r\n }});\r\n }\r\n\r\n public deleteCategory(categoryId: string): any {\r\n return this.http.delete(API_URL + '/categories/' + categoryId);\r\n }\r\n\r\n public putCategory(categoryId: string, category: Category): Observable {\r\n return this.http\r\n .put(API_URL + '/categories/' + categoryId, category);\r\n }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport KeenSlider, { KeenSliderInstance } from 'keen-slider';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { TakerService } from 'src/app/pages/shared/taker.service';\r\nimport { Taker } from 'src/app/pages/taker/taker-profile/taker.model';\r\n\r\n@Component({\r\n selector: 'app-experience-card',\r\n templateUrl: './experience-card.component.html',\r\n styleUrls: ['./experience-card.component.scss',\r\n '../../../../node_modules/keen-slider/keen-slider.min.css']\r\n})\r\nexport class ExperienceCardComponent implements OnInit {\r\n\r\n @Input() experience;\r\n @Input() isDashboard = false;\r\n @Input() isFooterActive;\r\n\r\n @ViewChild(\"photosSlider\") photosSlider: ElementRef;\r\n @ViewChild('autoShownModal', { static: false }) autoShownModal: ModalDirective;\r\n\r\n currentSlide: number = 0\r\n dotHelper: Array = []\r\n slider: KeenSliderInstance = null\r\n\r\n\r\n takerExperiences = [];\r\n isAlertShown = false;\r\n shownDays = [\r\n { value: 0, text: 'Todos los días' },\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private takerService: TakerService,\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.awaitPhotoSlider();\r\n\r\n\r\n }\r\n\r\n loadPhotoSlider() {\r\n this.slider = new KeenSlider(this.photosSlider.nativeElement, {\r\n initial: this.currentSlide,\r\n slideChanged: (s) => {\r\n this.currentSlide = s.track.details.rel\r\n },\r\n });\r\n this.dotHelper = [\r\n ...Array(this.slider.track.details.slides.length).keys(),\r\n ];\r\n }\r\n\r\n awaitPhotoSlider() {\r\n if (this.photosSlider) {\r\n this.loadPhotoSlider();\r\n } else {\r\n setTimeout(() => {\r\n this.awaitPhotoSlider();\r\n }, 300);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.slider) this.slider.destroy()\r\n }\r\n\r\n\r\n getUrl(isCivitatis, image) {\r\n // return !isCivitatis ? 'https://dev.venntur.com/assets/experience/files/' + image : image;\r\n // return !isCivitatis ? 'http://localhost:4200/assets/experience/files/' + image : image;\r\n return !isCivitatis ? 'https://venntur.com/assets/experience/files/' + image : image;\r\n }\r\n\r\n clickFavorite(event, experienceId) {\r\n if (this.takerService.getId()) {\r\n this.takerExperiences.includes(experienceId) ?\r\n this.takerExperiences.splice(this.takerExperiences.indexOf(experienceId), 1) : this.takerExperiences.push(experienceId);\r\n const taker = {\r\n favoriteExperiences: this.takerExperiences\r\n };\r\n const editedTaker = new Taker(taker);\r\n this.takerService.putTaker(this.takerService.getId(), editedTaker).subscribe();\r\n } else {\r\n this.isAlertShown = true;\r\n }\r\n }\r\n\r\n shareExperience(experience) {\r\n var enlace = 'https://venntur.com/product/' + experience.slug;\r\n var mensaje = this.translate.instant('¡Mira esta experiencia en Venntur!');\r\n\r\n mensaje = encodeURIComponent(mensaje);\r\n enlace = encodeURIComponent(enlace);\r\n\r\n var enlaceWhatsApp = 'https://wa.me/?text=' + mensaje + '%20' + enlace;\r\n\r\n window.open(enlaceWhatsApp);\r\n\r\n }\r\n\r\n setCategoryTitle(experience) {\r\n return experience.categories.map(obj => obj.name).join(' / ')\r\n }\r\n\r\n setLanguagesTitle(experience) {\r\n return experience.languages.map(obj => obj.name).join(' , ')\r\n }\r\n\r\n convertTimeToCustomFormat(inputTime: string): string {\r\n let formattedText;\r\n const [hours, minutes] = inputTime.split(':').map(part => parseInt(part, 10));\r\n\r\n if (minutes != 0) {\r\n formattedText = hours + ' h y ' + minutes + ' min'\r\n } else {\r\n formattedText = hours + ' h'\r\n }\r\n\r\n return formattedText;\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isAlertShown = false;\r\n }\r\n\r\n}\r\n\r\n","
    \r\n
    \r\n \r\n \r\n \"{{experience.name}}\r\n \r\n \r\n \"{{experience.name}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    {{ 'Desde' | translate}}
    \r\n
    {{experience.price}} €
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {{category.name}} / \r\n
    \r\n\r\n \r\n

    \r\n \r\n {{experience.name}}\r\n \r\n \r\n {{experience.name}}\r\n \r\n

    \r\n\r\n \r\n \r\n
      \r\n
    • \r\n {{convertTimeToCustomFormat(experience.duration)}}\r\n
    • \r\n
    • = 1\">\r\n \r\n \r\n {{shownDays[weekDay].text | translate}}{{i === experience.weekDays.length - 1 ? '' : ', '}}\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n {{language.name}},\r\n \r\n 3\"> ...\r\n
    • \r\n
    • \r\n \r\n {{experience.location.name}}, {{experience.location.country}}\r\n
    • \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n

    Inicia sesión y añade actividades a tus favoritos

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output, TemplateRef, ElementRef, ViewChild } from '@angular/core';\r\nimport { CategoriesService } from '../categories/categories.service';\r\nimport { LocationService } from '../locations/location.service';\r\nimport { TagsService } from '../tags/tags.service';\r\nimport { FormArray, UntypedFormBuilder, FormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport KeenSlider, { KeenSliderInstance } from \"keen-slider\"\r\n\r\n\r\n@Component({\r\n selector: 'app-experience-search',\r\n styleUrls: [\r\n './experience-search.component.scss',\r\n '../../../../node_modules/keen-slider/keen-slider.min.css',\r\n ],\r\n templateUrl: './experience-search.component.html',\r\n})\r\nexport class ExperienceSearchComponent implements OnInit, OnDestroy {\r\n @Input() parentVariable: string;\r\n @Input() totalExperiences: any;\r\n @Output() parentVariableChange = new EventEmitter();\r\n\r\n @ViewChild(\"catSlider\") catSlider: ElementRef;\r\n @ViewChild(\"subcatSlider1\") subcatSlider1: ElementRef;\r\n @ViewChild(\"subcatSlider2\") subcatSlider2: ElementRef;\r\n // private _slider: any = null;\r\n totalslides: number;\r\n currentSlide: number = 0;\r\n currentsubSlide1: number = 0;\r\n currentsubSlide2: number = 0;\r\n doResize: boolean = false;\r\n\r\n slider: KeenSliderInstance = null;\r\n subslider1: KeenSliderInstance = null;\r\n subslider2: KeenSliderInstance = null;\r\n\r\n\r\n experienceSearchForm: UntypedFormGroup;\r\n cities = [];\r\n zones = [];\r\n categories = null;\r\n subcategories = [];\r\n subcategories1 = [];\r\n subcategories2 = [];\r\n tags = null;\r\n searchUrl = null;\r\n citySelected = null;\r\n searchHome = true;\r\n isTagsCollapsed = false;\r\n screenWidth: number;\r\n modalRef: BsModalRef;\r\n total = 0;\r\n parentsSelected = [];\r\n parentsIndexSelected = [];\r\n iconsArray = [];\r\n monthsWithYear: string[];\r\n\r\n categoryTotals = 0;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n public locationService: LocationService,\r\n public categoriesService: CategoriesService,\r\n public tagsService: TagsService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n public translate: TranslateService,\r\n private modalService: BsModalService,\r\n ) {\r\n this.createForm();\r\n\r\n this.searchHome = this.activatedRoute.snapshot.routeConfig.path === ':lang'\r\n || this.activatedRoute.snapshot.routeConfig.path === '';\r\n this.locationService.getActiveLocations().subscribe(locations => {\r\n this.cities = locations['hydra:member'];\r\n if (this.activatedRoute.snapshot.queryParams['localidad']) {\r\n this.experienceSearchForm.get('location').setValue(parseInt(this.activatedRoute.snapshot.queryParams['localidad']));\r\n this.searchExperiences(true);\r\n }\r\n });\r\n setTimeout(() => {\r\n this.categoriesService.getActiveCategories(this.translate.getDefaultLang()).subscribe(categories => {\r\n this.categories = categories['hydra:member'].slice(0, 9);\r\n setTimeout(() => {\r\n if (this.activatedRoute.snapshot.queryParams['categorias']) {\r\n this.activatedRoute.snapshot.queryParams['categorias'].split(',').forEach(categoryId => {\r\n document.getElementById(categoryId.toString())['checked'] = true;\r\n });\r\n }\r\n }, 0);\r\n });\r\n }, 1000);\r\n setTimeout(() => {\r\n this.tagsService.getTags(this.translate.getDefaultLang()).subscribe(tags => {\r\n this.tags = tags['hydra:member'];\r\n setTimeout(() => {\r\n if (this.activatedRoute.snapshot.queryParams['etiquetas']) {\r\n this.activatedRoute.snapshot.queryParams['etiquetas'].split(',').forEach(tagId => {\r\n document.getElementById('tag-' + tagId.toString())['checked'] = true;\r\n });\r\n }\r\n }, 0);\r\n });\r\n }, 1000);\r\n\r\n this.getScreenSize();\r\n\r\n // Months on filter modal\r\n const monthNames = [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\",\r\n \"Mayo\", \"Junio\", \"Julio\", \"Agosto\",\r\n \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"];\r\n const today = new Date;\r\n this.monthsWithYear = Array.from({ length: 12 }, (_, i) => {\r\n const month = (today.getMonth() + i) % 12;\r\n const year = today.getFullYear() + Math.floor((today.getMonth() + i) / 12);\r\n return `${monthNames[month]} ${year}`;\r\n });\r\n // End of months on filter modal\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.totalslides = 9;\r\n window.dispatchEvent(new Event('resize'));\r\n }\r\n\r\n openFilterModal(template: TemplateRef) {\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n createForm() {\r\n this.experienceSearchForm = this.formBuilder.group({\r\n location: [null,\r\n Validators.required\r\n ],\r\n area: [null,\r\n Validators.required\r\n ],\r\n date: [null,\r\n Validators.required\r\n ]\r\n });\r\n }\r\n\r\n getLocation() {\r\n let currentCity = 'Todos los destinos';\r\n this.cities.forEach((city: any) => {\r\n if (city.id == this.experienceSearchForm.get('location').value) {\r\n currentCity = city.name;\r\n return;\r\n }\r\n });\r\n return currentCity;\r\n }\r\n\r\n getZone() {\r\n let currentZone = 'Todas las zonas';\r\n this.zones.forEach((city: any) => {\r\n if (city['@id'].replace('/zones/', '') == this.experienceSearchForm.get('area').value) {\r\n currentZone = city.name;\r\n return;\r\n }\r\n });\r\n return currentZone;\r\n }\r\n\r\n getDate() {\r\n if (this.experienceSearchForm.get('date').value) {\r\n return this.monthsWithYear[this.experienceSearchForm.get('date').value]\r\n } else {\r\n return 'Todas las fechas';\r\n }\r\n }\r\n\r\n searchExperiences(isClicked, event?: any) {\r\n this.searchUrl = this.translate.getDefaultLang() + '/experiencias?';\r\n let categories = [];\r\n\r\n // if (index >= 0) {\r\n // this.parentsIndexSelected = index;\r\n // }\r\n\r\n if (!isClicked) {\r\n if (!this.parentsSelected.includes(event.target.id)) {\r\n this.parentsSelected = [];\r\n categories.push(event.target.id);\r\n this.parentsSelected.push(event.target.id);\r\n } else {\r\n this.parentsSelected = [];\r\n }\r\n\r\n Array.from(document.getElementsByClassName('category-input')).forEach((categoryElement: any) => {\r\n categoryElement.checked = false;\r\n });\r\n }\r\n\r\n if (this.searchHome && isClicked || !this.searchHome) {\r\n let tags = [];\r\n if (this.experienceSearchForm.get('location').value) {\r\n this.searchUrl += 'localidad=' + this.experienceSearchForm.get('location').value;\r\n this.locationService.getZonesFiltered(this.experienceSearchForm.get('location').value).subscribe(zones => {\r\n this.zones = zones;\r\n })\r\n }\r\n\r\n if (this.experienceSearchForm.get('area').value) {\r\n this.searchUrl += '&zonas=' + this.experienceSearchForm.get('area').value;\r\n }\r\n\r\n if (this.experienceSearchForm.get('date').value) {\r\n if (new Date().getMonth() + this.experienceSearchForm.get('date').value < 12) {\r\n this.searchUrl += '&monthsString=' + (new Date().getMonth() + parseInt(this.experienceSearchForm.get('date').value));\r\n } else {\r\n this.searchUrl += '&monthsString=' + ((new Date().getMonth() + this.experienceSearchForm.get('date').value) - 12);\r\n }\r\n }\r\n\r\n let hasSubcategory = false;\r\n Array.from(document.getElementsByClassName('subcategory')).forEach(categoryElement => {\r\n if (categoryElement['checked'] && this.parentsSelected.length > 0) {\r\n categories.push(categoryElement.id);\r\n categories = categories.filter(category => category !== this.parentsSelected[this.parentsIndexSelected[0]]);\r\n // categories.push(this.parentsSelected[0]);\r\n hasSubcategory = true;\r\n }\r\n });\r\n\r\n Array.from(document.getElementsByClassName('tag')).forEach(tagElement => {\r\n if (tagElement['checked']) {\r\n tags.push(tagElement.id.replace('tag-', ''));\r\n }\r\n });\r\n if (!hasSubcategory) {\r\n if (this.parentsSelected.length > 0) {\r\n categories = this.parentsSelected[0];\r\n }\r\n }\r\n this.searchUrl += (categories.length > 0 ? '&categorias=' + categories : '') + (tags.length > 0 ? '&etiquetas=' + tags : '') + '&page=1';\r\n\r\n this.parentVariable = this.searchUrl;\r\n\r\n this.parentVariableChange.emit(this.parentVariable);\r\n\r\n if (event) {\r\n if (this.parentsSelected.length == 0) {\r\n event.target.checked = false;\r\n } else {\r\n event.target.checked = true;\r\n }\r\n this.setIcons(event);\r\n }\r\n\r\n if (!isClicked) {\r\n this.subcategories = [];\r\n\r\n if (this.iconsArray.length > 1) {\r\n this.categoriesService.getActiveCategoriesByParentId(this.iconsArray[0], this.translate.getDefaultLang()).subscribe(categories => {\r\n this.subcategories.push(categories['hydra:member']);\r\n\r\n this.categoriesService.getActiveCategoriesByParentId(this.iconsArray[1], this.translate.getDefaultLang()).subscribe(categories => {\r\n this.subcategories.push(categories['hydra:member']);\r\n });\r\n });\r\n } else {\r\n this.categoriesService.getActiveCategoriesByParentId(this.iconsArray[0], this.translate.getDefaultLang()).subscribe(categories => {\r\n this.subcategories.push(categories['hydra:member']);\r\n });\r\n }\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n this.subslider1 = new KeenSlider(this.subcatSlider1.nativeElement, {\r\n loop: false,\r\n mode: \"snap\",\r\n initial: this.currentsubSlide1,\r\n slideChanged: (s) => {\r\n this.currentsubSlide1 = s.track.details.rel\r\n },\r\n rtl: false,\r\n slides: { perView: \"auto\" },\r\n })\r\n }, 1000);\r\n\r\n // setTimeout(() => {\r\n // this.subslider2 = new KeenSlider(this.subcatSlider2.nativeElement, {\r\n // loop: false,\r\n // mode: \"snap\",\r\n // initial: this.currentsubSlide2,\r\n // slideChanged: (s) => {\r\n // this.currentsubSlide2 = s.track.details.rel\r\n // },\r\n // rtl: false,\r\n // slides: { perView: \"auto\" },\r\n // })\r\n // }, 1000);\r\n }\r\n\r\n removeFilters() {\r\n this.searchUrl = this.translate.getDefaultLang() + '/experiencias?localidad=' + this.experienceSearchForm.get('location').value;\r\n this.parentVariable = this.searchUrl;\r\n console.log(this.searchUrl)\r\n\r\n this.parentVariableChange.emit(this.parentVariable);\r\n }\r\n\r\n setIcons(event: any) {\r\n this.iconsArray = [event.target.id];\r\n // if (event.target.checked) {\r\n // this.iconsArray.push(event.target.id)\r\n // } else {\r\n // this.iconsArray = this.iconsArray.filter(item => item !== event.target.id);\r\n // }\r\n // this.iconsArray = this.iconsArray.sort((a, b) => a - b);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?) {\r\n this.screenWidth = window.innerWidth;\r\n if (this.screenWidth < 992) {\r\n this.isTagsCollapsed = true;\r\n } else {\r\n this.isTagsCollapsed = false;\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.doResize = true\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.slider = new KeenSlider(this.catSlider.nativeElement, {\r\n loop: false,\r\n mode: \"snap\",\r\n initial: this.currentSlide,\r\n slideChanged: (s) => {\r\n this.currentSlide = s.track.details.rel\r\n },\r\n rtl: false,\r\n slides: { perView: \"auto\" },\r\n })\r\n }, 3000);\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n if (this.slider && this.doResize) {\r\n this.doResize = false\r\n }\r\n if (this.subslider1 && this.doResize) {\r\n this.doResize = false\r\n }\r\n if (this.subslider2 && this.doResize) {\r\n this.doResize = false\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.slider) this.slider.destroy()\r\n if (this.subslider1) this.subslider1.destroy()\r\n if (this.subslider2) this.subslider2.destroy()\r\n }\r\n\r\n trackByFn(index, item): number {\r\n return index; // or item.id\r\n }\r\n\r\n displayMonthIndex(date) {\r\n if (new Date().getMonth() + date > 11) {\r\n return new Date().getMonth() + date\r\n } else {\r\n return new Date().getMonth() + date - 12\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    {{ getLocation() | translate}}
    \r\n\r\n
    {{ getZone() | translate}} - {{getDate() | translate}}
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n \r\n
    0\"\r\n class=\"container__subcategories position-relative mb-4 d-flex align-items-center\">\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    1\"\r\n class=\"container__subcategories position-relative mb-4 d-flex align-items-center\">\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n {{ 'Filtros' | translate }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{city.name}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{zone.name}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{month}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \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 const Eco = '';\r\n","export const Google = '';\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { FeatherModule } from 'angular-feather';\r\nimport * as icon from 'angular-feather/icons';\r\nimport { Eco } from './eco';\r\nimport { Google } from './google';\r\nimport { Land } from './land';\r\nimport { Sea } from './sea';\r\n\r\n// Select some icons (use an object, not an array)\r\nconst icons = {\r\n AlertTriangle: icon.AlertTriangle,\r\n ArrowRightCircle: icon.ArrowRightCircle,\r\n Calendar: icon.Calendar,\r\n Camera: icon.Camera,\r\n CheckCircle: icon.CheckCircle,\r\n ChevronDown: icon.ChevronDown,\r\n ChevronLeft: icon.ChevronLeft,\r\n ChevronRight: icon.ChevronRight,\r\n ChevronUp: icon.ChevronUp,\r\n Clock: icon.Clock,\r\n Eco: Eco,\r\n Facebook: icon.Facebook,\r\n Globe: icon.Globe,\r\n Google: Google,\r\n Heart: icon.Heart,\r\n HelpCircle: icon.HelpCircle,\r\n Instagram: icon.Instagram,\r\n Key: icon.Key,\r\n Land: Land,\r\n Linkedin: icon.Linkedin,\r\n Lock: icon.Lock,\r\n LogIn: icon.LogIn,\r\n LogOut: icon.LogOut,\r\n Mail: icon.Mail,\r\n MapPin: icon.MapPin,\r\n Menu: icon.Menu,\r\n MessageCircle: icon.MessageCircle,\r\n MessageSquare: icon.MessageSquare,\r\n Minus: icon.Minus,\r\n Phone: icon.Phone,\r\n PlayCircle: icon.PlayCircle,\r\n Plus: icon.Plus,\r\n Sea: Sea,\r\n Smartphone: icon.Smartphone,\r\n Twitter: icon.Twitter,\r\n User: icon.User,\r\n Wind: icon.Wind,\r\n X: icon.X,\r\n FolderPlus: icon.FolderPlus,\r\n Folder: icon.Folder\r\n};\r\n\r\n@NgModule({\r\n exports: [\r\n FeatherModule,\r\n ],\r\n imports: [\r\n FeatherModule.pick(icons),\r\n ],\r\n})\r\nexport class IconsModule { }\r\n","export const Land = '';\r\n","export const Sea = '';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Language, LanguageCollection } from './language.model';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class LanguagesService {\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n public postLanguage(language): Observable {\r\n return this.http\r\n .post(API_URL + '/languages', language);\r\n }\r\n\r\n public getLanguage(id: string): Observable {\r\n return this.http\r\n .get(API_URL + '/languages/' + id);\r\n }\r\n\r\n public getLanguages(language): Observable {\r\n return this.http\r\n .get(API_URL + '/languages', { headers: {\r\n 'Accept-Language': language\r\n }});\r\n }\r\n\r\n public deleteLanguage(experienceId: string): any {\r\n return this.http.delete(API_URL + '/languages/' + experienceId);\r\n }\r\n\r\n public putLanguage(languageId: string, language: Language): Observable {\r\n return this.http\r\n .put(API_URL + '/languages/' + languageId, language);\r\n }\r\n}\r\n","export interface CountryInterface {\r\n id: string;\r\n text: string;\r\n code: string;\r\n}\r\n\r\nexport class Country implements CountryInterface {\r\n id: string;\r\n text: string;\r\n code: string;\r\n\r\n constructor(values: any = {}) {\r\n Object.assign(this, values);\r\n }\r\n\r\n getName() {\r\n if (this['country']) {\r\n return this.text;\r\n }\r\n return this.text;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nimport { environment } from '../../../environments/environment';\r\nimport { Country, CountryInterface } from './country.model';\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class CountryService {\r\n\r\n countries: CountryInterface[] = [\r\n {'id': '65', 'text': 'España', 'code': 'ES'}\r\n // {'id': '3', 'text': 'Afganistán', 'code': 'AF'}, {'id': '6', 'text': 'Albania', 'code': 'AL'},\r\n // {'id': '54', 'text': 'Alemania', 'code': 'DE'}, {'id': '1', 'text': 'Andorra', 'code': 'AD'},\r\n // {'id': '9', 'text': 'Angola', 'code': 'AO'}, {'id': '5', 'text': 'Anguilla', 'code': 'AI'},\r\n // {'id': '10', 'text': 'Antártida', 'code': 'AQ'}, {'id': '4', 'text': 'Antigua y Barbuda', 'code': 'AG'},\r\n // {'id': '8', 'text': 'Antillas Holandesas', 'code': 'AN'}, {'id': '185', 'text': 'Arabia Saudí (o Saudita)', 'code': 'SA'},\r\n // {'id': '59', 'text': 'Argelia', 'code': 'DZ'}, {'id': '11', 'text': 'Argentina', 'code': 'AR'},\r\n // {'id': '7', 'text': 'Armenia', 'code': 'AM'}, {'id': '15', 'text': 'Aruba', 'code': 'AW'},\r\n // {'id': '14', 'text': 'Australia', 'code': 'AU'}, {'id': '13', 'text': 'Austria', 'code': 'AT'},\r\n // {'id': '16', 'text': 'Azerbaiyán', 'code': 'AZ'}, {'id': '30', 'text': 'Bahamas', 'code': 'BS'},\r\n // {'id': '23', 'text': 'Bahrain', 'code': 'BH'}, {'id': '19', 'text': 'Bangladesh', 'code': 'BD'},\r\n // {'id': '18', 'text': 'Barbados', 'code': 'BB'}, {'id': '20', 'text': 'Bélgica', 'code': 'BE'},\r\n // {'id': '35', 'text': 'Belice', 'code': 'BZ'}, {'id': '25', 'text': 'Benín', 'code': 'BJ'},\r\n // {'id': '26', 'text': 'Bermuda', 'code': 'BM'}, {'id': '34', 'text': 'Bielorrusia', 'code': 'BY'},\r\n // {'id': '28', 'text': 'Bolívia', 'code': 'BO'}, {'id': '17', 'text': 'Bosnia-Herzegovina', 'code': 'BA'},\r\n // {'id': '33', 'text': 'Botsuana', 'code': 'BW'}, {'id': '29', 'text': 'Brasil', 'code': 'BR'},\r\n // {'id': '27', 'text': 'Brunei', 'code': 'BN'}, {'id': '22', 'text': 'Bulgaria', 'code': 'BG'},\r\n // {'id': '21', 'text': 'Burkina Faso', 'code': 'BF'}, {'id': '24', 'text': 'Burundi', 'code': 'BI'},\r\n // {'id': '31', 'text': 'Bután', 'code': 'BT'}, {'id': '50', 'text': 'Cabo Verde', 'code': 'CV'},\r\n // {'id': '112', 'text': 'Camboya', 'code': 'KH'}, {'id': '45', 'text': 'Camerún', 'code': 'CM'},\r\n // {'id': '36', 'text': 'Canadá', 'code': 'CA'}, {'id': '205', 'text': 'Chad', 'code': 'TD'},\r\n // {'id': '44', 'text': 'Chile', 'code': 'CL'}, {'id': '46', 'text': 'China', 'code': 'CN'},\r\n // {'id': '52', 'text': 'Chipre', 'code': 'CY'}, {'id': '47', 'text': 'Colombia', 'code': 'CO'},\r\n // {'id': '114', 'text': 'Comoras', 'code': 'KM'}, {'id': '40', 'text': 'Congo', 'code': 'CG'},\r\n // {'id': '38', 'text': 'Congo, República Democrática del', 'code': 'CD'}, {'id': '42', 'text': 'Costa de Marfil', 'code': 'CI'},\r\n // {'id': '48', 'text': 'Costa Rica', 'code': 'CR'}, {'id': '95', 'text': 'Croacia', 'code': 'HR'},\r\n // {'id': '49', 'text': 'Cuba', 'code': 'CU'}, {'id': '56', 'text': 'Dinamarca', 'code': 'DK'},\r\n // {'id': '57', 'text': 'Dominica', 'code': 'DM'}, {'id': '60', 'text': 'Ecuador', 'code': 'EC'},\r\n // {'id': '62', 'text': 'Egipto', 'code': 'EG'}, {'id': '201', 'text': 'El Salvador', 'code': 'SV'},\r\n // {'id': '2', 'text': 'Emiratos Árabes Unidos', 'code': 'AE'}, {'id': '64', 'text': 'Eritrea', 'code': 'ER'},\r\n // {'id': '194', 'text': 'Eslovaquia', 'code': 'SK'}, {'id': '192', 'text': 'Eslovenia', 'code': 'SI'},\r\n // {'id': '65', 'text': 'España', 'code': 'ES'}, {'id': '223', 'text': 'Estados Unidos (EE.UU)', 'code': 'US'},\r\n // {'id': '61', 'text': 'Estonia', 'code': 'EE'}, {'id': '66', 'text': 'Etiopía', 'code': 'ET'},\r\n // {'id': '69', 'text': 'Fiji', 'code': 'FJ'}, {'id': '170', 'text': 'Filipinas', 'code': 'PH'},\r\n // {'id': '68', 'text': 'Finlandia', 'code': 'FI'}, {'id': '73', 'text': 'Francia', 'code': 'FR'},\r\n // {'id': '74', 'text': 'Gabón', 'code': 'GA'}, {'id': '82', 'text': 'Gambia', 'code': 'GM'},\r\n // {'id': '77', 'text': 'Georgia', 'code': 'GE'}, {'id': '87', 'text': 'Georgia del Sr y Sandwich del Sur', 'code': 'GS'},\r\n // {'id': '79', 'text': 'Ghana', 'code': 'GH'}, {'id': '80', 'text': 'Gibraltar', 'code': 'GI'},\r\n // {'id': '86', 'text': 'Grecia', 'code': 'GR'}, {'id': '76', 'text': 'Grenada', 'code': 'GD'},\r\n // {'id': '81', 'text': 'Groenlandia', 'code': 'GL'}, {'id': '84', 'text': 'Guadalupe', 'code': 'GP'},\r\n // {'id': '89', 'text': 'Guam', 'code': 'GU'}, {'id': '88', 'text': 'Guatemala', 'code': 'GT'},\r\n // {'id': '78', 'text': 'Guayana Francesa', 'code': 'GF'}, {'id': '83', 'text': 'Guinea', 'code': 'GN'},\r\n // {'id': '90', 'text': 'Guinea Bissau', 'code': 'GW'}, {'id': '85', 'text': 'Guinea Equatorial', 'code': 'GQ'},\r\n // {'id': '91', 'text': 'Guyana', 'code': 'GY'}, {'id': '96', 'text': 'Haití', 'code': 'HT'},\r\n // {'id': '256', 'text': 'Hegoalde', 'code': ''}, {'id': '242', 'text': 'Holanda', 'code': 'NL'},\r\n // {'id': '94', 'text': 'Honduras', 'code': 'HN'}, {'id': '92', 'text': 'Hong Kong', 'code': 'HK'},\r\n // {'id': '97', 'text': 'Hungría', 'code': 'HU'}, {'id': '101', 'text': 'India', 'code': 'IN'},\r\n // {'id': '98', 'text': 'Indonesia', 'code': 'ID'}, {'id': '255', 'text': 'Iparralde', 'code': ''},\r\n // {'id': '103', 'text': 'Irak', 'code': 'IQ'}, {'id': '104', 'text': 'Irán', 'code': 'IR'},\r\n // {'id': '99', 'text': 'Irlanda', 'code': 'IE'}, {'id': '32', 'text': 'Isla Bouvet', 'code': 'BV'},\r\n // {'id': '105', 'text': 'Islandia', 'code': 'IS'}, {'id': '119', 'text': 'Islas Caimán', 'code': 'KY'},\r\n // {'id': '51', 'text': 'Islas Christmas', 'code': 'CX'}, {'id': '37', 'text': 'Islas Cocos (Keeling)', 'code': 'CC'},\r\n // {'id': '43', 'text': 'Islas Cook', 'code': 'CK'}, {'id': '93', 'text': 'Islas de Heard y McDonald', 'code': 'HM'},\r\n // {'id': '72', 'text': 'Islas Feroe', 'code': 'FO'}, {'id': '70', 'text': 'Islas Malvinas', 'code': 'FK'},\r\n // {'id': '142', 'text': 'Islas Marianas del Norte', 'code': 'MP'}, {'id': '136', 'text': 'Islas Marshall', 'code': 'MH'},\r\n // {'id': '156', 'text': 'Islas Norfolk', 'code': 'NF'},\r\n // {'id': '222', 'text': 'Islas Periféricas Menores de los Estados Unidos', 'code': 'UM'},\r\n // {'id': '174', 'text': 'Islas Pitcairn', 'code': 'PN'}, {'id': '186', 'text': 'Islas Salomón', 'code': 'SB'},\r\n // {'id': '229', 'text': 'Islas Vírgenes Británicas', 'code': 'VG'},\r\n // {'id': '230', 'text': 'Islas Vírgenes de Estados Unidos', 'code': 'VI'},\r\n // {'id': '100', 'text': 'Israel', 'code': 'IL'}, {'id': '106', 'text': 'Italia', 'code': 'IT'},\r\n // {'id': '107', 'text': 'Jamaica', 'code': 'JM'}, {'id': '109', 'text': 'Japón', 'code': 'JP'},\r\n // {'id': '108', 'text': 'Jordania', 'code': 'JO'}, {'id': '120', 'text': 'Kazajstán', 'code': 'KZ'},\r\n // {'id': '110', 'text': 'Kenya', 'code': 'KE'}, {'id': '111', 'text': 'Kirguistán', 'code': 'KG'},\r\n // {'id': '113', 'text': 'Kiribati', 'code': 'KI'}, {'id': '116', 'text': 'Korea del Norte', 'code': 'KP'},\r\n // {'id': '117', 'text': 'Korea del Sur', 'code': 'KR'}, {'id': '118', 'text': 'Kuwait', 'code': 'KW'},\r\n // {'id': '121', 'text': 'Laos', 'code': 'LA'}, {'id': '127', 'text': 'Lesotho', 'code': 'LS'},\r\n // {'id': '130', 'text': 'Letonia', 'code': 'LV'}, {'id': '122', 'text': 'Líbano', 'code': 'LB'},\r\n // {'id': '126', 'text': 'Liberia', 'code': 'LR'}, {'id': '131', 'text': 'Libia', 'code': 'LY'},\r\n // {'id': '124', 'text': 'Liechtenstein', 'code': 'LI'}, {'id': '128', 'text': 'Lituania', 'code': 'LT'},\r\n // {'id': '129', 'text': 'Luxemburgo', 'code': 'LU'}, {'id': '141', 'text': 'Macao', 'code': 'MO'},\r\n // {'id': '137', 'text': 'Macedonia', 'code': 'MK'}, {'id': '135', 'text': 'Madagascar', 'code': 'MG'},\r\n // {'id': '151', 'text': 'Malasia', 'code': 'MY'}, {'id': '149', 'text': 'Malawi', 'code': 'MW'},\r\n // {'id': '148', 'text': 'Maldivas', 'code': 'MV'}, {'id': '138', 'text': 'Mali', 'code': 'ML'},\r\n // {'id': '146', 'text': 'Malta', 'code': 'MT'}, {'id': '132', 'text': 'Marruecos', 'code': 'MA'},\r\n // {'id': '143', 'text': 'Martinica', 'code': 'MQ'}, {'id': '147', 'text': 'Mauricio', 'code': 'MU'},\r\n // {'id': '144', 'text': 'Mauritania', 'code': 'MR'}, {'id': '236', 'text': 'Mayotte', 'code': 'YT'},\r\n // {'id': '150', 'text': 'México', 'code': 'MX'}, {'id': '71', 'text': 'Micronesia', 'code': 'FM'},\r\n // {'id': '134', 'text': 'Moldavia', 'code': 'MD'}, {'id': '133', 'text': 'Mónaco', 'code': 'MC'},\r\n // {'id': '140', 'text': 'Mongolia', 'code': 'MN'}, {'id': '243', 'text': 'Montenegro', 'code': 'ME'},\r\n // {'id': '145', 'text': 'Montserrat', 'code': 'MS'}, {'id': '152', 'text': 'Mozambique', 'code': 'MZ'},\r\n // {'id': '139', 'text': 'Myanmar', 'code': 'MM'}, {'id': '153', 'text': 'Namibia', 'code': 'NA'},\r\n // {'id': '162', 'text': 'Nauru', 'code': 'NR'}, {'id': '161', 'text': 'Nepal', 'code': 'NP'},\r\n // {'id': '158', 'text': 'Nicaragua', 'code': 'NI'}, {'id': '155', 'text': 'Niger', 'code': 'NE'},\r\n // {'id': '157', 'text': 'Nigeria', 'code': 'NG'}, {'id': '163', 'text': 'Niue', 'code': 'NU'},\r\n // {'id': '160', 'text': 'Noruega', 'code': 'NO'}, {'id': '154', 'text': 'Nueva Caledonia', 'code': 'NC'},\r\n // {'id': '164', 'text': 'Nueva Zelanda', 'code': 'NZ'}, {'id': '165', 'text': 'Omán', 'code': 'OM'},\r\n // {'id': '159', 'text': 'Países Bajos', 'code': 'NL'}, {'id': '171', 'text': 'Pakistán', 'code': 'PK'},\r\n // {'id': '178', 'text': 'Palau', 'code': 'PW'}, {'id': '176', 'text': 'Palestina', 'code': 'PS'},\r\n // {'id': '166', 'text': 'Panamá', 'code': 'PA'}, {'id': '169', 'text': 'Papúa Nueva Guinea', 'code': 'PG'},\r\n // {'id': '179', 'text': 'Paraguay', 'code': 'PY'}, {'id': '167', 'text': 'Perú', 'code': 'PE'},\r\n // {'id': '168', 'text': 'Polinesia Francesa', 'code': 'PF'}, {'id': '172', 'text': 'Polonia', 'code': 'PL'},\r\n // {'id': '177', 'text': 'Portugal', 'code': 'PT'}, {'id': '175', 'text': 'Puerto Rico', 'code': 'PR'},\r\n // {'id': '180', 'text': 'Qatar', 'code': 'QA'}, {'id': '75', 'text': 'Reino Unido', 'code': 'GB'},\r\n // {'id': '39', 'text': 'República Centroafricana', 'code': 'CF'}, {'id': '53', 'text': 'República Checa', 'code': 'CZ'},\r\n // {'id': '58', 'text': 'República Dominicana', 'code': 'DO'}, {'id': '181', 'text': 'Reunión', 'code': 'RE'},\r\n // {'id': '184', 'text': 'Ruanda', 'code': 'RW'}, {'id': '182', 'text': 'Rumanía', 'code': 'RO'},\r\n // {'id': '183', 'text': 'Rusia', 'code': 'RU'}, {'id': '63', 'text': 'Sáhara Occidental', 'code': 'EH'},\r\n // {'id': '234', 'text': 'Samoa', 'code': 'WS'}, {'id': '12', 'text': 'Samoa Americana', 'code': 'AS'},\r\n // {'id': '115', 'text': 'San Cristóbal y Nieves', 'code': 'KN'}, {'id': '196', 'text': 'San Marino', 'code': 'SM'},\r\n // {'id': '173', 'text': 'San Pedro y Miquelón', 'code': 'PM'}, {'id': '227', 'text': 'San Vicente y las Granadinas', 'code': 'VC'},\r\n // {'id': '191', 'text': 'Santa Helena', 'code': 'SH'}, {'id': '123', 'text': 'Santa Lucía', 'code': 'LC'},\r\n // {'id': '200', 'text': 'Sao Tomé y Príncipe', 'code': 'ST'}, {'id': '197', 'text': 'Senegal', 'code': 'SN'},\r\n // {'id': '244', 'text': 'Serbia', 'code': 'RS'}, {'id': '187', 'text': 'Seychelles', 'code': 'SC'},\r\n // {'id': '195', 'text': 'Sierra Leone', 'code': 'SL'}, {'id': '190', 'text': 'Singapur', 'code': 'SG'},\r\n // {'id': '202', 'text': 'Siria', 'code': 'SY'}, {'id': '198', 'text': 'Somalia', 'code': 'SO'},\r\n // {'id': '125', 'text': 'Sri Lanka', 'code': 'LK'}, {'id': '238', 'text': 'Sudáfrica, República de', 'code': 'ZA'},\r\n // {'id': '188', 'text': 'Sudán', 'code': 'SD'}, {'id': '189', 'text': 'Suecia', 'code': 'SE'},\r\n // {'id': '41', 'text': 'Suiza', 'code': 'CH'}, {'id': '199', 'text': 'Surinam', 'code': 'SR'},\r\n // {'id': '193', 'text': 'Svalbard y Jan Mayen', 'code': 'SJ'}, {'id': '203', 'text': 'Swazilandia', 'code': 'SZ'},\r\n // {'id': '209', 'text': 'Tadjikistán', 'code': 'TJ'}, {'id': '218', 'text': 'Taiwán', 'code': 'TW'},\r\n // {'id': '219', 'text': 'Tanzania', 'code': 'TZ'}, {'id': '102', 'text': 'Territorio Británico del Oceano Índico', 'code': 'IO'},\r\n // {'id': '206', 'text': 'Territorios Franceses del Sur', 'code': 'TF'}, {'id': '208', 'text': 'Thailandia', 'code': 'TH'},\r\n // {'id': '214', 'text': 'Timor Oriental', 'code': 'TP'}, {'id': '207', 'text': 'Togo', 'code': 'TG'},\r\n // {'id': '210', 'text': 'Tokelau', 'code': 'TK'}, {'id': '213', 'text': 'Tonga', 'code': 'TO'},\r\n // {'id': '216', 'text': 'Trinidad y Tobago', 'code': 'TT'}, {'id': '212', 'text': 'Túnez', 'code': 'TN'},\r\n // {'id': '204', 'text': 'Turcos y Caicos', 'code': 'TC'}, {'id': '211', 'text': 'Turkmenistán', 'code': 'TM'},\r\n // {'id': '215', 'text': 'Turquía', 'code': 'TR'}, {'id': '217', 'text': 'Tuvalu', 'code': 'TV'},\r\n // {'id': '220', 'text': 'Ucrania', 'code': 'UA'}, {'id': '221', 'text': 'Uganda', 'code': 'UG'},\r\n // {'id': '67', 'text': 'Unión Europea', 'code': 'EU'}, {'id': '224', 'text': 'Uruguay', 'code': 'UY'},\r\n // {'id': '225', 'text': 'Uzbekistán', 'code': 'UZ'}, {'id': '232', 'text': 'Vanuatu', 'code': 'VU'},\r\n // {'id': '226', 'text': 'Vaticano', 'code': 'VA'}, {'id': '228', 'text': 'Venezuela', 'code': 'VE'},\r\n // {'id': '231', 'text': 'Vietnam', 'code': 'VN'}, {'id': '233', 'text': 'Wallis y Futuna', 'code': 'WF'},\r\n // {'id': '235', 'text': 'Yemen', 'code': 'YE'}, {'id': '55', 'text': 'Yibouti', 'code': 'DJ'},\r\n // {'id': '237', 'text': 'Yugoslavia', 'code': 'YU'}, {'id': '240', 'text': 'Zaire', 'code': 'ZR'},\r\n // {'id': '239', 'text': 'Zambia', 'code': 'ZM'}, {'id': '241', 'text': 'Zimbabwe', 'code': 'ZW'}\r\n ];\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n public getCountries(): Observable {\r\n return of(this.countries);\r\n }\r\n}\r\n","import { Experience } from '../../pages/experiences/experiences/experience.model';\r\n\r\n\r\nexport class LocationCollection {\r\n total: number;\r\n locations: Location[];\r\n}\r\n\r\nexport class Location {\r\n id: number;\r\n name: string;\r\n country: string;\r\n experiences?: Experience[];\r\n\r\n constructor(values: any = {}) {\r\n Object.assign(this, values);\r\n }\r\n\r\n getName() {\r\n if (this['experiences']) {\r\n return this.name;\r\n }\r\n return this.name;\r\n }\r\n\r\n getNameAndEventCount() {\r\n if (this['experiences']) {\r\n return this.name + ' (' + this.experiences.length + ')';\r\n }\r\n return this.name;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { environment } from '../../../environments/environment';\r\nimport { Location, LocationCollection } from './location.model';\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class LocationService {\r\n constructor(private http: HttpClient) {}\r\n\r\n public getLocationsFiltered(\r\n filters: any = {},\r\n language\r\n ): Observable {\r\n let httpParams = new HttpParams();\r\n if (filters['per_page']) {\r\n httpParams = httpParams.set('itemsPerPage', String(filters['per_page']));\r\n } else {\r\n httpParams = httpParams.set('itemsPerPage', '100');\r\n }\r\n\r\n if (filters['country']) {\r\n if (typeof filters['country'] === 'object') {\r\n httpParams = httpParams.set(\r\n 'country',\r\n String(filters['country']['code'])\r\n );\r\n }\r\n if (typeof filters['country'] === 'string') {\r\n httpParams = httpParams.set('country', String(filters['country']));\r\n }\r\n } else {\r\n httpParams = httpParams.set('country', 'es');\r\n }\r\n\r\n return this.http\r\n .get(API_URL + '/locations', {\r\n params: httpParams,\r\n headers: {\r\n 'Accept-Language': language,\r\n },\r\n })\r\n .pipe(\r\n map((res: Response) => {\r\n return res['hydra:member'].map((item) => {\r\n return new Location(item);\r\n });\r\n })\r\n );\r\n }\r\n\r\n public getLocationsByResellerId(\r\n resellerId: number\r\n ): Observable {\r\n return this.http.get(\r\n API_URL + '/resellers/' + resellerId + '/locations'\r\n );\r\n }\r\n\r\n public getActiveLocations(): Observable {\r\n return this.http.get(\r\n API_URL + '/locations?exists[experiences]=true'\r\n );\r\n }\r\n\r\n public getMakerActiveLocations(): Observable {\r\n return this.http.get(\r\n API_URL + '/locations?exists[makers]=true'\r\n );\r\n }\r\n\r\n public getResellerActiveLocations(): Observable {\r\n return this.http.get(\r\n API_URL + '/locations?exists[resellers]=true'\r\n );\r\n }\r\n\r\n public getLocations(filters?: any): Observable {\r\n if (filters === undefined) {\r\n filters = {};\r\n }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['name']) {\r\n httpParams = httpParams.set('name', String(filters.name));\r\n }\r\n\r\n if (filters['isFavorites']) {\r\n httpParams = httpParams.append(\r\n 'resellers.id[]',\r\n String(filters.resellerId)\r\n );\r\n }\r\n\r\n return this.http.get(API_URL + '/locations', {\r\n params: httpParams,\r\n });\r\n }\r\n\r\n public getLocation(id: number): Observable {\r\n return this.http.get(API_URL + '/locations/' + id.toString());\r\n }\r\n\r\n public postLocation(location): Observable {\r\n return this.http.post(API_URL + '/locations', location);\r\n }\r\n\r\n public deleteLocation(locationId: string): any {\r\n return this.http.delete(API_URL + '/locations/' + locationId);\r\n }\r\n\r\n public putLocation(\r\n locationId: number,\r\n location: Location\r\n ): Observable {\r\n return this.http.put(\r\n API_URL + '/locations/' + locationId,\r\n location\r\n );\r\n }\r\n\r\n\r\n public getZonesFiltered(locationIri: string, filters: any = {}): Observable {\r\n\r\n let httpParams = new HttpParams();\r\n\r\n return this.http\r\n .get(API_URL + '/zones?location=' + locationIri, {\r\n params: httpParams,\r\n })\r\n .pipe(\r\n map((res: Response) => {\r\n return res['hydra:member'].map((item) => {\r\n return new Location(item);\r\n });\r\n }\r\n ));\r\n\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport KeenSlider, { KeenSliderInstance } from 'keen-slider';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { TakerService } from 'src/app/pages/shared/taker.service';\r\nimport { Taker } from 'src/app/pages/taker/taker-profile/taker.model';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-maker-card',\r\n templateUrl: './maker-card.component.html',\r\n styleUrls: ['./maker-card.component.scss', '../../../../node_modules/keen-slider/keen-slider.min.css']\r\n})\r\nexport class MakerCardComponent implements OnInit {\r\n\r\n @Input() maker;\r\n @Input() isDashboard = false;\r\n @Input() isFooterActive;\r\n\r\n @ViewChild(\"photosSlider\") photosSlider: ElementRef;\r\n @ViewChild('autoShownModal', { static: false }) autoShownModal: ModalDirective;\r\n\r\n currentSlide: number = 0\r\n dotHelper: Array = []\r\n slider: KeenSliderInstance = null\r\n\r\n\r\n takerExperiences = [];\r\n isAlertShown = false;\r\n shownDays = [\r\n { value: 0, text: 'Todos los días' },\r\n { value: 1, text: 'Lun' },\r\n { value: 2, text: 'Mar' },\r\n { value: 3, text: 'Mié' },\r\n { value: 4, text: 'Jue' },\r\n { value: 5, text: 'Vie' },\r\n { value: 6, text: 'Sáb' },\r\n { value: 7, text: 'Dom' },\r\n ];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private takerService: TakerService,\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n/* ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.slider = new KeenSlider(this.photosSlider.nativeElement, {\r\n initial: this.currentSlide,\r\n slideChanged: (s) => {\r\n this.currentSlide = s.track.details.rel\r\n },\r\n })\r\n this.dotHelper = [\r\n ...Array(this.slider.track.details.slides.length).keys(),\r\n ]\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.slider) this.slider.destroy()\r\n } */\r\n\r\n\r\n getUrl(isCivitatis, image) {\r\n return !isCivitatis ? 'https://venntur.com/assets/maker/files/' + image : image;\r\n }\r\n\r\n clickFavorite(event, experienceId) {\r\n if (this.takerService.getId()) {\r\n this.takerExperiences.includes(experienceId) ?\r\n this.takerExperiences.splice(this.takerExperiences.indexOf(experienceId), 1) : this.takerExperiences.push(experienceId);\r\n const taker = {\r\n favoriteExperiences: this.takerExperiences\r\n };\r\n const editedTaker = new Taker(taker);\r\n this.takerService.putTaker(this.takerService.getId(), editedTaker).subscribe();\r\n } else {\r\n this.isAlertShown = true;\r\n }\r\n }\r\n\r\n shareExperience(experience) {\r\n var enlace = 'https://venntur.com/product/' + experience.slug;\r\n var mensaje = '¡Mira esta experiencia en Venntur!';\r\n\r\n mensaje = encodeURIComponent(mensaje);\r\n enlace = encodeURIComponent(enlace);\r\n\r\n var enlaceWhatsApp = 'https://wa.me/?text=' + mensaje + '%20' + enlace;\r\n\r\n window.open(enlaceWhatsApp);\r\n\r\n }\r\n\r\n setCategoryTitle(experience) {\r\n //return experience.categories.map(obj => obj.name).join(' / ')\r\n }\r\n\r\n setLanguagesTitle(experience) {\r\n //return experience.languages.map(obj => obj.name).join(' , ')\r\n }\r\n\r\n convertTimeToCustomFormat(inputTime: string): string {\r\n let formattedText;\r\n const [hours, minutes] = inputTime.split(':').map(part => parseInt(part, 10));\r\n\r\n if (minutes != 0) {\r\n formattedText = hours + ' h y ' + minutes + ' min'\r\n } else {\r\n formattedText = hours + ' h'\r\n }\r\n\r\n return formattedText;\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n onHidden(): void {\r\n this.isAlertShown = 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 \"{{maker.name}}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n 0 ? maker.mediaMakers[0].contentUrl : 'assets/venntur-isotype-70.png')\"\r\n alt=\"{{maker.name}}\" title=\"{{maker.name}}\">\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n

    {{maker.name}}

    \r\n\r\n Nº de productos:\r\n {{maker.experiences.length}}\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n Categorías:\r\n\r\n
    0\">\r\n {{category[1]}} ,\r\n \r\n
    \r\n\r\n
    \r\n \r\n No hay categorías\r\n \r\n
    \r\n\r\n\r\n Subcategorías:\r\n\r\n
    0\">\r\n {{subcategory[1]}}\r\n ,\r\n \r\n
    \r\n\r\n
    \r\n \r\n No hay subcategorías\r\n \r\n
    \r\n\r\n\r\n \r\n Tecnología de reservas\r\n \r\n
    \r\n\r\n
    \r\n \"\"\r\n \"\"\r\n \"\"\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n

    Inicia sesión y añade actividades a tus favoritos

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-maker-cta',\r\n styleUrls: ['./maker-cta.component.scss'],\r\n templateUrl: './maker-cta.component.html',\r\n})\r\nexport class MakerCtaComponent implements OnInit {\r\n public status: boolean = false;\r\n\r\n constructor(\r\n public translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public openContent() {\r\n this.status = !this.status;\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n\t\t
    \r\n \r\n
    \r\n\t
    \r\n
    \r\n
    \r\n \r\n

    {{ '¿Eres maker?' | translate}}

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

    {{ 'Si eres propietario o gestor de una actividad en destino turístico, estás en el sitio adecuado. Gracias por dedicar un minuto a conocernos.' | translate}}

    \r\n \t\t\t

    {{ '¿Quieres saber más?' | translate}}

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

    {{ 'Regístrate' | translate}} {{ 'como maker' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n","import { Component, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output, TemplateRef, ElementRef, ViewChild } from '@angular/core';\r\nimport { CategoriesService } from '../categories/categories.service';\r\nimport { LocationService } from '../locations/location.service';\r\nimport { TagsService } from '../tags/tags.service';\r\nimport { FormArray, UntypedFormBuilder, FormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport KeenSlider, { KeenSliderInstance } from \"keen-slider\"\r\n\r\n\r\n@Component({\r\n selector: 'app-maker-search',\r\n styleUrls: [\r\n './maker-search.component.scss',\r\n '../../../../node_modules/keen-slider/keen-slider.min.css',\r\n ],\r\n templateUrl: './maker-search.component.html',\r\n})\r\nexport class MakerSearch implements OnInit, OnDestroy {\r\n @Input() parentVariable: string;\r\n @Input() totalExperiences: any;\r\n @Output() parentVariableChange = new EventEmitter();\r\n\r\n @ViewChild(\"catSlider\") catSlider: ElementRef;\r\n @ViewChild(\"subcatSlider1\") subcatSlider1: ElementRef;\r\n @ViewChild(\"subcatSlider2\") subcatSlider2: ElementRef;\r\n // private _slider: any = null;\r\n totalslides: number;\r\n currentSlide: number = 0;\r\n currentsubSlide1: number = 0;\r\n currentsubSlide2: number = 0;\r\n doResize: boolean = false;\r\n\r\n slider: KeenSliderInstance = null;\r\n subslider1: KeenSliderInstance = null;\r\n subslider2: KeenSliderInstance = null;\r\n\r\n\r\n experienceSearchForm: UntypedFormGroup;\r\n cities = [];\r\n zones = [];\r\n categories = null;\r\n subcategories = [];\r\n subcategories1 = [];\r\n subcategories2 = [];\r\n tags = null;\r\n searchUrl = null;\r\n citySelected = null;\r\n searchHome = true;\r\n isTagsCollapsed = false;\r\n screenWidth: number;\r\n modalRef: BsModalRef;\r\n total = 0;\r\n parentsSelected = [];\r\n parentsIndexSelected = [];\r\n iconsArray = [];\r\n monthsWithYear: string[];\r\n\r\n categoryTotals = 0;\r\n\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n public locationService: LocationService,\r\n public categoriesService: CategoriesService,\r\n public tagsService: TagsService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n public translate: TranslateService,\r\n private modalService: BsModalService,\r\n ) {\r\n this.createForm();\r\n\r\n this.searchHome = this.activatedRoute.snapshot.routeConfig.path === ':lang'\r\n || this.activatedRoute.snapshot.routeConfig.path === '';\r\n this.locationService.getActiveLocations().subscribe(locations => {\r\n this.cities = locations['hydra:member'];\r\n if (this.activatedRoute.snapshot.queryParams['localidad']) {\r\n this.experienceSearchForm.get('location').setValue(parseInt(this.activatedRoute.snapshot.queryParams['localidad']));\r\n this.searchExperiences(true);\r\n }\r\n });\r\n setTimeout(() => {\r\n this.categoriesService.getActiveCategories(this.translate.getDefaultLang()).subscribe(categories => {\r\n this.categories = categories['hydra:member'].slice(0, 9);\r\n setTimeout(() => {\r\n if (this.activatedRoute.snapshot.queryParams['categorias']) {\r\n this.activatedRoute.snapshot.queryParams['categorias'].split(',').forEach(categoryId => {\r\n document.getElementById(categoryId.toString())['checked'] = true;\r\n });\r\n }\r\n }, 0);\r\n });\r\n }, 1000);\r\n setTimeout(() => {\r\n this.tagsService.getTags(this.translate.getDefaultLang()).subscribe(tags => {\r\n this.tags = tags['hydra:member'];\r\n setTimeout(() => {\r\n if (this.activatedRoute.snapshot.queryParams['etiquetas']) {\r\n this.activatedRoute.snapshot.queryParams['etiquetas'].split(',').forEach(tagId => {\r\n document.getElementById('tag-' + tagId.toString())['checked'] = true;\r\n });\r\n }\r\n }, 0);\r\n });\r\n }, 1000);\r\n\r\n this.getScreenSize();\r\n\r\n // Months on filter modal\r\n const monthNames = [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\",\r\n \"Mayo\", \"Junio\", \"Julio\", \"Agosto\",\r\n \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"];\r\n const today = new Date;\r\n this.monthsWithYear = Array.from({ length: 12 }, (_, i) => {\r\n const month = (today.getMonth() + i) % 12;\r\n const year = today.getFullYear() + Math.floor((today.getMonth() + i) / 12);\r\n return `${monthNames[month]} ${year}`;\r\n });\r\n // End of months on filter modal\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.totalslides = 9;\r\n window.dispatchEvent(new Event('resize'));\r\n }\r\n\r\n openFilterModal(template: TemplateRef) {\r\n this.modalRef = this.modalService.show(template);\r\n }\r\n\r\n createForm() {\r\n this.experienceSearchForm = this.formBuilder.group({\r\n location: [null,\r\n Validators.required\r\n ],\r\n area: [null,\r\n Validators.required\r\n ],\r\n date: [null,\r\n Validators.required\r\n ]\r\n });\r\n }\r\n\r\n getLocation() {\r\n let currentCity = 'Todos los destinos';\r\n this.cities.forEach((city: any) => {\r\n if (city.id == this.experienceSearchForm.get('location').value) {\r\n currentCity = city.name;\r\n return;\r\n }\r\n });\r\n return currentCity;\r\n }\r\n\r\n getZone() {\r\n let currentZone = 'Todas las zonas';\r\n this.zones.forEach((city: any) => {\r\n if (city['@id'].replace('/zones/', '') == this.experienceSearchForm.get('area').value) {\r\n currentZone = city.name;\r\n return;\r\n }\r\n });\r\n return currentZone;\r\n }\r\n\r\n getDate() {\r\n if (this.experienceSearchForm.get('date').value) {\r\n return this.monthsWithYear[this.experienceSearchForm.get('date').value]\r\n } else {\r\n return 'Todas las fechas';\r\n }\r\n }\r\n\r\n searchExperiences(isClicked, event?: any) {\r\n this.searchUrl = this.translate.getDefaultLang() + '/experiencias?';\r\n let categories = [];\r\n\r\n // if (index >= 0) {\r\n // this.parentsIndexSelected = index;\r\n // }\r\n\r\n if (!isClicked) {\r\n if (!this.parentsSelected.includes(event.target.id)) {\r\n this.parentsSelected = [];\r\n categories.push(event.target.id);\r\n this.parentsSelected.push(event.target.id);\r\n } else {\r\n this.parentsSelected = [];\r\n }\r\n\r\n Array.from(document.getElementsByClassName('category-input')).forEach((categoryElement: any) => {\r\n categoryElement.checked = false;\r\n });\r\n }\r\n\r\n if (this.searchHome && isClicked || !this.searchHome) {\r\n let tags = [];\r\n if (this.experienceSearchForm.get('location').value) {\r\n this.searchUrl += 'localidad=' + this.experienceSearchForm.get('location').value;\r\n this.locationService.getZonesFiltered(this.experienceSearchForm.get('location').value).subscribe(zones => {\r\n this.zones = zones;\r\n })\r\n }\r\n\r\n if (this.experienceSearchForm.get('area').value) {\r\n this.searchUrl += '&zonas=' + this.experienceSearchForm.get('area').value;\r\n }\r\n\r\n if (this.experienceSearchForm.get('date').value) {\r\n if (new Date().getMonth() + this.experienceSearchForm.get('date').value < 12) {\r\n this.searchUrl += '&monthsString=' + (new Date().getMonth() + parseInt(this.experienceSearchForm.get('date').value));\r\n } else {\r\n this.searchUrl += '&monthsString=' + ((new Date().getMonth() + this.experienceSearchForm.get('date').value) - 12);\r\n }\r\n }\r\n\r\n let hasSubcategory = false;\r\n Array.from(document.getElementsByClassName('subcategory')).forEach(categoryElement => {\r\n if (categoryElement['checked'] && this.parentsSelected.length > 0) {\r\n categories.push(categoryElement.id);\r\n categories = categories.filter(category => category !== this.parentsSelected[this.parentsIndexSelected[0]]);\r\n // categories.push(this.parentsSelected[0]);\r\n hasSubcategory = true;\r\n }\r\n });\r\n\r\n Array.from(document.getElementsByClassName('tag')).forEach(tagElement => {\r\n if (tagElement['checked']) {\r\n tags.push(tagElement.id.replace('tag-', ''));\r\n }\r\n });\r\n if (!hasSubcategory) {\r\n if (this.parentsSelected.length > 0) {\r\n categories = this.parentsSelected[0];\r\n }\r\n }\r\n this.searchUrl += (categories.length > 0 ? '&categorias=' + categories : '') + (tags.length > 0 ? '&etiquetas=' + tags : '') + '&page=1';\r\n\r\n this.parentVariable = this.searchUrl;\r\n\r\n this.parentVariableChange.emit(this.parentVariable);\r\n\r\n if (event) {\r\n if (this.parentsSelected.length == 0) {\r\n event.target.checked = false;\r\n } else {\r\n event.target.checked = true;\r\n }\r\n this.setIcons(event);\r\n }\r\n\r\n if (!isClicked) {\r\n this.subcategories = [];\r\n\r\n if (this.iconsArray.length > 1) {\r\n this.categoriesService.getActiveCategoriesByParentId(this.iconsArray[0], this.translate.getDefaultLang()).subscribe(categories => {\r\n this.subcategories.push(categories['hydra:member']);\r\n\r\n this.categoriesService.getActiveCategoriesByParentId(this.iconsArray[1], this.translate.getDefaultLang()).subscribe(categories => {\r\n this.subcategories.push(categories['hydra:member']);\r\n });\r\n });\r\n } else {\r\n this.categoriesService.getActiveCategoriesByParentId(this.iconsArray[0], this.translate.getDefaultLang()).subscribe(categories => {\r\n this.subcategories.push(categories['hydra:member']);\r\n });\r\n }\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n this.subslider1 = new KeenSlider(this.subcatSlider1.nativeElement, {\r\n loop: false,\r\n mode: \"snap\",\r\n initial: this.currentsubSlide1,\r\n slideChanged: (s) => {\r\n this.currentsubSlide1 = s.track.details.rel\r\n },\r\n rtl: false,\r\n slides: { perView: \"auto\" },\r\n })\r\n }, 1000);\r\n\r\n // setTimeout(() => {\r\n // this.subslider2 = new KeenSlider(this.subcatSlider2.nativeElement, {\r\n // loop: false,\r\n // mode: \"snap\",\r\n // initial: this.currentsubSlide2,\r\n // slideChanged: (s) => {\r\n // this.currentsubSlide2 = s.track.details.rel\r\n // },\r\n // rtl: false,\r\n // slides: { perView: \"auto\" },\r\n // })\r\n // }, 1000);\r\n }\r\n\r\n removeFilters() {\r\n this.searchUrl = this.translate.getDefaultLang() + '/experiencias?localidad=' + this.experienceSearchForm.get('location').value;\r\n this.parentVariable = this.searchUrl;\r\n console.log(this.searchUrl)\r\n\r\n this.parentVariableChange.emit(this.parentVariable);\r\n }\r\n\r\n setIcons(event: any) {\r\n this.iconsArray = [event.target.id];\r\n // if (event.target.checked) {\r\n // this.iconsArray.push(event.target.id)\r\n // } else {\r\n // this.iconsArray = this.iconsArray.filter(item => item !== event.target.id);\r\n // }\r\n // this.iconsArray = this.iconsArray.sort((a, b) => a - b);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n getScreenSize(event?) {\r\n this.screenWidth = window.innerWidth;\r\n if (this.screenWidth < 992) {\r\n this.isTagsCollapsed = true;\r\n } else {\r\n this.isTagsCollapsed = false;\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.doResize = true\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.slider = new KeenSlider(this.catSlider.nativeElement, {\r\n loop: false,\r\n mode: \"snap\",\r\n initial: this.currentSlide,\r\n slideChanged: (s) => {\r\n this.currentSlide = s.track.details.rel\r\n },\r\n rtl: false,\r\n slides: { perView: \"auto\" },\r\n })\r\n }, 3000);\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n if (this.slider && this.doResize) {\r\n this.doResize = false\r\n }\r\n if (this.subslider1 && this.doResize) {\r\n this.doResize = false\r\n }\r\n if (this.subslider2 && this.doResize) {\r\n this.doResize = false\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.slider) this.slider.destroy()\r\n if (this.subslider1) this.subslider1.destroy()\r\n if (this.subslider2) this.subslider2.destroy()\r\n }\r\n\r\n trackByFn(index, item): number {\r\n return index; // or item.id\r\n }\r\n\r\n displayMonthIndex(date) {\r\n if (new Date().getMonth() + date > 11) {\r\n return new Date().getMonth() + date\r\n } else {\r\n return new Date().getMonth() + date - 12\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    {{ getLocation() | translate}}
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n \r\n
    0\"\r\n class=\"container__subcategories position-relative mb-4 d-flex align-items-center\">\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    1\"\r\n class=\"container__subcategories position-relative mb-4 d-flex align-items-center\">\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n {{ 'Filtros' | translate }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{city.name}}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, Input } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-modal-alert',\r\n templateUrl: './modal-alert.component.html',\r\n styleUrls: ['./modal-alert.component.scss']\r\n})\r\nexport class ModalAlertComponent {\r\n @Input()\r\n\r\n public alertMessage: string;\r\n public className: string;\r\n public iconClass: boolean;\r\n public status: boolean;\r\n\r\n constructor(public dialogRef: BsModalRef) { }\r\n\r\n confirm() {\r\n if (this.dialogRef.content.callback != null) {\r\n this.dialogRef.content.callback(true);\r\n this.dialogRef.hide();\r\n }\r\n }\r\n\r\n decline() {\r\n if (this.dialogRef.content.callback != null) {\r\n this.dialogRef.content.callback(false);\r\n this.dialogRef.hide();\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{alertMessage}}\r\n
    \r\n
    ","import { Component, ElementRef, Input, Output, ViewChild, EventEmitter } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ExperiencesService } from 'src/app/pages/experiences/experiences/experiences.service';\r\nimport { ReviewService } from './review.service';\r\n\r\n@Component({\r\n selector: 'app-review-form',\r\n templateUrl: './review-form.component.html',\r\n styleUrls: ['./review-form.component.scss']\r\n})\r\nexport class ReviewFormComponent {\r\n @Input() receivedData: any;\r\n @Output() formSent = new EventEmitter();\r\n\r\n @ViewChild('starsRef', { static: true }) starsElement: ElementRef;\r\n\r\n reviewForm: UntypedFormGroup;\r\n rating: number = 0;\r\n\r\n constructor(\r\n private experienceService: ExperiencesService,\r\n private formBuilder: UntypedFormBuilder,\r\n private reloadService: ReviewService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.createForm()\r\n }\r\n\r\n reloadSibling2() {\r\n this.reloadService.triggerReload();\r\n }\r\n\r\n setRating(index) {\r\n\r\n // Empties all the stars so it updates the view\r\n for (let i = 0; i <= 4; i++) {\r\n document.getElementsByClassName('star-' + i)[0].classList.remove('full');\r\n }\r\n\r\n // Fill the Html star elements\r\n for (let i = 0; i <= index; i++) {\r\n document.getElementsByClassName('star-' + i)[0].classList.add('full');\r\n }\r\n\r\n this.rating = index + 1;\r\n\r\n }\r\n\r\n createForm() {\r\n this.reviewForm = this.formBuilder.group({\r\n name: [null,\r\n Validators.required\r\n ],\r\n location: [''],\r\n comments: ['']\r\n });\r\n }\r\n\r\n createReview() {\r\n const review = {\r\n name: this.reviewForm.get('name').value,\r\n product: this.receivedData,\r\n reviewerLocation: this.reviewForm.get('location').value,\r\n reviewerCountry: '',\r\n rating: this.rating,\r\n createdAt: new Date(),\r\n comments: this.reviewForm.get('comments').value,\r\n language: \"es\",\r\n channel: \"Venntur\"\r\n }\r\n\r\n console.log(review);\r\n\r\n\r\n this.experienceService.postReview(review).subscribe(\r\n (result) => {\r\n console.log(result);\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n\r\n this.formSent.emit(null);\r\n this.reloadSibling2()\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \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 { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReviewService {\r\n\r\n private reloadSubject = new Subject();\r\n\r\n constructor() { }\r\n\r\n triggerReload() {\r\n this.reloadSubject.next();\r\n }\r\n\r\n getReloadObservable() {\r\n return this.reloadSubject.asObservable();\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { ReviewService } from '../review-form/review.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { BsModalRef, BsModalService, ModalDirective } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-reviews',\r\n templateUrl: './reviews.component.html',\r\n styleUrls: ['./reviews.component.scss']\r\n})\r\nexport class ReviewsComponent implements OnInit {\r\n @Input() receivedData: any;\r\n private reloadSubscription: Subscription;\r\n\r\n modalRef: BsModalRef;\r\n @ViewChild('autoShownModal', { static: false }) autoShownModal: ModalDirective;\r\n isAlertShown = false;\r\n\r\n viewEvenMore = false;\r\n showedReviews = 5;\r\n ratingSumatory = 0;\r\n\r\n constructor(\r\n private reloadService: ReviewService,\r\n private modalService: BsModalService,\r\n ) {\r\n this.reloadSubscription = this.reloadService.getReloadObservable().subscribe(() => {\r\n this.reloadComponent();\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n const options = { method: 'GET', headers: { accept: 'application/json' } };\r\n\r\n fetch('https://api.venntur.com/tripadvisor_reviews', options)\r\n .then(response => response.json())\r\n .then(response => console.log(response))\r\n .catch(err => console.error(err));\r\n setTimeout(() => {\r\n console.log(this.receivedData);\r\n \r\n this.receivedData.forEach(receivedElement => {\r\n console.log(this.ratingSumatory);\r\n\r\n console.log(receivedElement.rating);\r\n\r\n this.ratingSumatory = this.ratingSumatory + receivedElement.rating;\r\n });\r\n }, 2000);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.reloadSubscription.unsubscribe();\r\n }\r\n\r\n fixedNumber(number) {\r\n return number.toFixed(2)\r\n }\r\n\r\n reloadComponent() {\r\n // Perform any necessary actions to reload your component\r\n console.log('Sibling 2 has been reloaded.');\r\n }\r\n\r\n getClassNames(i: number, last: boolean): string {\r\n if (i === 0) {\r\n return 'mb-3';\r\n } else if (last) {\r\n return 'mt-3';\r\n } else {\r\n return 'my-3';\r\n }\r\n }\r\n\r\n obtainTimeString(dateStr: string) {\r\n const date = new Date(dateStr);\r\n const currentDate = new Date();\r\n const ranTime = currentDate.getTime() - date.getTime();\r\n\r\n const oneMinute = 60 * 1000;\r\n const oneHour = oneMinute * 60;\r\n const oneDay = oneHour * 24;\r\n const oneWeek = oneDay * 7;\r\n const oneMonth = oneDay * 30;\r\n\r\n if (ranTime < oneMinute) {\r\n return 'Ahora';\r\n } else if (ranTime < oneHour) {\r\n return 'Hace menos de una hora';\r\n } else if (ranTime < oneDay) {\r\n return 'Hoy';\r\n } else if (ranTime < oneWeek) {\r\n return 'Hace unos días';\r\n } else if (ranTime < oneMonth) {\r\n return 'Hace más de una semana';\r\n } else {\r\n return 'Hace un mes o más';\r\n }\r\n }\r\n\r\n onHidden(): void {\r\n this.isAlertShown = false;\r\n }\r\n\r\n hideModal(): void {\r\n this.autoShownModal.hide();\r\n }\r\n\r\n openModal() {\r\n this.isAlertShown = true;\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \"Imagen\r\n
    \r\n
    \r\n
    \r\n {{review.name}}\r\n
    \r\n \r\n
    \r\n {{ 'Opinión de un usuario de' | translate }} {{review.channel}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n ·\r\n
    \r\n {{obtainTimeString(review.createdAt)}}\r\n
    \r\n
    \r\n
    \r\n {{review.comments}}\r\n
    \r\n
    \r\n
    \r\n
    5 && viewEvenMore == false\">\r\n \r\n
    \r\n
    10 && viewEvenMore\">\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{(fixedNumber(ratingSumatory/receivedData.length)) + '/5'}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{receivedData.length}} {{ 'opiniones' | translate }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Imagen\r\n
    \r\n
    \r\n
    \r\n {{review.name}}\r\n
    \r\n \r\n
    \r\n {{ 'Opinión de un usuario de' | translate }} {{review.channel}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n ·\r\n
    \r\n {{obtainTimeString(review.createdAt)}}\r\n
    \r\n
    \r\n
    \r\n {{review.comments}}\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 { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Tag, TagCollection } from './tag.model';\r\n\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class TagsService {\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n public postTag(tag): Observable {\r\n return this.http\r\n .post(API_URL + '/tags', tag);\r\n }\r\n\r\n public getTag(id: string): Observable {\r\n return this.http\r\n .get(API_URL + '/tags/' + id);\r\n }\r\n\r\n public getTags(language): Observable {\r\n return this.http\r\n .get(API_URL + '/tags', { headers: {\r\n 'Accept-Language': language\r\n }});\r\n }\r\n\r\n public getActiveTags(language): Observable {\r\n return this.http\r\n .get(API_URL + '/tags?exists[experiences]=true', { headers: {\r\n 'Accept-Language': language\r\n }});\r\n }\r\n\r\n public getResellerActiveTags(language): Observable {\r\n return this.http\r\n .get(API_URL + '/tags?exists[resellers]=true', { headers: {\r\n 'Accept-Language': language\r\n }});\r\n }\r\n\r\n public deleteTag(tagId: string): any {\r\n return this.http.delete(API_URL + '/tags/' + tagId);\r\n }\r\n\r\n public putTag(tagId: string, tag: Tag): Observable {\r\n return this.http\r\n .put(API_URL + '/tags/' + tagId, tag);\r\n }\r\n}\r\n","export class UserCollection {\r\n total: number;\r\n makers: User[];\r\n}\r\n\r\nexport class User {\r\n id: string;\r\n email: string;\r\n password: string;\r\n roles: any;\r\n constructor(values: any = {}) {\r\n Object.assign(this, values);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { UsersService } from './users.service';\r\nimport { User } from './user.model';\r\nimport { errorMessages, regExps } from '../../pages/shared/custom-validators';\r\nimport { AuthService } from '../../pages/shared/auth.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: ['./users.component.css']\r\n})\r\nexport class UsersComponent implements OnInit {\r\n userForm: UntypedFormGroup;\r\n user: User;\r\n alert = { message: null, type: null };\r\n errors = errorMessages;\r\n constructor(\r\n private formBuilder: UntypedFormBuilder,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title,\r\n private userService: UsersService,\r\n private authService: AuthService,\r\n public translate: TranslateService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.authService.getUserId()) {\r\n this.editUser(this.authService.getUserId());\r\n }\r\n }\r\n\r\n createForm() {\r\n this.userForm = this.formBuilder.group({\r\n email: ['', [\r\n Validators.required,\r\n Validators.email\r\n ]],\r\n recoverEmail: ['', [\r\n Validators.email\r\n ]],\r\n password: ['', [\r\n Validators.required,\r\n Validators.pattern(regExps.password)\r\n ]],\r\n changePassword: ['', [\r\n Validators.pattern(regExps.password)\r\n ]]\r\n });\r\n }\r\n\r\n deleteUser(userId) {\r\n const id = userId.replace('/users/', '');\r\n this.userService.deleteUser(id).subscribe(() => {\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n editUser(userId) {\r\n this.userService.getUser(userId).subscribe((user: User) => {\r\n this.user = user;\r\n this.userForm.get('email').setValue(user.email);\r\n // this.userForm.get('password').setValue(user.password);\r\n });\r\n }\r\n\r\n updateUser() {\r\n if (this.userForm.invalid) {\r\n this.showErrors(this.userForm);\r\n return;\r\n }\r\n const user = {\r\n // email: this.userForm.get('email').value,\r\n password: this.userForm.get('password').value\r\n };\r\n const editedUser = new User(user);\r\n this.userService.putUser(this.authService.getUserId(), editedUser)\r\n .subscribe(\r\n (result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Usuario guardado correctamente';\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n error => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n },\r\n () => console.log('complete'));\r\n }\r\n\r\n createUser() {\r\n if (this.userForm.invalid) {\r\n this.showErrors(this.userForm);\r\n return;\r\n }\r\n const user = {\r\n email: this.userForm.get('email').value,\r\n password: this.userForm.get('password').value\r\n };\r\n this.userService.postUser(user).subscribe((result) => {\r\n this.alert.type = 1;\r\n this.alert.message = 'Usuario creado correctamente';\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n this.createForm();\r\n }, (error) => {\r\n this.alert.message = error.error.code + '- ' + error.error.message;\r\n this.alert.type = 2;\r\n setTimeout(() => {\r\n this.alert = { message: null, type: null };\r\n }, 5000);\r\n });\r\n }\r\n\r\n showErrors(formGroup) {\r\n Object.keys(formGroup.controls).forEach(key => {\r\n formGroup.get(key).markAsTouched();\r\n });\r\n return;\r\n }\r\n\r\n showError(formValue) {\r\n return this.userForm.get(formValue).invalid && this.userForm.get(formValue).touched;\r\n }\r\n}\r\n","\r\n
    \r\n

    {{alert.message}}

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

    {{ 'Datos acceso' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['email'])}}\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {{translate.instant(errors['password'])}}\r\n \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 {HttpClient, HttpParams} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\nimport { User, UserCollection } from './user.model';\r\nimport {map} from 'rxjs/operators';\r\n\r\n\r\nconst API_URL = environment.apiUrl;\r\n\r\n@Injectable()\r\nexport class UsersService {\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n public postUser(user): Observable {\r\n return this.http\r\n .post(API_URL + '/register/mail', user);\r\n }\r\n\r\n public getUser(id: string): Observable {\r\n return this.http\r\n .get(API_URL + '/users/' + id);\r\n }\r\n\r\n public getUsers(filters?: any): Observable {\r\n if (filters === undefined) { filters = {}; }\r\n\r\n let httpParams = new HttpParams();\r\n\r\n if (filters['email']) {\r\n httpParams = httpParams.set('email', String(filters.email));\r\n }\r\n return this.http\r\n .get(API_URL + '/users', { params: httpParams });\r\n }\r\n\r\n public deleteUser(userId: string): any {\r\n return this.http.delete(API_URL + '/users/' + userId);\r\n }\r\n\r\n public putUser(userId: string, user: User): Observable {\r\n return this.http\r\n .put(API_URL + '/users/' + userId, user);\r\n }\r\n\r\n forgotPassword(email: any) {\r\n const url = API_URL + '/users/forgot-password-request';\r\n\r\n return this.http.post(url, email);\r\n }\r\n\r\n public contactForm(contactForm): Observable {\r\n return this.http\r\n .post(API_URL + '/users/contact-form', contactForm);\r\n }\r\n\r\n resetPassword(user: User, token: string): Observable {\r\n const url = API_URL + '/users/reset-password';\r\n\r\n return this.http.post(url, user, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n }).pipe(map((resp: any) => {\r\n return true;\r\n }));\r\n }\r\n\r\n public getWordpressPage(page: string): Observable {\r\n return this.http\r\n .get(`https://pro.venntur.com/wp-json/wp/v2/pages?slug=${page}`);\r\n }\r\n\r\n public getWordpressPost(post: string): Observable {\r\n return this.http\r\n .get(`https://pro.venntur.com/wp-json/wp/v2/posts?slug=${post}`);\r\n }\r\n\r\n public getWordpressPostsByCategory(category: string): Observable {\r\n return this.http\r\n .get(`https://pro.venntur.com/wp-json/wp/v2/pages?slug=categoria&category=${category}`);\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n\r\n apiUrl: 'https://api.venntur.com',\r\n // apiUrl: 'https://dev-api.venntur.com',\r\n cmsApiUrl: 'https://venntur.cms.api.aititubi.es',\r\n // apiUrl: 'http://localhost:8000',\r\n // frontUrl: 'https://pre.venntur.aititubi.es/',\r\n // frontUrl: 'https://dev.venntur.com/',\r\n frontUrl: 'https://venntur.com/',\r\n\r\n // Nuevo proyecto google cloud creado por Alfredo\r\n // 546426374063-87aktrs4bpf22stspjn644dspgc52a18.apps.googleusercontent.com\r\n google: {\r\n // clientId: '327976957453-n4bea6ag7n962ottn1i1mno3d1b4lt1f.apps.googleusercontent.com'\r\n clientId: '306399346139-snsajbsqgf2dc48eeptm1ir0v94k00hi.apps.googleusercontent.com'\r\n },\r\n\r\n facebook: {\r\n clientId: '665407101052201',\r\n },\r\n\r\n stripe: {\r\n publicKey: 'pk_test_PpbS40l0Y5lUsMN5YzpGlDZj00duWmRb3T',\r\n basicPrice: 'price_1NlXlyECh0SazpvMs13qGXPS'\r\n },\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"names":["Location","TemplateRef","trigger","state","style","animate","transition","i0","NavbarComponent","constructor","authService","router","activatedRoute","location","makerService","takerService","resellerService","modalService","translate","events","subscribe","val","path","indexOf","activeLang","isAdmin","ngOnInit","getIsCms","setTimeout","loginData","email","snapshot","queryParamMap","get","password","openLoginModal","loginModalContent","setDefaultLang","isCms","substring","getDefaultLang","currentLang","logout","replace","template","modalRef","show","toggleSidebar","body","document","querySelector","iconOnlyToggled","classList","add","remove","changeLanguage","event","target","value","toLowerCase","use","window","open","url","changeMobileLanguage","textContent","getFirstWord","phrase","words","split","length","slice","getUserMail","openBurguerMenu","isOpen","selectors","viewQuery","ctx","width","EventEmitter","Validators","Experience","HttpEventType","ReplaySubject","errorMessages","ConfirmationDialogComponent","environment","ModalAlertComponent","ClassicEditor","class","ctx_r5","ctx_r125","ctx_r6","price_r141","modality_r134","ctx_r7","ctx_r183","FRONT_URL","frontUrl","ExperiencesComponent","formBuilder","experienceService","categoryService","tagService","languageService","mediaExperienceService","countryService","locationService","dialog","message","type","title","description","bookingEngineId","prices","name","price","pickup","pickupStr","duration","start","end","meetingPoint","experience","text","bsConfig","Object","assign","showWeekNumbers","adaptivePosition","getId","maker","makerName","getName","getMaker","myMakerLogo","mediaMakers","contentUrl","makerInfo","createForm","navigateByUrl","params","id","editExperience","setRelations","experienceForm","valueChanges","changes","checkMicroSheetContent","checkWebSheetContent","checkPinSheetContent","newItemEvent","emit","group","required","promoCode","urlButtonText","minLength","maxLength","seasonStartMonth","seasonEndMonth","promotionType","promotion","sustainableSeal","reviewTripadvisor","reviewGetyourguide","mediaExperiences","expandedMediaExperiences","languages","categories","subcategories","tags","country","zones","whyUs","persons","cancellation","includes","notIncludes","moreInfo","carryInfo","slug","bookingEngine","bookingEngineWidget","fareharborId","bokunId","turitopId","rezdyId","donicusId","typePrice","weekDays","status","currency","descriptionExtended","highlights","modalities","microsheetCompleted","sheetCompleted","months","console","log","setValue","getCategories","allCategories","forEach","category","parents","push","getTags","getLanguages","getCountries","countries","getLocations","locations","allLocations","loadPreviewCategories","loadPreviewSubcategories","loadPreviewLanguages","loadPreviewLocation","deleteExperience","experienceId","dialogRef","initialState","confirmMessage","instant","callback","confirm","result","alert","error","code","getExperience","experiences","language","categoriesObject","mediaExperiencesVideos","video","uploadedVideos","loadSubcategories","tag","loadLocations","loadZones","zonesIris","zone","uploadedFiles","mediaExperience","imageId","modality","index","toString","isExpanded","setWeekDays","setMonths","editorTemplate","createModalities","modalitiesDelete","deleteModality","Number","undefined","putModality","modalitiesIris","postModality","updateExperience","markAllAsTouched","auxStatus","valid","convertSlug","subcategory","allZones","parseFloat","isMicroSheetValid","isWebSheetValid","pinCompleted","isPinValid","monthsString","join","editedExperience","langEdited","putExperience","openAlert","createExperience","postExperience","saveModalitiesCreate","insertTag","controls","onFileChanged","files","selectedFile","onFileChange","eventFiles","filesAmount","i","reader","FileReader","selectedFiles","onload","images","readAsDataURL","onVideoSelected","file","typeOf","extraData","postVideo","loadingVideo","mediaExperiencesVideosUpload","progressVideo","Math","round","loaded","total","deleteVideo","deleteMediaExperiencesVideos","splice","onUpload","mediaExperiencesUpload","handleProgress","fileName","DownloadProgress","uploadingProgressing","uploadProgress","UploadProgress","Response","uploadComplete","serverResponse","position","filter","el","countryCode","getLocationsFiltered","filteredLocations","next","locationId","getZonesFiltered","filteredZone","deleteMediaExperience","image","uploaded","deleteMediaExperiences","deleteExpandedMediaExperience","onUploadedImage","uploadedImage","formControlName","patchValue","onExpandedSheetUploadedImage","changeValidation","setValidators","updateValueAndValidity","setErrors","incorrect","clearValidators","showErrors","formGroup","keys","key","markAsTouched","showError","formValue","invalid","touched","translateAll","convertDate","date","dateObj","Date","year","getFullYear","month","String","getMonth","padStart","day","getDate","monthsList","translateIA","field","isArray","translateExperience","response","descriptionText","translation","importFrom","web","getExperienceByCivitatisId","civitatisId","experienceData","addHighlight","highlightsCount","pushHighlight","insertTagMax5","addModality","addNewPrice","objectPrice","deletePrice","indexPrice","categoriesId","categoriesSelected","sub","parent","thing","self","findIndex","t","validateTags","tagsSelected","convertTimeToCustomFormat","inputTime","formattedText","hours","minutes","map","part","parseInt","openPreview","config","categoryIri","myPreviewCategories","myPreviewSubcategories","languageIri","myPreviewLanguages","myPreviewLocation","findTextByValue","array","targetValueArray","shownDays","targetValue","setCategoryTitle","firstString","secondString","obj","setLanguagesTitle","controlNames","controlName","errors","slugCleared","slugExist","verifySlugExists","getExperienceBySlug","toPromise","modalText","className","timer","iconClass","modalConfig","alertMessage","hide","reorderMedia","clickedIndex","clickedItem","unshift","updatePosition","outputs","decls","vars","consts","Maker","CustomValidators","regExps","User","invoice_r18","ctx_r84","ctx_r12","PUBLIC_KEY","stripe","publicKey","BASIC_PRICE","basicPrice","MakerComponent","experiencesService","userService","mediaMakerService","getPlans","plans","countryList","makerId","editMaker","makerForm","checkInfoContent","checkDirectoryContent","checkSheetContent","checkPinContent","routerState","pop","enableBasicFields","planForm","plan","getAllExperiencesByMakerId","resp","makerExperiences","totalExperiences","isActive","publishedExperiences","companyName","documentType","contactName","contactLastname","contactPhone","contactEmail","mediaMakersHeader","mediaMakersLogo","mediaMakersStaff","address","postalCode","pattern","phone","whatsapp","user","getUserId","tripadvisor","founders","director","operations","technology","customerId","instagram","twitter","linkedIn","facebook","bookingEmail","holdedId","googleSites","googleMaps","phone2","tripadvisorApiWidgetReview","polizaRRCC","reciboRRCC","licenciaActividad","plantillaContratoColaboracion","catalogos","administrationEmail","reservationConditions","paymentConditions","cancelationConditions","idFareharbor","contactForm","mediaContacts","createMaker","postalCodeString","directoryCompleted","isDirectoryValid","isSheetValid","createMakerPlan","postMaker","roles","editedUser","putUser","currentUser","localStorage","setItem","JSON","stringify","getMakerByUserId","currentMaker","mediaMakersDocs","pdfFiles","pdf","uploadedPdfFiles","selectedPdfFiles","validPolizaRRCC","namePolizaRRCC","validReciboRRCC","nameReciboRRCC","validLicenciaActividad","nameLicenciaActividad","validPlantillaContratoColaboracion","namePlantillaContratoColaboracion","validCatalogos","nameCatalogos","getInvoices","invoices","getStripeCustomer","nextPayment","headerImage","mediaMakerStaff","some","e","rows","updateMaker","editedMaker","putMaker","createContact","contact","postContact","enable","mediaMakersUpload","logoImage","contactImage","isValidCif","dniOrNieValidator","showContactError","formLanguage","deleteMediaMakersStaff","deleteMediaMakers","locationList","isChangingPlan","postFreeMakerPlan","getUserEmail","reload","planPrice","Stripe","redirectToCheckout","lineItems","quantity","mode","successUrl","cancelUrl","then","displayError","getElementById","timestampToDate","timestamp","formattedDate","downloadPdf","fileNumber","invoiceId","getInvoicePdf","binaryString","atob","len","bytes","Uint8Array","charCodeAt","blob","Blob","URL","createObjectURL","link","createElement","href","download","click","revokeObjectURL","isInfoValid","getMakerBySlug","onFileSelected","switchDocsValues","uploadPdfFile","uploadPdfFiles","objectFile","selectedPdfFile","innerHTML","deletePdf","pdfId","deleteMediaDocs","validatePostalCode","emitEvent","openUpgradePlanModal","pay","MONTHLY","ANUALLY","regulation","productsSelected","ElementRef","KeenSlider","JSZip","mediaExperience_r64","ProductPinPageComponent","http","productSlug","root","children","primary","segments","productId","allImages","ngAfterViewInit","slider","pinImagesSlider","nativeElement","initial","currentSlide","slideChanged","s","track","details","rel","dotHelper","Array","slides","ngOnDestroy","destroy","setTitle","setModality","currentModality","saveImage","savedUrls","item","saveVideo","savedVideoUrls","downloadFiles","urls","lastIndexOf","display","appendChild","removeChild","downloadAllFiles","disableDownload","zip","folder","entries","getFileDatas","data","base64toBlob","zipBlob","generateAsync","downloadAllVideos","cleanUrl","videoFormat","format","videoData","base64ToBlobVideo","base64Data","byteCharacters","byteArrays","contentType","offset","byteNumbers","byteArray"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}