{"version":3,"mappings":"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","names":["ViewportScrollerScrollbar","constructor","document","window","errorHandler","scrollBarService","offset","setOffset","Array","isArray","getScrollPosition","sb","getSb","supportScrollRestoration","viewport","scrollLeft","scrollTop","scrollToPosition","position","supportsScrolling","scrollTo","top","scrollToAnchor","anchor","scrollToElement","setHistoryScrollRestoration","scrollRestoration","history","scrollRestorationDescriptor","getScrollRestorationProperty","Object","getPrototypeOf","writable","set","mainScrollbar","obj","getOwnPropertyDescriptor","isTouchDevice","navigator","maxTouchPoints","msMaxTouchPoints","onError","ApolloLink","operation","forward","Observable","observer","sub","retriedSub","retriedResult","subscribe","next","result","errors","graphQLErrors","response","bind","error","complete","networkError","e","unsubscribe","ErrorLink","_super","__extends","_this","call","link","prototype","request","ApolloOnErrorLink","authService","some","err","message","toLowerCase","fromPromise","lastValueFrom","refreshToken","flatMap","map","handleError","TimeoutError","operationName","JSON","stringify","variables","cause","ApolloNetworkError","code","createApollo","graphqlUrl","middleware","timeout","cache","InMemoryCache","addTypename","typePolicies","Query","fields","companies","relayStylePagination","companiesInfo","randomCompaniesPage","randomProductsPage","esSearchByType","news","productsByCompany","filesList","portalEvents","companiesByAssociation","companiesReviews","requestsInfo","requestInfoByCompanyId","followedCompaniesByUser","users","newsletters","usersCompanyVisitors","pageCategories","companiesVisitedByUser","wikis","usersPageVisitorsBySlug","companyProducts","FileInfo","keyFields","Folder","UserProfile","Category","childs","merge","existing","incoming","length","fetchWithTimeout","uri","options","Promise","resolve","reject","timer","setTimeout","fetch","then","clearTimeout","errorLink","_httpLink","createHttpLink","from","ssrMode","AuthGuard","_authService","router","canActivate","route","state","url","handleAuth","canActivateChild","canLoad","path","isAuthenticated","navigate","queryParams","returl","ɵfac","i","ɵɵinject","AuthService","Router","ɵprov","C","token","factory","_AuthGuard","RoleGuard","usersService","errorService","data","roles","segments","isAuth","NotAuthorizedError","companyId","isInRole","UsersService","ErrorService","_RoleGuard","AuthServerService","authToken","observableOf","authTokenChange","EMPTY","authenticate","username","password","invalidate","_AuthServerService","AuthServerGuard","_AuthServerGuard","RoleServerGuard","res","statusCode","RESPONSE","_RoleServerGuard","UserGuard","userSlug","paramMap","get","onUserChange","pipe","filter","u","user","slug","each","with","of","_UserGuard","UserServerGuard","_UserServerGuard","AuthModule","forRoot","ngModule","providers","provide","useClass","forServer","ɵmod","ee","type","ɵinj","Z","_AuthModule","AnalyticsModule","AnalyticsService","_AnalyticsModule","tokenGetter","localStorage","getItem","SharedModule","imports","JwtModule","config","allowedDomains","disallowedRoutes","ServiceWorkerModule","register","HammerModule","NgScrollbarModule","ScrollModule","_SharedModule","STATE_KEY","getRequest","headers","cookie","CustomHammerConfig","HammerGestureConfig","arguments","overrides","pinch","enable","rotate","t","r","Ce","_CustomHammerConfig","TINYMCE_SCRIPT_SRC","InjectionToken","createApolloBrowser","transferState","setContext","__spreadProps","__spreadValues","authorization","apolloLink","environment","backendUrl","BACKEND_TIMEOUT","restore","browserConfig","importProvidersFrom","META_TAG_ROBOTS_ENABLED","useValue","enableMetaTagRobots","SwRegistrationOptions","useFactory","lang","scope","registrationStrategy","enabled","production","deps","LOCALE_ID","REQUEST","ViewportScroller","DOCUMENT","ErrorHandler","ScrollBarService","HAMMER_LOADER","__async","HAMMER_GESTURE_CONFIG","APP_ID","APOLLO_OPTIONS","TransferState","zone","IntersectionObserverService","setup","NgZone","appBrowserConfig","mergeApplicationConfig","appConfig","navigation","id","title","translate","children","$localize","icon","badge","bg","fg","skipRouteLocalization","routeTransitionAnimations","trigger","transition","group","query","style","visibility","optional","transform","animate","opacity","left","width","height","params","enter","leave","RequestInfoByCompanyIdGQL","gql","requestInfoFragment","pageInfoFragment","_RequestInfoByCompanyIdGQL","Fo","w","h","resizeMode","lt","o","ti","ɵɵelementStart","F","ɵɵelement","ɵɵi18n","ɵɵelementEnd","n","N","ɵɵproperty","ɵɵpureFunction1","_c1","ɵɵpipeBind1","ctx_r1","primaryCompany","_id","oi","ɵɵtemplate","ToolbarMenuComponent_Conditional_0_Conditional_41_Conditional_5_Template","ɵɵadvance","ɵɵconditional","reportLink","selectedLanguage","ii","$","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","addNewCompany","ni","ɵɵtext","_r1","logout","ToolbarMenuComponent_Conditional_0_Conditional_41_Template","ToolbarMenuComponent_Conditional_0_Conditional_42_Template","ce","companyMenu_r6","logo","ɵɵpureFunction0","_c0","userMenu_r5","user_r4","profile","picture","ToolbarMenuComponent","_primaryCompany","iconsLoader","languagesService","vc","requestInfoByCompanyIdGQL","locale","languages","getLanguages","getCurrentLang","user$","tap","userCompanies","find","us","primary","company","ngOnInit","load","openCompanyWizard","ɵɵdirectiveInject","IconsLoader","LanguagesService","ViewContainerRef","ɵcmp","J","selectors","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","i18n_0","ToolbarMenuComponent_Conditional_0_Template","s","tmp_0_0","ctx","dependencies","MatButtonModule","MatButton","MatIconModule","MatIcon","MatMenuModule","MatMenu","MatMenuItem","MatMenuTrigger","RouterModule","RouterLink","CommonModule","AsyncPipe","GetUserUrlPipe","GetCompanyUrlPipe","AvatarComponent","styles","encapsulation","changeDetection","_ToolbarMenuComponent","si","nt","De","Q","li","SearchBoxComponent","ci","mi","pi","LanguageMenuComponent","ui","_r2","ctx_r2","toolbarService","toggleLeftSidebarOpen","searchMobileOpen","isLoggedIn","di","_i","fi","isTransparent","gi","ɵɵstyleProp","hi","Oi","_r4","showNewsletterBanner","Ti","Ci","_r5","login","Si","_r6","toggleRightSidebarOpen","bi","Ai","Mi","flag","j","ToolbarComponent","_a","toolbarMode","v","_toolbarMode","solid","isSolid","collapsed","_collapsed","transparent","platform","el","builder","cd","viewContainerRef","signal","searchBoxWrapperCss","hasNewsletterSubscription","UserRolesEnum","isAnimating","isBrowser","untilDestroyed","effect","collapse","isScrolled","toogleCollapse","allowSignalWrites","tbs","toolbarStateChange$","currentAnimPlayer","destroy","collapseFactory","getAnimationFactory","expandFactory","retUrl","toogleSearchBox","update","searchBoxAnimDone","ev","fromState","setAnimationState","nativeElement","player","create","onDone","_player","lastAnimPlayer","markForCheck","onDestroy","play","reverse","stayTransparent","ToolbarMode","isLarge","curve","time","matchingAliases","includes","boxShadow","animSteps","getAnimationSteps","to","key","build","sequence","display","keyframes","a","inverse","background","backgroundColor","c","color","step","transformOrigin","ngOnDestroy","showNewsletterSubscribeDialog","Platform","ElementRef","AnimationBuilder","ChangeDetectorRef","ToolbarService","hostVars","hostBindings","rf","ɵɵclassProp","oe","$event","i0","ToolbarComponent_Defer_5_Template","ToolbarComponent_DeferPlaceholder_6_Template","ɵɵdefer","ToolbarComponent_Defer_7_DepsFn","ɵɵdeferOnTimer","ToolbarComponent_Defer_13_Template","ToolbarComponent_DeferPlaceholder_14_Template","ToolbarComponent_Defer_15_DepsFn","ɵɵdeferOnHover","ToolbarComponent_Defer_19_Template","ToolbarComponent_DeferPlaceholder_20_Template","ToolbarComponent_Defer_21_DepsFn","ToolbarComponent_Conditional_45_Template","ToolbarComponent_Conditional_47_Template","ToolbarComponent_Conditional_48_Template","ToolbarComponent_Defer_51_Template","ToolbarComponent_DeferPlaceholder_52_Template","ToolbarComponent_Defer_53_DepsFn","ToolbarComponent_Defer_56_Template","ToolbarComponent_DeferPlaceholder_57_Template","ToolbarComponent_Defer_58_DepsFn","Ae","hideToolbar","ɵɵdeferWhen","NgClass","MatToolbarModule","RouterLinkActive","MatIconButton","MatBadgeModule","FlagComponent","ExpLogoComponent","animation","__decorate","UntilDestroy","__metadata","vi","LeftNavbarComponent","yi","ScrollTopComponent","Ei","RightNavbarComponent","Ni","Li","Ri","G","AppComponent","fuseMediaMatchService","_iconsLoader","_route","location","renderer","notificationService","fromServerService","routerAnimation","inject","mainScrollBar","viewChild","required","NgScrollbar","lazyLoadService","LazyLoadService","setViewContainerRef","updateToken","userAction","loadScript","ANDROID","IOS","body","classList","add","onMediaChange$","_0","fullscreenElement","confirmAction","cancelText","confirmText","lockScreenPortrait","removeClass","routerAnimDone","setAnimation","outlet","isFromServer","_state","getState","stand","p","value","lock","goFullScreen","exitFullScreen","orientKey","screen","docEl","documentElement","navigationUI","unlock","catch","FuseMatchMediaService","ActivatedRoute","Location","Renderer2","NotificationService","FromServerService","viewQuery","vt","yt","template","ɵɵelementContainer","AppComponent_Defer_4_Template","AppComponent_Defer_5_DepsFn","outlet_r2","ɵɵreference","AppComponent_Defer_17_Template","AppComponent_Defer_18_DepsFn","AppComponent_Defer_20_Template","AppComponent_Defer_21_DepsFn","leftSidebarToggleOpen","rightSidebarToggleOpen","RouterOutlet","ScrollbarRefDirective","browserSupportsAllFeatures","Intl","head","src","done","js","createElement","crossOrigin","onload","onerror","Error","appendChild","bootstrap","bootstrapApplication","console","addEventListener"],"ignoreList":[2],"sources":["src/app/shared/viewport-scroller/viewport-scroller.ts","src/app/shared/utilities/device.ts","node_modules/@apollo/client/link/error/index.js","src/app/apollo-links/errors-link.ts","src/app/apollo-links/apollo-link.ts","src/app/shared/auth/auth.guard.ts","src/app/shared/auth/role.guard.ts","src/app/shared/auth/auth-server.service.ts","src/app/shared/auth/auth-server.guard.ts","src/app/shared/auth/role-server.guard.ts","src/app/shared/auth/user.guard.ts","src/app/shared/auth/user-server.guard.ts","src/app/shared/auth/auth.module.ts","src/app/shared/services/google-tag-manager/analytics/analytics.module.ts","src/app/app.browser.module.ts","src/app/app.config.browser.ts","src/app/navigation/navigation.ts","src/app/app-router-animations.ts","src/app/shared/services/request-info/request-info-by-company-id.gql.service.ts","src/app/layout/components/toolbar-menu/toolbar-menu.component.html","src/app/layout/components/toolbar-menu/toolbar-menu.component.ts","src/app/layout/components/toolbar/toolbar.component.html","src/app/layout/components/toolbar/toolbar.component.ts","src/app/app.component.html","src/app/app.component.ts","src/main.ts"],"sourcesContent":["import { ViewportScroller } from '@angular/common';\r\nimport { ErrorHandler } from '@angular/core';\r\nimport { ScrollBarService } from '@shared/scroll/scrollbar.service';\r\nimport { NgScrollbar } from 'ngx-scrollbar';\r\n/**\r\n * Manages the scroll position for a browser window.\r\n */\r\n\r\nexport class ViewportScrollerScrollbar implements ViewportScroller {\r\n private offset: () => [number, number] = () => [0, 0];\r\n\r\n constructor(\r\n private document: any,\r\n private window: any,\r\n private errorHandler: ErrorHandler,\r\n private scrollBarService: ScrollBarService,\r\n ) { }\r\n\r\n /**\r\n * Configures the top offset used when scrolling to an anchor.\r\n * @param offset A position in screen coordinates (a tuple with x and y values)\r\n * or a function that returns the top offset position.\r\n *\r\n */\r\n setOffset(offset: [number, number] | (() => [number, number])): void {\r\n if (Array.isArray(offset)) {\r\n this.offset = () => offset;\r\n } else {\r\n this.offset = offset;\r\n }\r\n }\r\n\r\n /**\r\n * Retrieves the current scroll position.\r\n * @returns The position in screen coordinates.\r\n */\r\n getScrollPosition(): [number, number] {\r\n const sb: NgScrollbar = this.getSb();\r\n if (this.supportScrollRestoration() && sb) {\r\n return [sb.viewport.scrollLeft, sb.viewport.scrollTop];\r\n } else {\r\n return [0, 0];\r\n }\r\n }\r\n\r\n /**\r\n * Sets the scroll position.\r\n * @param position The new position in screen coordinates.\r\n */\r\n scrollToPosition(position: [number, number]): void {\r\n const sb: NgScrollbar = this.getSb();\r\n if (this.supportsScrolling() && sb) {\r\n // Total hack but waiting for for content/images to load to give us a\r\n // better chance of hitting our scroll target. It also gives the UI a bit\r\n // of movement to show users that we scrolled them after page load. In a\r\n // real implementation of ViewportScroller, we should get rid of this but\r\n // it suits my current needs.\r\n // setTimeout(() => {\r\n sb.scrollTo({ top: position[1] });\r\n // }, 200);\r\n }\r\n }\r\n\r\n /**\r\n * Scrolls to an anchor element.\r\n * @param anchor The ID of the anchor element.\r\n */\r\n scrollToAnchor(anchor: string): void {\r\n if (this.supportsScrolling()) {\r\n const sb: NgScrollbar = this.getSb();\r\n if (sb) {\r\n sb.scrollToElement(anchor);\r\n }\r\n }\r\n }\r\n /**\r\n * Disables automatic scroll restoration provided by the browser.\r\n */\r\n setHistoryScrollRestoration(scrollRestoration: 'auto' | 'manual'): void {\r\n if (this.supportScrollRestoration()) {\r\n const history = this.window.history;\r\n if (history && history.scrollRestoration) {\r\n history.scrollRestoration = scrollRestoration;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * We only support scroll restoration when we can get a hold of window.\r\n * This means that we do not support this behavior when running in a web worker.\r\n *\r\n * Lifting this restriction right now would require more changes in the dom adapter.\r\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\r\n * battle-tested.\r\n */\r\n private supportScrollRestoration(): boolean {\r\n try {\r\n if (!this.window || !this.window.scrollTo) {\r\n return false;\r\n }\r\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\r\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\r\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\r\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\r\n // setter function.\r\n return !!scrollRestorationDescriptor &&\r\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\r\n } catch {\r\n return false;\r\n }\r\n }\r\n\r\n private supportsScrolling(): boolean {\r\n try {\r\n return !!this.window.scrollTo;\r\n } catch {\r\n return false;\r\n }\r\n }\r\n\r\n private getSb(): NgScrollbar {\r\n return this.scrollBarService.mainScrollbar;\r\n }\r\n}\r\n\r\nfunction getScrollRestorationProperty(obj: any): PropertyDescriptor | undefined {\r\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\r\n}\r\n","export function isTouchDevice(): boolean {\r\n return (('ontouchstart' in window) ||\r\n (navigator.maxTouchPoints > 0) ||\r\n ((navigator as any).msMaxTouchPoints > 0));\r\n}\r\n","import { __extends } from \"tslib\";\nimport { Observable } from \"../../utilities/index.js\";\nimport { ApolloLink } from \"../core/index.js\";\nexport function onError(errorHandler) {\n return new ApolloLink(function (operation, forward) {\n return new Observable(function (observer) {\n var sub;\n var retriedSub;\n var retriedResult;\n try {\n sub = forward(operation).subscribe({\n next: function (result) {\n if (result.errors) {\n retriedResult = errorHandler({\n graphQLErrors: result.errors,\n response: result,\n operation: operation,\n forward: forward\n });\n if (retriedResult) {\n retriedSub = retriedResult.subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer)\n });\n return;\n }\n }\n observer.next(result);\n },\n error: function (networkError) {\n retriedResult = errorHandler({\n operation: operation,\n networkError: networkError,\n //Network errors can return GraphQL errors on for example a 403\n graphQLErrors: networkError && networkError.result && networkError.result.errors,\n forward: forward\n });\n if (retriedResult) {\n retriedSub = retriedResult.subscribe({\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer)\n });\n return;\n }\n observer.error(networkError);\n },\n complete: function () {\n // disable the previous sub from calling complete on observable\n // if retry is in flight.\n if (!retriedResult) {\n observer.complete.bind(observer)();\n }\n }\n });\n } catch (e) {\n errorHandler({\n networkError: e,\n operation: operation,\n forward: forward\n });\n observer.error(e);\n }\n return function () {\n if (sub) sub.unsubscribe();\n if (retriedSub) sub.unsubscribe();\n };\n });\n });\n}\nvar ErrorLink = /** @class */function (_super) {\n __extends(ErrorLink, _super);\n function ErrorLink(errorHandler) {\n var _this = _super.call(this) || this;\n _this.link = onError(errorHandler);\n return _this;\n }\n ErrorLink.prototype.request = function (operation, forward) {\n return this.link.request(operation, forward);\n };\n return ErrorLink;\n}(ApolloLink);\nexport { ErrorLink };\n","import { fromPromise } from \"@apollo/client/core\";\r\nimport { onError } from \"@apollo/client/link/error\";\r\nimport { ApolloNetworkError } from \"app/error-handler/custom-errors/apollo-network-error\";\r\nimport { TimeoutError } from \"app/error-handler/custom-errors/timeout.error\";\r\nimport { AuthService } from \"app/shared/auth/auth.service\";\r\nimport { lastValueFrom } from \"rxjs\";\r\n\r\nexport const ApolloOnErrorLink = ( errorHandler: any, authService?: AuthService) => {\r\n return onError(({ forward, graphQLErrors, networkError, operation }) => {\r\n if (graphQLErrors) {\r\n if (graphQLErrors.some(err => err.message.toLowerCase() === 'forbidden resource')) {\r\n return fromPromise(lastValueFrom(authService.refreshToken())).flatMap(() => forward(operation));\r\n }\r\n graphQLErrors.map(err => errorHandler.handleError(err));\r\n return;\r\n }\r\n\r\n if (networkError) {\r\n let err = networkError;\r\n if(err instanceof TimeoutError) {\r\n const message = `Timeout exceeded. operation: ${operation.operationName} variables: ${JSON.stringify(operation.variables)}`;\r\n err.message = message;\r\n } else {\r\n const {message, cause } = networkError;\r\n if(cause) {\r\n err = new ApolloNetworkError(message, cause['code'] as string | 'unknown', 503);\r\n }\r\n }\r\n errorHandler.handleError(err);\r\n }\r\n return;\r\n });\r\n}\r\n","import { relayStylePagination } from '@apollo/client/utilities';\r\nimport { InMemoryCache, ApolloLink, createHttpLink } from '@apollo/client/core';\r\nimport { ApolloOnErrorLink } from './errors-link';\r\nimport { ErrorHandler } from '@angular/core';\r\nimport { TimeoutError } from 'app/error-handler/custom-errors/timeout.error';\r\nexport function createApollo(graphqlUrl: string, middleware: ApolloLink, errorHandler: ErrorHandler, timeout: number): any {\r\n\r\n const cache = new InMemoryCache({\r\n addTypename: true,\r\n typePolicies: {\r\n Query: {\r\n fields: {\r\n companies: relayStylePagination(['category', 'accountType', 'accountStatus', 'search', 'lang', 'orderType', 'includeEmptyTranslations']),\r\n companiesInfo: relayStylePagination(['category', 'accountType', 'lang', 'materials', 'country', 'supplier', 'orderType']),\r\n randomCompaniesPage: relayStylePagination(['lang', 'category', 'seed']),\r\n randomProductsPage: relayStylePagination(['lang', 'category', 'seed']),\r\n esSearchByType: relayStylePagination(['lang', 'esType', 'esType', 'query']),\r\n news: relayStylePagination(['newsType', 'lang', 'newsStatus', 'unpublished', 'companyId', 'search', 'tag', 'fieldsOfRelevance', 'category']),\r\n productsByCompany: relayStylePagination(['companyId', 'lang', 'category', 'adminMode']),\r\n filesList: relayStylePagination(['path', 'resourceType', 'search']),\r\n portalEvents: relayStylePagination(['fromDate', 'toDate', 'fieldOfRelevance', 'orderType']),\r\n companiesByAssociation: relayStylePagination(['associationId', 'lang']),\r\n companiesReviews: relayStylePagination(['lang']),\r\n requestsInfo: relayStylePagination(['lang', 'requestType', 'requestStatus']),\r\n requestInfoByCompanyId: relayStylePagination(['lang', 'recipientCompany']),\r\n followedCompaniesByUser: relayStylePagination(['userId', 'lang']),\r\n users: relayStylePagination(['userStatus', 'userRole', 'lang', 'search']),\r\n newsletters: relayStylePagination(['newsletterType', 'newsletterStatus', 'search']),\r\n usersCompanyVisitors: relayStylePagination(['lang', 'companyId', 'search','leadRelevance']),\r\n pageCategories: relayStylePagination(['level', 'lang', 'categoryId']),\r\n companiesVisitedByUser: relayStylePagination(['lang', 'userId']),\r\n wikis: relayStylePagination(['lang', 'wikiSector', 'wikiStatus']),\r\n usersPageVisitorsBySlug: relayStylePagination(['lang', 'search', 'page']),\r\n }\r\n },\r\n // FRAGMENT companyProducts DA RIVEDERE\r\n companyProducts: relayStylePagination(['category', 'lang', 'deletedMode']),\r\n FileInfo: {\r\n keyFields: ['public_id']\r\n },\r\n Folder: {\r\n keyFields: ['path']\r\n },\r\n UserProfile: {\r\n keyFields: [\r\n '_id', 'lang'\r\n ]\r\n },\r\n // UserCompany: {\r\n // keyFields: ['company']\r\n // },\r\n Category: {\r\n fields: {\r\n childs: {\r\n merge(existing = [], incoming = []) {\r\n incoming = incoming || [];\r\n existing = existing || [];\r\n return incoming.length > existing.length ? [...incoming] : [...existing] ;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n //https://peyrone.medium.com/setting-a-custom-timeout-with-apollo-client-in-your-next-react-native-project-704dcc3c17fc\r\n function fetchWithTimeout(uri: string, options = {}, timeout: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n const timer = setTimeout(() => {\r\n reject(new TimeoutError('Request timed out', timeout, 408));\r\n }, timeout);\r\n fetch(uri, options).then(\r\n response => {\r\n clearTimeout(timer);\r\n resolve(response);\r\n },\r\n err => {\r\n clearTimeout(timer);\r\n reject(err);\r\n }\r\n );\r\n });\r\n }\r\n\r\n const errorLink = ApolloOnErrorLink(errorHandler);\r\n \r\n const _httpLink = createHttpLink({\r\n uri: graphqlUrl,\r\n fetch: (uri, options) => {\r\n return fetchWithTimeout(uri, options, timeout);\r\n }\r\n });\r\n \r\n return {\r\n link: ApolloLink.from([middleware, errorLink, _httpLink]),\r\n cache: cache,\r\n ssrMode: true,\r\n };\r\n }\r\n","// angular\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Route, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\n// module\r\nimport { AuthService } from '@shared/auth/auth.service';\r\n\r\n//Permette l'accesso ai soli utenti autenticati\r\n@Injectable()\r\nexport class AuthGuard {\r\n constructor(private readonly _authService: AuthService,\r\n private readonly router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n const url = state.url;\r\n\r\n return this.handleAuth(url);\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return this.canActivate(route, state);\r\n }\r\n\r\n canLoad(route: Route): boolean {\r\n const url = `/${route.path}`;\r\n\r\n return this.handleAuth(url);\r\n }\r\n\r\n private handleAuth(url: string): boolean {\r\n if (this._authService.isAuthenticated) {\r\n return true;\r\n }\r\n\r\n this.router.navigate(['login'], { queryParams: {returl: url}});\r\n\r\n return false;\r\n }\r\n}\r\n","import { UsersService } from '@shared/services/users/users.service';\r\nimport { UserRolesEnum } from '@collections/users/enums/user-roles.enums';\r\n// angular\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Route, Router, RouterStateSnapshot, UrlSegment, UrlTree } from '@angular/router';\r\nimport { ErrorService } from 'app/error-handler/services/error.service';\r\nimport { NotAuthorizedError } from 'app/error-handler/custom-errors/not-authorized-error';\r\n\r\n@Injectable()\r\nexport class RoleGuard {\r\n constructor(\r\n private usersService: UsersService,\r\n private readonly router: Router,\r\n private errorService: ErrorService\r\n )\r\n {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n // this will be passed from the route config\r\n // on the data property\r\n return this.handleAuth(route.data.roles);\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return this.canActivate(route, state);\r\n }\r\n\r\n canLoad(route: Route, segments: UrlSegment[]): boolean | UrlTree {\r\n const isAuth = this.handleAuth(route.data.roles);\r\n if (!isAuth) {\r\n this.errorService.handleError(new NotAuthorizedError(route.path));\r\n }\r\n return isAuth;\r\n }\r\n\r\n private handleAuth(roles: UserRolesEnum[], companyId?: string): boolean {\r\n return this.usersService.isInRole(roles);\r\n }\r\n}\r\n","\r\nimport {of as observableOf, Observable, EMPTY } from 'rxjs';\r\n// angular\r\nimport { Injectable } from '@angular/core';\r\n\r\n\r\n\r\n// interfaces\r\nimport { IAuthToken } from '../../../../server/auth/interfaces/authtoken.interface';\r\n\r\n@Injectable()\r\nexport class AuthServerService {\r\n\r\n get authToken(): Observable {\r\n return observableOf(null);\r\n }\r\n\r\n get authTokenChange(): Observable {\r\n return EMPTY;\r\n }\r\n\r\n get isAuthenticated(): boolean {\r\n return false;\r\n }\r\n\r\n authenticate(username: string, password: string): Observable {\r\n return observableOf(false);\r\n }\r\n\r\n invalidate(): void {\r\n return;\r\n }\r\n}\r\n","// angular\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Route, RouterStateSnapshot } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthServerGuard {\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return false;\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return false;\r\n }\r\n\r\n canLoad(route: Route): boolean {\r\n return false;\r\n }\r\n}\r\n","import { UrlTree } from '@angular/router';\r\n// angular\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Route, RouterStateSnapshot } from '@angular/router';\r\nimport { RESPONSE } from 'src/express.tokens';\r\nimport { Response } from 'express';\r\n@Injectable()\r\nexport class RoleServerGuard {\r\n constructor(\r\n @Optional() @Inject(RESPONSE) private res: Response,\r\n ){\r\n if(this.res) {\r\n this.res.statusCode = 403;\r\n }\r\n }\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return false;\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return false;\r\n }\r\n\r\n canLoad(route: Route): boolean | UrlTree { \r\n return false;\r\n }\r\n}\r\n","import { UsersService } from '@shared/services/users/users.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable, map, filter, timeout, of } from 'rxjs';\r\nimport { ErrorService } from 'app/error-handler/services/error.service';\r\nimport { NotAuthorizedError } from 'app/error-handler/custom-errors/not-authorized-error';\r\n\r\n\r\n@Injectable()\r\nexport class UserGuard {\r\n constructor(\r\n private usersService: UsersService,\r\n private errorService: ErrorService\r\n )\r\n {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n const userSlug = route.paramMap.get('userSlug');\r\n return this.usersService.onUserChange\r\n .pipe(\r\n filter(u => u !== null),\r\n map(user => {\r\n const isOwner = userSlug === user?.slug; // solo utente proprietario del profilo\r\n if (!isOwner) {\r\n this.errorService.handleError(new NotAuthorizedError(state.url));\r\n return false;\r\n }\r\n return true;\r\n }),\r\n timeout({\r\n each: 2000,\r\n with: () => {\r\n this.errorService.handleError(new NotAuthorizedError(state.url));\r\n return of(false);\r\n },\r\n })\r\n );\r\n }\r\n}\r\n","import { UrlTree } from '@angular/router';\r\n// angular\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Route, RouterStateSnapshot } from '@angular/router';\r\nimport { RESPONSE } from 'src/express.tokens';\r\nimport { Response } from 'express';\r\n@Injectable()\r\nexport class UserServerGuard {\r\n constructor(\r\n @Optional() @Inject(RESPONSE) private res: Response,\r\n ){\r\n if(this.res) {\r\n this.res.statusCode = 403;\r\n }\r\n }\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return false;\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return false;\r\n }\r\n\r\n canLoad(route: Route): boolean | UrlTree { \r\n return false;\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\n// module\r\nimport { AuthGuard } from '@shared/auth/auth.guard';\r\nimport { RoleGuard } from '@shared/auth/role.guard';\r\nimport { AuthService } from '@shared/auth/auth.service';\r\nimport { AuthServerService } from '@shared/auth/auth-server.service';\r\nimport { AuthServerGuard } from '@shared/auth/auth-server.guard';\r\nimport { RoleServerGuard } from '@shared/auth/role-server.guard';\r\nimport { UserGuard } from './user.guard';\r\nimport { UserServerGuard } from './user-server.guard';\r\n\r\nexport * from '@shared/auth/auth.guard';\r\nexport * from '@shared/auth/auth.service';\r\n\r\n\r\n@NgModule()\r\nexport class AuthModule {\r\n\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AuthModule,\r\n providers: [\r\n {\r\n provide: 'AuthGuard',\r\n useClass: AuthGuard\r\n },\r\n {\r\n provide: 'RoleGuard',\r\n useClass: RoleGuard\r\n },\r\n {\r\n provide: 'UserGuard',\r\n useClass: UserGuard\r\n }\r\n ]\r\n };\r\n }\r\n\r\n static forServer(): ModuleWithProviders {\r\n return {\r\n ngModule: AuthModule,\r\n providers: [\r\n {\r\n provide: AuthService,\r\n useClass: AuthServerService\r\n },\r\n {\r\n provide: 'AuthGuard',\r\n useClass: AuthServerGuard\r\n },\r\n {\r\n provide: 'RoleGuard',\r\n useClass: RoleServerGuard\r\n },\r\n {\r\n provide: 'UserGuard',\r\n useClass: UserServerGuard\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { AnalyticsService } from './analytics.service';\r\n\r\n@NgModule({\r\n imports: [],\r\n})\r\nexport class AnalyticsModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AnalyticsModule,\r\n providers: [\r\n AnalyticsService\r\n ]\r\n };\r\n }\r\n}\r\n","import { NgModule} from '@angular/core';\r\nimport { HammerModule } from '@angular/platform-browser';\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\nimport { AuthModule } from '@shared/auth/auth.module';\r\nimport { JwtModule } from '@auth0/angular-jwt'; \r\nimport { AnalyticsModule } from './shared/services/google-tag-manager/analytics/analytics.module';\r\nimport { NgScrollbarModule } from 'ngx-scrollbar';\r\nimport { ScrollModule } from './shared/scroll/scroll.module';\r\n\r\nexport function tokenGetter(): string {\r\n return localStorage.getItem('token');\r\n }\r\n\r\n@NgModule({\r\n imports: [\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: tokenGetter,\r\n allowedDomains: ['localhost:5000'],\r\n disallowedRoutes: []\r\n }\r\n }),\r\n AuthModule.forRoot(),\r\n ServiceWorkerModule.register('ngsw-worker.js'),\r\n HammerModule,\r\n AnalyticsModule.forRoot(),\r\n NgScrollbarModule,\r\n ScrollModule\r\n ]\r\n })\r\n export class SharedModule {}\r\n \r\n","import { mergeApplicationConfig, Injectable, NgZone } from '@angular/core';\r\nimport { ɵɵinject, APP_ID } from '@angular/core';\r\nimport { ViewportScroller, DOCUMENT } from '@angular/common';\r\nimport { HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig } from '@angular/platform-browser';\r\nimport { SwRegistrationOptions } from '@angular/service-worker';\r\n// libs\r\nimport { REQUEST } from '../express.tokens';\r\nimport { ViewportScrollerScrollbar } from './shared/viewport-scroller/viewport-scroller';\r\n\r\nimport { APOLLO_OPTIONS} from 'apollo-angular';\r\nimport { TransferState, makeStateKey } from '@angular/core';\r\n\r\nimport { ScrollBarService } from './shared/scroll/scrollbar.service';\r\nimport { isTouchDevice } from './shared/utilities/device';\r\nimport { META_TAG_ROBOTS_ENABLED } from './shared/tokens/meta-tag-robots.enabled';\r\nimport { createApollo } from './apollo-links/apollo-link';\r\nimport { ApolloLink } from '@apollo/client/core';\r\nimport { AuthService } from './shared/auth/auth.service';\r\nimport { LOCALE_ID, ErrorHandler, InjectionToken, ApplicationConfig, importProvidersFrom } from '@angular/core';\r\nimport { CustomPreloader, RouterOptions, environment } from '@env/environment';\r\nimport { SharedModule } from './app.browser.module';\r\nimport { appConfig } from './app.config';\r\nimport { IntersectionObserverService } from './shared/scroll/intersection-observer.service';\r\n\r\n\r\nconst STATE_KEY = makeStateKey('expo.state');\r\n\r\nexport function getRequest(): any {\r\n return { headers: { cookie: document.cookie } };\r\n }\r\nexport function tokenGetter(): string | null {\r\n return localStorage.getItem('token');\r\n}\r\n\r\n\r\nconst DIRECTION_UP = 8;\r\n@Injectable()\r\nexport class CustomHammerConfig extends HammerGestureConfig {\r\n overrides = {\r\n // 'pan': { direction: Hammer.DIRECTION_ALL },\r\n 'pinch': { enable: false },\r\n 'rotate': { enable: false }\r\n };\r\n}\r\n\r\n\r\nexport const TINYMCE_SCRIPT_SRC = new InjectionToken('TINYMCE_SCRIPT_SRC');\r\n\r\n\r\nexport function createApolloBrowser(transferState: TransferState, errorHandler: ErrorHandler): any {\r\n const middleware = new ApolloLink((operation, forward) => {\r\n const token = localStorage?.getItem('token') || null;\r\n if(token) {\r\n operation.setContext(({ headers = {} }) => ({\r\n headers: {\r\n ...headers,\r\n authorization: `Bearer ${localStorage.getItem('token') || null}`,\r\n }\r\n }));\r\n }\r\n\r\n return forward(operation);\r\n });\r\n\r\n const apolloLink = createApollo(environment.backendUrl, middleware, errorHandler, environment.BACKEND_TIMEOUT);\r\n\r\n const state = transferState.get(STATE_KEY, null);\r\n apolloLink.cache.restore(state);\r\n\r\n return apolloLink;\r\n}\r\n\r\nconst browserConfig: ApplicationConfig = {\r\n providers: [\r\n importProvidersFrom(SharedModule),\r\n // va disabilitato nel caso dovessimo tornare alla soluzione MetadataServiceBrowser.\r\n { provide: META_TAG_ROBOTS_ENABLED, useValue: environment.enableMetaTagRobots },\r\n {\r\n provide: SwRegistrationOptions,\r\n useFactory: (lang) => {\r\n return {\r\n scope: `/${lang}/`,\r\n registrationStrategy: 'registerWhenStable:5000',\r\n enabled: environment.production\r\n };\r\n },\r\n deps: [LOCALE_ID]\r\n }, {\r\n // The server provides these in main.server\r\n provide: REQUEST, useFactory: (getRequest)\r\n },/*{\r\n provide: AppStorage, useClass: CookieStorage\r\n }, */ {\r\n provide: ViewportScroller,\r\n useFactory: () => new ViewportScrollerScrollbar( ɵɵinject(DOCUMENT), window, ɵɵinject(ErrorHandler), ɵɵinject(ScrollBarService))\r\n },\r\n { provide: HAMMER_LOADER, useValue: async () => {\r\n if (isTouchDevice()) {\r\n return import('hammerjs/hammer');\r\n } else {\r\n return Promise.resolve(null);\r\n }\r\n \r\n }},\r\n {\r\n provide: HAMMER_GESTURE_CONFIG, useClass: CustomHammerConfig\r\n },\r\n { provide: 'ISTTOUCH', useValue: isTouchDevice() },\r\n { provide: APP_ID, useValue: 'expo-app' },\r\n {\r\n provide: APOLLO_OPTIONS,\r\n useFactory: createApolloBrowser,\r\n deps: [TransferState, ErrorHandler]\r\n },\r\n {\r\n provide: 'AppIntersectionObserver',\r\n useFactory: (zone: NgZone, scrollBarService: ScrollBarService) => {\r\n \r\n const viewport = new IntersectionObserverService(zone, scrollBarService);\r\n viewport.setup(null, '0px 0px 50% 0px');\r\n \r\n return (viewport);\r\n \r\n },\r\n \r\n deps: [NgZone, ScrollBarService]\r\n }, // Use observable object to control the load time of GPT\r\n // {provide: RouteReuseStrategy, useClass: CustomRouteReuseStrategy,\r\n // deps: [Location] },\r\n ]\r\n};\r\n\r\nexport const appBrowserConfig = mergeApplicationConfig(appConfig, browserConfig);\r\n","import { FuseNavigation } from '@fuse/types';\r\n\r\nexport const navigation: FuseNavigation[] = [\r\n {\r\n id: 'fair',\r\n title: 'Fair',\r\n translate: 'NAV.FAIR',\r\n type: 'group',\r\n children: [\r\n {\r\n id: 'home',\r\n title: $localize`home`,\r\n type: 'item',\r\n icon: 'core:home',\r\n url: '/online-fair',\r\n badge : {\r\n title: '12',\r\n bg : '#EC0C8E',\r\n fg : '#FFFFFF'\r\n }\r\n }, {\r\n id: 'news',\r\n title: $localize`news`,\r\n type: 'item',\r\n icon: 'core:home',\r\n url: '/news'\r\n }]\r\n },\r\n {\r\n id: 'administration',\r\n title: 'Administration',\r\n translate: 'NAV.ADMINISTRATION',\r\n type: 'group',\r\n icon: 'core:lock',\r\n roles: ['admin'],\r\n children: [\r\n {\r\n id: 'user-manager',\r\n title: 'Users Manager',\r\n translate: 'NAV.USERS_MANAGER',\r\n type: 'item',\r\n icon: 'core:people',\r\n url: '/login',\r\n roles: ['admin'],\r\n skipRouteLocalization: true\r\n },\r\n {\r\n id: 'companies-manager',\r\n title: 'Companies Manager',\r\n translate: 'NAV.COMPANIES_MANAGER',\r\n type: 'item',\r\n icon: 'core:check_box',\r\n url: '/administration/companies/all',\r\n roles: ['admin'],\r\n skipRouteLocalization: true\r\n }\r\n ]\r\n }\r\n];\r\n","import { trigger, transition, style, query, animateChild, group, animate, sequence } from '@angular/animations';\r\n\r\nexport const routeTransitionAnimations = trigger('routeAnimations', [\r\n transition('ready => slideStand', [\r\n group([\r\n query(`#mainOutlet + stand stand-header .slide-hide,\r\n #mainOutlet + stand info-bar`, [\r\n style({visibility: 'hidden'})\r\n ], {optional: true}),\r\n query(`#mainOutlet + stand stand-header #header-content,\r\n #mainOutlet + stand #standContent + *`, [\r\n style({transform: 'translateX(0%)'}),\r\n animate('800ms ease-out', style({transform: 'translateX({{leave}}%)', opacity: 0}))\r\n ], {optional: true}),\r\n query(`stand + stand`, [\r\n style({position: 'absolute', top: '64px', left: 0, width: '100vw', height: 'calc(100vh - 64px)'})\r\n ], {optional: true}),\r\n query(`stand + stand stand-header .slide-opacity`, [\r\n style({opacity: 0}),\r\n animate('800ms ease-out', style({opacity: 1}))\r\n ], {optional: true}),\r\n query(`stand + stand stand-header #header-content`, [\r\n style({transform: 'translateX({{enter}}%)', opacity: 0}),\r\n animate('800ms ease-out', style({transform: 'translateX(0%)', opacity: 1}))\r\n ], {optional: true}),\r\n query(`stand + stand #standContent + *`, [\r\n style({transform: 'translateX({{enter}}%)', opacity: 0, width: '100vw'}),\r\n animate('800ms ease-out', style({transform: 'translateX(0%)', opacity: 1, width: '100%'}))\r\n ], {optional: true})\r\n ]),\r\n ], { params: { enter: 100, leave: -100 }})\r\n]);\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Query, gql } from 'apollo-angular';\r\nimport { requestInfoFragment } from \"./fragments/request-info.fragment\";\r\nimport { IRequestInfo } from \"@collections/request-info/interfaces\";\r\nimport { pageInfoFragment } from '../common/fragments/page-info.fragment';\r\nimport { IPage } from '@collections/common/interfaces';\r\n\r\nexport interface IRequestByCompanyIdResponse {\r\n requestInfoByCompanyId: IPage\r\n}\r\n\r\n@Injectable()\r\nexport class RequestInfoByCompanyIdGQL extends Query{\r\n document = gql`\r\n query getRequestsInfoByCompanyId($first: Int, $recipientCompany: ObjectId!, $lang: String!){\r\n requestInfoByCompanyId(first:$first, recipientCompany: $recipientCompany){\r\n totalCount\r\n edges{\r\n cursor\r\n node {\r\n ...requestInfo\r\n email\r\n sender(lang: $lang){\r\n username\r\n }\r\n recipientCompany(lang: $lang){\r\n _id\r\n fullName\r\n logo\r\n primaryPath\r\n slug\r\n accountType\r\n }\r\n recipientNews {\r\n _id\r\n title\r\n image\r\n slug\r\n canonicalUrl\r\n }\r\n recipientProduct(lang: $lang) {\r\n _id\r\n name\r\n images\r\n slug\r\n }\r\n }\r\n }\r\n pageInfo {\r\n ...pageInfo\r\n }\r\n }\r\n }\r\n ${requestInfoFragment}\r\n ${pageInfoFragment}\r\n `;\r\n}\r\n","@if (user$ | async; as user) {\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n @if (primaryCompany) {\r\n \r\n \r\n @if (primaryCompany.reportLink) {\r\n \r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n} @else {\r\n \r\n}\r\n\r\n}\r\n","import { take, tap } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ViewContainerRef,\r\n Inject,\r\n LOCALE_ID\r\n} from '@angular/core';\r\nimport { UsersService } from '@shared/services/users/users.service';\r\nimport { UserInfo } from '@shared/services/users/types/user-info';\r\nimport { Observable, filter } from 'rxjs';\r\nimport { IconsLoader } from '@shared/services/icons/icons-loader.service';\r\nimport { LanguagesService, Language } from '@shared/services/languages/languages.service';\r\nimport { ICompanyBase } from '@collections/companies/interfaces';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\nimport { RequestInfoByCompanyIdGQL } from 'app/shared/services/request-info/request-info-by-company-id.gql.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GetUserUrlPipe } from \"../../../shared/pipes/get-user-url.pipe\";\r\nimport { GetCompanyUrlPipe } from \"../../../shared/pipes/get-company-url.pipe\";\r\nimport { AvatarComponent } from \"../../../shared/components/avatar/avatar.component\";\r\n\r\n@Component({\r\n selector: 'toolbar-menu',\r\n standalone: true,\r\n providers: [\r\n RequestInfoByCompanyIdGQL\r\n ],\r\n templateUrl: './toolbar-menu.component.html',\r\n styleUrls: ['./toolbar-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n RouterModule,\r\n CommonModule,\r\n GetUserUrlPipe,\r\n GetCompanyUrlPipe,\r\n AvatarComponent\r\n ]\r\n})\r\nexport class ToolbarMenuComponent implements OnInit {\r\n user$: Observable;\r\n\r\n languages: Language[];\r\n selectedLanguage: Language;\r\n \r\n get primaryCompany(): ICompanyBase {\r\n return this._primaryCompany;\r\n }\r\n _primaryCompany: ICompanyBase;\r\n\r\n constructor(\r\n private usersService: UsersService,\r\n private iconsLoader: IconsLoader,\r\n private languagesService: LanguagesService,\r\n private vc: ViewContainerRef,\r\n private requestInfoByCompanyIdGQL: RequestInfoByCompanyIdGQL,\r\n @Inject(LOCALE_ID) private locale: string\r\n ) {\r\n this.languages = this.languagesService.getLanguages();\r\n // Set the selected language from default languages\r\n this.selectedLanguage = languagesService.getCurrentLang();\r\n this.user$ = this.usersService.onUserChange\r\n .pipe(\r\n filter(u => !!u && !!u.profile),\r\n tap(u => {\r\n this._primaryCompany = u.profile.userCompanies?.find(us => us.primary)?.company;\r\n })\r\n );\r\n }\r\n\r\n ngOnInit(): void {\r\n this.iconsLoader.load('user');\r\n this.iconsLoader.load('halls');\r\n this.iconsLoader.load('stand');\r\n }\r\n\r\n logout(): void {\r\n this.usersService.logout();\r\n }\r\n\r\n addNewCompany() {\r\n this.usersService.openCompanyWizard();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n @defer (on timer(200ms)) {\r\n \r\n } @placeholder {\r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n @defer (on hover; when searchMobileOpen()) {\r\n \r\n }\r\n @placeholder {\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n\r\n \r\n
  • \r\n \r\n \r\n
  • \r\n \r\n\r\n\r\n \r\n\r\n\r\n
  • \r\n \r\n \r\n
  • \r\n\r\n\r\n \r\n\r\n @if (!hasNewsletterSubscription) {\r\n \r\n }\r\n\r\n
    \r\n\r\n\r\n \r\n @if (isLoggedIn()) {\r\n \r\n }\r\n @else {\r\n \r\n }\r\n
    \r\n @defer(on timer(200ms)) {\r\n \r\n } \r\n @placeholder {\r\n \r\n }\r\n\r\n
    \r\n \r\n\r\n\r\n \r\n
    \r\n \r\n @defer () {\r\n \r\n }\r\n @placeholder {\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ElementRef,\r\n HostBinding,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n ViewContainerRef,\r\n OnDestroy,\r\n signal,\r\n effect\r\n} from '@angular/core';\r\nimport { Router, RouterModule } from '@angular/router';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport { query, animate, style, group, trigger, transition, sequence, keyframes, AnimationPlayer, AnimationBuilder, AnimationFactory, AnimationEvent } from '@angular/animations';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { SearchBoxComponent } from 'app/layout/components/search-box/search-box.component';\r\nimport { ToolbarMenuComponent } from 'app/layout/components//toolbar-menu/toolbar-menu.component';\r\nimport { LanguagesService, Language } from '@shared/services/languages/languages.service';\r\nimport { ToolbarMode } from '@fuse/types';\r\nimport { UsersService } from '@shared/services/users/users.service';\r\nimport { UserRolesEnum } from '@collections/users/enums/user-roles.enums';\r\nimport { LanguageMenuComponent } from '../language-menu/language-menu.component';\r\nimport { ToolbarService } from './toolbar.service';\r\nimport { getAnimationSteps, IAnimationStepsInfo } from 'app/shared/animations/utilities';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\n\r\nimport { FlagComponent } from '@shared/components/flag/flag.component';\r\nimport { ExpLogoComponent } from '@shared/components/exp-logo/exp-logo.component';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n MatToolbarModule,\r\n RouterModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatBadgeModule,\r\n FlagComponent,\r\n ExpLogoComponent,\r\n LanguageMenuComponent,\r\n ToolbarMenuComponent,\r\n SearchBoxComponent\r\n],\r\n animations: [\r\n trigger('searchBoxAnim', [\r\n transition('searchboxClosed => searchboxOpened', [\r\n group([\r\n query(':self', [\r\n animate('350ms ease-in', style({\r\n transform: 'translateX(-266px)'\r\n }))\r\n ]),\r\n query('#search-box', [\r\n animate('350ms ease-in', style({\r\n visibility: 'visible'\r\n }))\r\n ])\r\n ])\r\n ]),\r\n transition('searchboxOpened => searchboxClosed', [\r\n group([\r\n query(':self', [\r\n animate('350ms ease-in', style({\r\n transform: 'translateX(0px)'\r\n }))\r\n ]),\r\n query('#search-box', [\r\n animate('350ms ease-in', style({\r\n visibility: 'hidden'\r\n }))\r\n ])\r\n ])\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class ToolbarComponent implements OnInit, OnDestroy {\r\n isLoggedIn = signal(false);\r\n searchMobileOpen = signal(false); // variabile per il cerca responsive\r\n searchBoxWrapperCss = signal('');\r\n hasNewsletterSubscription = false;\r\n toolbarColor: string;\r\n\r\n set toolbarMode(v: ToolbarMode) {\r\n this._toolbarMode = v;\r\n }\r\n get toolbarMode(): ToolbarMode {\r\n return this._toolbarMode;\r\n }\r\n private _toolbarMode: ToolbarMode;\r\n\r\n hiddenToolbar: boolean;\r\n UserRolesEnum = UserRolesEnum;\r\n\r\n selectedLanguage: Language;\r\n\r\n @HostBinding('class.solid')\r\n public get solid(): boolean {\r\n return this.toolbarService.isSolid();\r\n }\r\n\r\n @HostBinding('class.collapsed')\r\n public get collapsed(): boolean {\r\n return this._collapsed();\r\n }\r\n \r\n private _collapsed = signal(false);\r\n\r\n @HostBinding('class.transparent')\r\n public get transparent(): boolean {\r\n return this.toolbarService.isTransparent();\r\n }\r\n\r\n\r\n private isAnimating = false;\r\n private collapseFactory: AnimationFactory;\r\n private expandFactory: AnimationFactory;\r\n private currentAnimPlayer: AnimationPlayer;\r\n private lastAnimPlayer: AnimationPlayer;\r\n\r\n constructor(\r\n private router: Router,\r\n public platform: Platform,\r\n private el: ElementRef,\r\n private builder: AnimationBuilder,\r\n private cd: ChangeDetectorRef,\r\n private languagesService: LanguagesService,\r\n private usersService: UsersService,\r\n public toolbarService: ToolbarService,\r\n private viewContainerRef: ViewContainerRef\r\n ) {\r\n \r\n this.selectedLanguage = this.languagesService.getCurrentLang();\r\n\r\n if (this.platform.isBrowser) {\r\n this.usersService.onUserChange\r\n .pipe(\r\n untilDestroyed(this)\r\n ).subscribe((user) => {\r\n this.isLoggedIn.set(!!user);\r\n });\r\n\r\n effect(() => {\r\n const collapse = toolbarService.isScrolled();\r\n if (collapse !== this.collapsed && !this.solid) {\r\n this.toogleCollapse(collapse);\r\n } else if(toolbarService.isSolid()) {\r\n this._collapsed.set(false);\r\n }\r\n }, {allowSignalWrites: true})\r\n\r\n \r\n }\r\n }\r\n \r\n async ngOnInit(): Promise {\r\n const tbs = this.toolbarService;\r\n\r\n tbs.toolbarStateChange$\r\n .pipe(\r\n untilDestroyed(this)\r\n ).subscribe((s) => {\r\n \r\n if (this.platform.isBrowser) {\r\n if (this.currentAnimPlayer) {\r\n this.currentAnimPlayer.destroy();\r\n this.currentAnimPlayer = null;\r\n }\r\n\r\n if (!tbs.isSolid()) {\r\n this.collapseFactory = this.getAnimationFactory(true, false);\r\n this.expandFactory = this.getAnimationFactory(false, true);\r\n }\r\n }\r\n });\r\n\r\n if (this.platform.isBrowser) {\r\n\r\n this.hasNewsletterSubscription = !!localStorage.getItem('newsletter_subscribe');\r\n }\r\n }\r\n\r\n\r\n login(): void {\r\n const retUrl = this.router.url;\r\n this.router.navigate(['/login'], { queryParams: { returl: retUrl } });\r\n }\r\n\r\n toogleSearchBox(): void{\r\n this.searchMobileOpen.update((v) => !v);\r\n }\r\n\r\n searchBoxAnimDone(ev: AnimationEvent) {\r\n this.searchBoxWrapperCss.set(ev.fromState==='searchboxClosed' ? 'searchbox-mobile-opened' : '');\r\n }\r\n\r\n toogleCollapse(collapse: boolean): void {\r\n this.isAnimating = true;\r\n const tbs = this.toolbarService;\r\n tbs.setAnimationState(collapse, 'start');\r\n const el = this.el.nativeElement;\r\n const player = collapse ? this.collapseFactory.create(el) : this.expandFactory.create(el);\r\n player.onDone(() => {\r\n const _player = this.lastAnimPlayer;\r\n this.lastAnimPlayer = _player ? (() => { try {_player.destroy(); this.lastAnimPlayer = null; } finally { return player; }})() : player;\r\n this._collapsed.set(collapse);\r\n // this.transparent = tbs.isTransparent();\r\n this.isAnimating = false;\r\n this.cd.markForCheck();\r\n tbs.setAnimationState(collapse, 'end');\r\n\r\n });\r\n\r\n this.currentAnimPlayer = player;\r\n player.onDestroy(() => {\r\n this.currentAnimPlayer = null;\r\n });\r\n player.play();\r\n }\r\n\r\n getAnimationFactory(collapse: boolean, reverse: boolean = false): AnimationFactory {\r\n let isTransparent;\r\n const stayTransparent = this.toolbarService.toolbarMode() === ToolbarMode.transparent;\r\n let isLarge: boolean;\r\n const curve = reverse ? 'ease-out' : 'ease-in';\r\n const time = reverse ? '200ms' : '200ms';\r\n if (collapse) {\r\n isTransparent = stayTransparent;\r\n isLarge = this.toolbarService.matchingAliases().includes('md');\r\n } else {\r\n isTransparent = true;\r\n isLarge = true;\r\n }\r\n const bg = isTransparent ? 'transparent' : 'rgb(245 245 245 / var(--tw-bg-opacity))';\r\n const boxShadow = isTransparent ? 'none' : 'var(--tw-drop-shadow)';\r\n\r\n const ranges: IAnimationStepsInfo[] = [\r\n {from: 120, to: 64, type: 't', key: 'ToolbarH'},\r\n {from: 0, to: 1, type: 't', key: 'ToolbarCBG'},\r\n {from: 255, to: 0, type: 't', key: 'ToolbarCOL'},\r\n {from: 0, to: 100, type: 't', key: 'ToolbarCBGPOS'},\r\n {from: reverse ? 28 : 0, to: reverse ? 0 : -28, type: 't', key: 'ToolbarCTY'},\r\n {from: 1, to: 0.675, type: 's', key: 'ToolbarLogoS'},\r\n ];\r\n const animSteps = getAnimationSteps(ranges, reverse, 20);\r\n const anim = this.builder\r\n .build([\r\n sequence([\r\n group([\r\n query(':self', [\r\n style({\r\n display: 'block'\r\n }),\r\n animate(`${time} ${curve}`,\r\n keyframes(animSteps.map((a) =>\r\n style({\r\n height: `${a.get('ToolbarH').inverse}px`,\r\n background: stayTransparent ? 'transparent' :\r\n `linear-gradient(180deg, rgb(245 245 245 / 1) 0%, rgb(245 245 245 / ${a.get('ToolbarCBG').inverse}) ${a.get('ToolbarCBGPOS').inverse}%)`,\r\n })\r\n )\r\n ))]),\r\n query('.ct', [\r\n animate(`${time} ${curve}`,\r\n keyframes(animSteps.map((a) =>\r\n style({\r\n transform: `translateY(${a.get('ToolbarCTY').inverse}px)`\r\n })\r\n )\r\n ))]),\r\n query('.mainCt', [\r\n style({ backgroundColor: 'transparent' }),\r\n animate(`${time} ${curve}`,\r\n keyframes(animSteps.map((a) => {\r\n const c = a.get('ToolbarCOL').inverse;\r\n return style({\r\n color: stayTransparent ? '#fff' : `rgb(${c} ${c} ${c})`\r\n });\r\n }))\r\n )]),\r\n query('#tb-logo', [\r\n animate(`${time} ${curve}`,\r\n keyframes(animSteps.map((a) =>\r\n style({\r\n transform: `scale(${a.get('ToolbarLogoS').step})`,\r\n transformOrigin: 'center left'\r\n })\r\n )\r\n ))])\r\n ]),\r\n group([\r\n query('.ct', [\r\n style({\r\n transform: 'translateY(0px)'\r\n }),\r\n ]),\r\n query('.mainCt', [\r\n style({\r\n backgroundColor: bg,\r\n boxShadow: boxShadow\r\n }),\r\n ])\r\n ])\r\n ])\r\n\r\n ]);\r\n\r\n return anim;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.lastAnimPlayer) {\r\n this.lastAnimPlayer.destroy();\r\n }\r\n }\r\n\r\n showNewsletterBanner() {\r\n this.toolbarService.showNewsletterSubscribeDialog(this.viewContainerRef);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n @defer (when toolbarService.leftSidebarToggleOpen()) {\r\n \r\n }\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n @defer () { \r\n \r\n }\r\n \r\n \r\n\r\n \r\n @defer (when toolbarService.rightSidebarToggleOpen()) {\r\n \r\n }\r\n \r\n\r\n
    \r\n\r\n","import { UsersService } from './shared/services/users/users.service';\r\nimport { ToolbarService } from './layout/components/toolbar/toolbar.service';\r\nimport {\r\n Component,\r\n Inject,\r\n OnInit,\r\n ViewEncapsulation,\r\n ViewContainerRef,\r\n ChangeDetectionStrategy,\r\n Renderer2,\r\n viewChild,\r\n ElementRef,\r\n inject,\r\n NgZone,\r\n effect,\r\n LOCALE_ID\r\n} from '@angular/core';\r\nimport { DOCUMENT, Location } from '@angular/common';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport { ActivatedRoute, Params, RouterOutlet } from '@angular/router';\r\nimport { IconsLoader } from '@shared/services/icons/icons-loader.service';\r\nimport { navigation } from './navigation/navigation';\r\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\r\nimport { routeTransitionAnimations } from './app-router-animations';\r\nimport { FuseMatchMediaService } from '@fuse/services/match-media.service';\r\nimport { NotificationService } from './shared/services/notification/notification.service';\r\nimport { NgScrollbar, NgScrollbarModule } from 'ngx-scrollbar';\r\nimport { LeftNavbarComponent } from \"./layout/components/left-navbar/left-navbar.component\";\r\nimport { ToolbarComponent } from \"./layout/components/toolbar/toolbar.component\";\r\nimport { ScrollTopComponent } from \"./shared/components/scroll-top/scroll-top.component\";\r\nimport { RightNavbarComponent } from \"./layout/components/right-navbar/right-navbar.component\";\r\nimport { ScrollbarRefDirective } from './shared/scroll/scrollbar-ref.directive';\r\nimport { FromServerService } from './shared/services/from-server/from-server.service';\r\nimport { RenderIfDirective } from './shared/directives/render-if.directive';\r\nimport { LazyLoadService } from './lazy-load/lazy-load.service';\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: 'app',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [routeTransitionAnimations],\r\n standalone: true,\r\n imports: [\r\n LeftNavbarComponent,\r\n NgScrollbarModule,\r\n ToolbarComponent,\r\n RouterOutlet,\r\n ScrollTopComponent,\r\n RightNavbarComponent,\r\n ScrollbarRefDirective,\r\n RenderIfDirective\r\n ]\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n navigation: any;\r\n sbVisibilityLocked: boolean;\r\n routerAnimation: any = 'ready';\r\n zone = inject(NgZone);\r\n\r\n mainScrollBar = viewChild.required(NgScrollbar);\r\n lazyLoadService = inject(LazyLoadService);\r\n locale = inject(LOCALE_ID);\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: any,\r\n public toolbarService: ToolbarService,\r\n private fuseMediaMatchService: FuseMatchMediaService,\r\n private platform: Platform,\r\n private _iconsLoader: IconsLoader,\r\n private _route: ActivatedRoute,\r\n private usersService: UsersService,\r\n private location: Location,\r\n private renderer: Renderer2,\r\n private vc: ViewContainerRef,\r\n private notificationService: NotificationService,\r\n private el: ElementRef,\r\n private fromServerService: FromServerService,\r\n\r\n ) {\r\n\r\n if (this.platform.isBrowser) {\r\n this.notificationService.setViewContainerRef(this.vc);\r\n this._route.queryParams.subscribe((params: Params) => {\r\n if (params['token']) {\r\n this.usersService.updateToken(params['token']);\r\n }\r\n });\r\n\r\n // DA ATTIVARE PRIMA DELLA PUBBLICAZIONE, AGGIORNANDO GOOGLE TAG MANAGER (Rimosso caricamento script cookie bot da CMP template)\r\n\r\n effect(()=> {\r\n if(this.usersService.userAction()) {\r\n this.lazyLoadService.loadScript(`https://consent.cookiebot.eu/uc.js?cbid=5557603d-73c4-4dae-8391-e08a5d64b266&implementation=gtm&consentmode-dataredaction=dynamic&culture=${this.locale}`, true);\r\n }\r\n });\r\n }\r\n this._iconsLoader.load('core');\r\n\r\n // Get default navigation\r\n this.navigation = navigation;\r\n\r\n // Add is-mobile class to the body if the platform is mobile\r\n if (this.platform.ANDROID || this.platform.IOS) {\r\n this.document.body.classList.add('is-mobile');\r\n\r\n this.fuseMediaMatchService.onMediaChange$\r\n .pipe(\r\n untilDestroyed(this)\r\n ).subscribe(async ({matchingAliases}) => {\r\n if (matchingAliases.includes('HandsetLandscape')) {\r\n if (!document.fullscreenElement) {\r\n this.usersService.confirmAction({\r\n title: $localize`Warning`,\r\n message: $localize`Landscape mode is not allowed on this web app!`,\r\n cancelText: null,\r\n confirmText: $localize`Ok`\r\n })\r\n .subscribe(res => {\r\n this.lockScreenPortrait(true);\r\n });\r\n }\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.platform.isBrowser) {\r\n this.renderer.removeClass(this.el.nativeElement, 'ssr');\r\n }\r\n }\r\n\r\n routerAnimDone(e): void {\r\n this.routerAnimation = 'ready';\r\n }\r\n\r\n setAnimation(outlet: RouterOutlet): void {\r\n if (this.platform.isBrowser && !this.fromServerService.isFromServer) {\r\n const _state = this.location.getState();\r\n\r\n if (_state && _state[`stand`]) {\r\n const dir = _state[`stand`];\r\n const p = dir === 'next' ? 100 : -100;\r\n this.routerAnimation = {value: 'slideStand', params: {enter: p, leave: -p }};\r\n }\r\n } \r\n }\r\n\r\n private lockScreenPortrait(lock: boolean): Promise {\r\n let goFullScreen = 'requestFullscreen';\r\n let exitFullScreen = 'exitFullscreen';\r\n let orientKey = 'orientation';\r\n if ('mozOrientation' in screen) {\r\n orientKey = 'mozOrientation';\r\n } else if ('msOrientation' in screen) {\r\n orientKey = 'msOrientation';\r\n }\r\n const docEl = document.documentElement;\r\n if ('mozRequestFullScreen' in docEl) {\r\n goFullScreen = 'mozRequestFullScreen';\r\n exitFullScreen = 'mozCancelFullScreen';\r\n } else if ('webkitRequestFullscreen' in docEl) {\r\n goFullScreen = 'webkitRequestFullscreen';\r\n exitFullScreen = 'webkitExitFullscreen';\r\n } else if ('msRequestFullscreen' in docEl) {\r\n goFullScreen = 'msRequestFullscreen';\r\n exitFullScreen = 'msExitFullscreen';\r\n }\r\n if (docEl[goFullScreen]) {\r\n if (lock) {\r\n docEl[goFullScreen]({navigationUI: 'show'});\r\n } else {\r\n docEl[exitFullScreen]();\r\n }\r\n\r\n const promise = lock ? screen[orientKey].lock('portrait') : screen[orientKey].unlock();\r\n promise.then(res => {\r\n return res;\r\n })\r\n .catch(err => {\r\n return err;\r\n });\r\n\r\n } else {\r\n return Promise.resolve(false);\r\n }\r\n }\r\n}\r\n","import { environment } from './environments/environment';\r\n\r\n/// \r\n\r\nimport { bootstrapApplication } from '@angular/platform-browser';\r\nimport { appBrowserConfig } from './app/app.config.browser';\r\nimport { AppComponent } from './app/app.component';\r\n\r\nfunction browserSupportsAllFeatures(): any {\r\n return window['Intl'] && document.head['animate'];\r\n}\r\n\r\nfunction loadScript(src, done): void {\r\n const js = document.createElement('script');\r\n js.src = src;\r\n js.type = 'text/javascript';\r\n js.crossOrigin = 'anonymous';\r\n js.onload = (): void => {\r\n js.onload = null;\r\n done();\r\n };\r\n js.onerror = (): void => {\r\n done(new Error('Failed to load script ' + src));\r\n };\r\n document.head.appendChild(js);\r\n}\r\n// identifico se il browser supporta webp. Da utilizzare nelle background-images\r\n// https://css-tricks.com/using-webp-images/\r\n// document.documentElement.classList.add(canUseWebp() ? 'webp' : 'no-webp');\r\n\r\nconst bootstrap = () => bootstrapApplication(AppComponent, appBrowserConfig).catch((err) => console.error(err));\r\n// setTimeout(bootstrap);\r\n\r\n// platformBrowserDynamic().bootstrapModule(AppBrowserModule)\r\n// .then(moduleRef => {\r\n// const applicationRef = moduleRef.injector.get(ApplicationRef);\r\n// const componentRef = applicationRef.components[0];\r\n// enableDebugTools(componentRef);\r\n// })\r\n// .catch(err => console.error(err));\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n if (browserSupportsAllFeatures()) {\r\n // ultimo aggiornamento per il polyfills\r\n // https://github.com/angular/angular-cli/pull/13403\r\n // devo guardarci bene.\r\n // inizialmente l'idea nasce da qui:\r\n // https://github.com/angular/angular-cli/issues/6577#issuecomment-457566648\r\n\r\n // Browsers that support all features run `main()` immediately.\r\n bootstrap();\r\n } else {\r\n // All other browsers loads polyfills and then run `main()`.\r\n loadScript('https://cdn.polyfill.io/v3/polyfill.min.js?features=es6,Element.prototype.classList,WebAnimations,Intl.~locale.en',\r\n () => {\r\n bootstrap();\r\n });\r\n }\r\n});\r\n\r\n"]}