{"version":3,"file":"main-es2015.js","mappings":"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Ae;QACf,wGAA6B;QAC7B,qEAAe;QACf,6DAAmB;QACnB,wEAAkB;QAClB,sEAAgB;QAChB,gEAAmB;QACnB,8GAAwB;QACxB,oJAAoC;QACpC,iJAAmC;QACnC,6DAAW;QACX,wFAAwB;QACxB,0DAAU;QACV,2EAAa;QACb,kEAAc;;;;;;;;;;;;;;;;AC5GlB,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;;;ACfzB;AAEd;AAEY;AACY;AAEvD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACZpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routing.module.ts","./src/app/core/components/login/login.component.ts","./src/app/core/components/login/login.component.html","./src/app/core/components/navbar/navbar.component.ts","./src/app/core/components/navbar/navbar.component.html","./src/app/core/components/sidebar/sidebar.component.ts","./src/app/core/components/sidebar/sidebar.component.html","./src/app/core/components/social-login/social-login.component.ts","./src/app/core/components/social-login/social-login.component.html","./src/app/core/core.module.ts","./src/app/core/core.routing.module.ts","./src/app/core/guards/admin.guard.ts","./src/app/core/guards/super-admin.guard.ts","./src/app/core/interceptors/jwt.interceptor.helper.ts","./src/app/core/models/login.model.ts","./src/app/core/services/login.service.ts","./src/app/features/home/services/invia-mail.service.ts","./src/app/features/tasso/models/tasso.model.ts","./src/app/shared/components/avviso-conferma-eliminazione/avviso-conferma-eliminazione.component.ts","./src/app/shared/components/avviso-conferma-eliminazione/avviso-conferma-eliminazione.component.html","./src/app/shared/components/avviso-licenza-scaduta/avviso-licenza-scaduta.component.ts","./src/app/shared/components/avviso-licenza-scaduta/avviso-licenza-scaduta.component.html","./src/app/shared/components/avviso-salvataggio-completato/avviso-salvataggio-completato.component.ts","./src/app/shared/components/avviso-salvataggio-completato/avviso-salvataggio-completato.component.html","./src/app/shared/components/messaggio-errore/messaggio-errore.component.ts","./src/app/shared/components/messaggio-errore/messaggio-errore.component.html","./src/app/shared/components/pagina-in-mautenzione/pagina-in-mautenzione.component.ts","./src/app/shared/components/pagina-in-mautenzione/pagina-in-mautenzione.component.html","./src/app/shared/components/pagina-internet-explorer/pagina-internet-explorer.component.ts","./src/app/shared/components/pagina-internet-explorer/pagina-internet-explorer.component.html","./src/app/shared/components/pagina-non-trovata/pagina-non-trovata.component.ts","./src/app/shared/components/pagina-non-trovata/pagina-non-trovata.component.html","./src/app/shared/components/pagina-utente-non-autorizzato/pagina-utente-non-autorizzato.component.ts","./src/app/shared/components/pagina-utente-non-autorizzato/pagina-utente-non-autorizzato.component.html","./src/app/shared/components/step/step.component.ts","./src/app/shared/components/step/step.component.html","./src/app/shared/directives/numero-formattato-euro.directive.ts","./src/app/shared/global/global.ts","./src/app/shared/global/pdf.model.ts","./src/app/shared/pipes/elenco-array.pipe.ts","./src/app/shared/pipes/formatta-dimensioni-file.pipe.ts","./src/app/shared/pipes/numero-formattato-euro.pipe.ts","./src/app/shared/pipes/paginazione.pipe.ts","./src/app/shared/pipes/periodo.pipe.ts","./src/app/shared/services/errore-http.service.ts","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale|sync|/^/.*$"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","// 10/05/2020.\nimport {Component} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {NgxSpinnerService} from 'ngx-spinner';\nimport {LoginService} from './core/services/login.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\n\nexport class AppComponent {\n\n public testoSpinner: string;\n public messaggioErrore: string;\n public sideBarVisibile: boolean;\n\n constructor(public router: Router, private spinner: NgxSpinnerService, public loginService: LoginService) {\n\n // Determina il browser.\n const agent = window.navigator.userAgent.toLowerCase();\n switch (true) {\n case agent.indexOf('edge') > -1:\n // console.log('edge');\n break;\n case agent.indexOf('opr') > -1 && !!(window as any).opr:\n // console.log('opera');\n break;\n case agent.indexOf('chrome') > -1 && !!(window as any).chrome:\n // console.log('chrome');\n break;\n case agent.indexOf('trident') > -1:\n // console.log('trident');\n this.router.navigate(['pagina-internet-explorer']).then(); // ??...\n break;\n case agent.indexOf('firefox') > -1:\n // console.log('firefox');\n break;\n case agent.indexOf('safari') > -1:\n // console.log('safari');\n break;\n default:\n // console.log('altro');\n }\n\n // // Tracciamento (es. Google Analytics).\n // https://devandreacarratta.it/google-analytics-integrazione-angular-website/\n // router.events\n // .pipe(\n // filter(event => event instanceof NavigationEnd),\n // )\n // .subscribe((event: NavigationEnd) => {\n // console.log(event.url);\n // });\n }\n\n mostraSpinner(testo: string) {\n\n // Mostra lo spinner.\n setTimeout(() => this.spinner.show('spinner'), 0);\n setTimeout(() => this.testoSpinner = testo, 0);\n }\n\n nascondiSpinner() {\n\n // Nasconde lo spinner.\n setTimeout(() => this.spinner.hide('spinner'), 0);\n }\n}\n","\n\n\n\n

{{this.testoSpinner}}

\n\n\n\n\n\n
\n\n \n \n \n \n\n \n
\n \n
\n
\n","// 27/07/2020.\nimport {LOCALE_ID, NgModule} from '@angular/core';\nimport {registerLocaleData} from '@angular/common';\nimport localeIt from '@angular/common/locales/it';\nimport {BrowserModule} from '@angular/platform-browser';\nimport {AppComponent} from './app.component';\nimport {RouterModule} from '@angular/router';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {CoreModule} from './core/core.module';\nimport {SharedModule} from './shared/shared.module';\nimport {AppRoutingModule} from './app.routing.module';\nimport {GoogleChartsModule} from 'angular-google-charts';\nimport {HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {JwtInterceptorHelper} from './core/interceptors/jwt.interceptor.helper';\nimport {FacebookLoginProvider, GoogleLoginProvider, MicrosoftLoginProvider, SocialAuthServiceConfig, SocialLoginModule} from 'angularx-social-login';\nregisterLocaleData(localeIt, 'it');\n\n@NgModule({\n declarations: [\n AppComponent,\n ],\n\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n SharedModule,\n CoreModule,\n RouterModule,\n GoogleChartsModule.forRoot({version: 'chart-version'}),\n SocialLoginModule, // deve stare in AppModule.\n ],\n\n providers: [\n {provide: LOCALE_ID, useValue: 'it'},\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptorHelper,\n multi: true\n },\n {\n provide: 'SocialAuthServiceConfig',\n useValue: {\n autoLogin: false,\n providers: [\n {\n id: GoogleLoginProvider.PROVIDER_ID,\n provider: new GoogleLoginProvider('593829855171-t4qe19gqmltk02udms6ol92499dr2add.apps.googleusercontent.com',\n {\n scope: 'profile email',\n // access_type: 'offline',\n // approval_prompt: 'force',\n // https://developers.google.com/api-client-library/javascript/reference/referencedocs#gapiauth2clientconfig\n }\n )\n },\n {\n id: FacebookLoginProvider.PROVIDER_ID,\n provider: new FacebookLoginProvider('4278771038816601',\n {\n scope: 'email,public_profile',\n return_scopes: true,\n enable_profile_selector: true,\n locale: 'it_IT',\n fields: 'name,email,picture,first_name,last_name',\n version: 'v4.0',\n // https://developers.facebook.com/docs/reference/javascript/FB.login/v2.11\n }\n )\n },\n {\n id: MicrosoftLoginProvider.PROVIDER_ID,\n provider: new MicrosoftLoginProvider('__CLIENT_ID__', {\n redirect_uri: 'https://microsoft.com',\n logout_redirect_uri: 'https://microsoft.com/logout'\n // https://github.com/abacritt/angularx-social-login/blob/HEAD/microsoft-provider.md\n }),\n }\n ]\n } as SocialAuthServiceConfig,\n }\n ],\n\n bootstrap: [AppComponent]\n})\n\nexport class AppModule {\n}\n","// 10/05/2020.\r\nimport {NgModule} from '@angular/core';\r\nimport {RouterModule, Routes} from '@angular/router';\r\nimport {PaginaNonTrovataComponent} from './shared/components/pagina-non-trovata/pagina-non-trovata.component';\r\nimport {PaginaUtenteNonAutorizzatoComponent} from './shared/components/pagina-utente-non-autorizzato/pagina-utente-non-autorizzato.component';\r\nimport {AdminGuard} from './core/guards/admin.guard';\r\nimport {SuperAdminGuard} from './core/guards/super-admin.guard';\r\nimport {AvvisoLicenzaScadutaComponent} from './shared/components/avviso-licenza-scaduta/avviso-licenza-scaduta.component';\r\nimport {PaginaInternetExplorerComponent} from './shared/components/pagina-internet-explorer/pagina-internet-explorer.component';\r\n\r\n// Routes.\r\nconst routes: Routes = [\r\n\r\n // Test.\r\n // {path: 'test-periodi', loadChildren: () => import('./features/test-periodi/test-periodi.module').then(m => m.TestPeriodiModule)},\r\n {path: 'test-impaginazione', loadChildren: () => import('./features/test-impaginazione/test-impaginazione.module').then(m => m.TestImpaginazioneModule)},\r\n // {path: '', component: TestSpeseAccessorieComponent},\r\n\r\n // Pubbliche.\r\n {path: '', loadChildren: () => import('./core/core.module').then(m => m.CoreModule)},\r\n {path: 'pagina-internet-explorer', component: PaginaInternetExplorerComponent},\r\n {path: 'contattaci', loadChildren: () => import('./features/home/home.module').then(m => m.HomeModule)},\r\n {path: 'login', loadChildren: () => import('./core/core.module').then(m => m.CoreModule)},\r\n {path: 'registrazione', loadChildren: () => import('./features/registrazione/registrazione.module').then(m => m.RegistrazioneModule)},\r\n {path: 'utente-non-autorizzato', component: PaginaUtenteNonAutorizzatoComponent},\r\n {path: 'licenza-scaduta', component: AvvisoLicenzaScadutaComponent},\r\n\r\n // Con autenticazione Admin (titolari della licenza).\r\n {path: 'clienti', loadChildren: () => import('./features/cliente/cliente.module').then(m => m.ClienteModule), canActivate: [AdminGuard]},\r\n {path: 'pratiche', loadChildren: () => import('./features/pratiche/pratiche.module').then(m => m.PraticheModule), canActivate: [AdminGuard]},\r\n {path: 'praticheCalcoloTaeg', loadChildren: () => import('./features/pratica-calcolo-taeg/pratica-calcolo-taeg.module').then(m => m.PraticaCalcoloTaegModule), canActivate: [AdminGuard]},\r\n {path: 'calcolo-taeg', loadChildren: () => import('./features/calcolo-taeg/calcolo-taeg.module').then(m => m.CalcoloTaegModule), canActivate: [AdminGuard]},\r\n {path: 'praticheCalcoloMutui', loadChildren: () => import('./features/pratica-calcolo-mutui/pratica-calcolo-mutui.module').then(m => m.PraticaCalcoloMutuiModule), canActivate: [AdminGuard]},\r\n {path: 'pianiAmmortamento', loadChildren: () => import('./features/piani-ammortamento/piani-ammortamento.module').then(m => m.PianiAmmortamentoModule), canActivate: [AdminGuard]},\r\n {path: 'speseAccessorie', loadChildren: () => import('./features/spesa-accessoria/spesa-accessoria.module').then(m => m.SpesaAccessoriaModule), canActivate: [AdminGuard]},\r\n {path: 'tasso/:tipologiaTasso', loadChildren: () => import('./features/tasso/tasso.module').then(m => m.TassoModule), canActivate: [AdminGuard]},\r\n {path: 'ordine', loadChildren: () => import('./features/ordine/ordine.module').then(m => m.OrdineModule), canActivate: [AdminGuard]},\r\n\r\n // Con autenticazione Elcom.\r\n {path: 'admin', loadChildren: () => import('./features/admin/admin.module').then(m => m.AdminModule), canActivate: [SuperAdminGuard]},\r\n // {path: '10-e-lotto', loadChildren: () => import('./features/10-e-lotto/dieci-e-lotto.module').then(m => m.DieciELottoModule), canActivate: [SuperAdminGuard]},\r\n\r\n // 404.\r\n {path: '**', component: PaginaNonTrovataComponent},\r\n\r\n // // // In manutenzione (disabilitare tutte le altre route - tranne clienti??).\r\n // {path: '**', component: PaginaInMautenzioneComponent},\r\n];\r\n\r\n@NgModule({\r\n\r\n imports: [\r\n RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' }),\r\n ],\r\n\r\n exports: [\r\n RouterModule,\r\n ]\r\n})\r\n\r\nexport class AppRoutingModule {\r\n}\r\n","// 03/07/2021.\r\nimport {Component, ElementRef, EventEmitter, HostListener, isDevMode, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {HttpClient, HttpErrorResponse} from '@angular/common/http';\r\nimport {LoginService} from '../../services/login.service';\r\nimport {Global} from '../../../shared/global/global';\r\nimport {AppComponent} from '../../../app.component';\r\nimport {ErroreHttpService} from '../../../shared/services/errore-http.service';\r\nimport {DeviceDetectorService, DeviceInfo} from 'ngx-device-detector';\r\nimport {LoginModel} from '../../models/login.model';\r\nimport {UserViewModel} from '../../models/user.model';\r\nimport {environment} from 'src/environments/environment';\r\nimport {SocialUser} from 'angularx-social-login';\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\n\r\nexport class LoginComponent implements OnInit {\r\n\r\n public deviceInfo: DeviceInfo;\r\n public form: FormGroup;\r\n public richiestaInviata = false;\r\n public avvisoUrlAPI: boolean;\r\n public messaggioErrore: string;\r\n public avvisoBloccoMaiuscole = false;\r\n public testImpaginazione: boolean;\r\n\r\n @Output() registrazioneEmitter = new EventEmitter();\r\n\r\n @ViewChild('username') public username: ElementRef;\r\n @ViewChild('password') public password: ElementRef;\r\n\r\n constructor(\r\n private app: AppComponent,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private erroreHttp: ErroreHttpService,\r\n public loginService: LoginService,\r\n private formBuilder: FormBuilder,\r\n private deviceService: DeviceDetectorService,\r\n private http: HttpClient,\r\n ) {\r\n\r\n // Inizializzazione del form.\r\n this.form = new FormGroup({\r\n username: new FormControl(''),\r\n password: new FormControl(''),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Validazione.\r\n this.form = this.formBuilder.group({\r\n username: [null, [Validators.required, Validators.email]],\r\n password: [null, [Validators.required]]\r\n });\r\n\r\n // Recupera i dati del device.\r\n this.deviceInfo = this.deviceService.getDeviceInfo();\r\n\r\n // Avvisa url di produzione.\r\n if (!isDevMode() && Global.urlAPI.toString().indexOf('localhost') > 0) {\r\n this.avvisoUrlAPI = true;\r\n }\r\n\r\n // Imposta il focus.\r\n if (!this.loginService.utenteLoggato) {\r\n setTimeout(() => this.username.nativeElement.focus(), 0);\r\n }\r\n\r\n // Preimposta l'username dopo la registrazione.\r\n this.route.params.subscribe(params => {\r\n if (params.username) {\r\n this.form.controls.username.setValue(params.username);\r\n setTimeout(() => this.password.nativeElement.focus(), 0);\r\n }\r\n });\r\n\r\n // Test impaginazione.\r\n this.testImpaginazione = !environment.production;\r\n }\r\n\r\n login() {\r\n\r\n // Richiesta in corso.\r\n this.richiestaInviata = true;\r\n\r\n // Valida il form.\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n\r\n // Mostra lo spinner.\r\n this.messaggioErrore = '';\r\n this.app.mostraSpinner('Autenticazione in corso...');\r\n\r\n // Mapping.\r\n const model: LoginModel = Object.assign({}, this.form.value);\r\n\r\n // Recupera i dati sul device.\r\n model.dispositivo = this.deviceInfo.device;\r\n model.os = this.deviceInfo.os;\r\n model.osVersione = this.deviceInfo.os_version;\r\n model.browser = this.deviceInfo.browser;\r\n model.browserVersione = this.deviceInfo.browser_version;\r\n\r\n // Dispositivo.\r\n if (this.deviceService.isMobile()) {\r\n model.dispositivo = 'Mobile';\r\n }\r\n if (this.deviceService.isTablet()) {\r\n model.dispositivo = 'Tablet';\r\n }\r\n if (this.deviceService.isDesktop()) {\r\n model.dispositivo = 'Desktop';\r\n }\r\n if (this.deviceService.device !== 'Unknown') {\r\n model.dispositivo = model.dispositivo + ' ' + this.deviceService.device;\r\n }\r\n\r\n // Login.\r\n this.loginService.login(model).subscribe(\r\n (resp: UserViewModel) => {\r\n\r\n // Dati.\r\n this.loginService.utenteCorrente = resp;\r\n\r\n // Nasconde lo spinner.\r\n this.app.nascondiSpinner();\r\n\r\n // Utente Elcom.\r\n let regex = /(SuperAdmin)/g;\r\n if (regex.test(this.loginService.utenteCorrente?.ruoli.toString())) {\r\n this.router.navigate(['admin']).then();\r\n return;\r\n }\r\n\r\n // Utente User (titolare della licenza).\r\n regex = /(Admin)/g;\r\n if (regex.test(this.loginService.utenteCorrente?.ruoli.toString())) {\r\n\r\n // Verfica la licenza.\r\n if (this.loginService.utenteCorrente.dataScadenzaLicenza && this.loginService.licenzaScaduta) {\r\n this.router.navigate(['licenza-scaduta']).then();\r\n } else {\r\n this.router.navigate(['clienti']).then();\r\n }\r\n return;\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.messaggioErrore = this.erroreHttp.errore(error);\r\n this.app.nascondiSpinner();\r\n return;\r\n },\r\n () => {\r\n\r\n // Nasconde lo spinner.\r\n this.app.nascondiSpinner();\r\n }\r\n );\r\n }\r\n\r\n resetPassword() {\r\n this.router.navigate(['registrazione/reset-password']).then();\r\n }\r\n\r\n registrazione() {\r\n this.router.navigate(['registrazione']).then();\r\n }\r\n\r\n googleSignIn(socialUser: SocialUser): void {\r\n if (!socialUser) {\r\n return;\r\n }\r\n\r\n // Mostra lo spinner.\r\n this.messaggioErrore = '';\r\n this.app.mostraSpinner('Autenticazione tramite Google in corso...');\r\n\r\n // Model.\r\n const model = new LoginModel();\r\n model.username = socialUser.email;\r\n model.socialProvider = socialUser.provider;\r\n model.socialToken = socialUser.idToken;\r\n model.password = '';\r\n model.ricordami = false;\r\n model.dispositivo = this.deviceInfo.device;\r\n model.os = this.deviceInfo.os;\r\n model.osVersione = this.deviceInfo.os_version;\r\n model.browser = this.deviceInfo.browser;\r\n model.browserVersione = this.deviceInfo.browser_version;\r\n model.socialIdUser = socialUser.id;\r\n\r\n // Social SignIn.\r\n this.loginService.socialSignIn(model).subscribe(\r\n (resp: UserViewModel) => {\r\n\r\n // Dati.\r\n this.loginService.utenteCorrente = resp;\r\n\r\n // Nasconde lo spinner.\r\n this.app.nascondiSpinner();\r\n\r\n // Utente Elcom.\r\n let regex = /(SuperAdmin)/g;\r\n if (regex.test(this.loginService.utenteCorrente?.ruoli.toString())) {\r\n this.router.navigate(['admin']).then();\r\n return;\r\n }\r\n\r\n // Utente User (titolare della licenza).\r\n regex = /(Admin)/g;\r\n if (regex.test(this.loginService.utenteCorrente?.ruoli.toString())) {\r\n\r\n // Verfica la licenza.\r\n if (this.loginService.licenzaScaduta) {\r\n this.router.navigate(['licenza-scaduta']).then();\r\n } else {\r\n this.router.navigate(['clienti']).then();\r\n }\r\n return;\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.messaggioErrore = this.erroreHttp.errore(error);\r\n this.app.nascondiSpinner();\r\n return;\r\n },\r\n () => {\r\n\r\n // Nasconde lo spinner.\r\n this.app.nascondiSpinner();\r\n }\r\n );\r\n\r\n }\r\n\r\n facebookSignIn(socialUser: SocialUser): void {\r\n if (!socialUser) {\r\n return;\r\n }\r\n\r\n // Mostra lo spinner.\r\n this.messaggioErrore = '';\r\n this.app.mostraSpinner('Autenticazione tramite Facebook in corso...');\r\n\r\n // Model.\r\n const model = new LoginModel();\r\n model.username = socialUser.email;\r\n model.socialProvider = socialUser.provider;\r\n model.socialToken = socialUser.authToken;\r\n model.password = '';\r\n model.ricordami = false;\r\n model.dispositivo = this.deviceInfo.device;\r\n model.os = this.deviceInfo.os;\r\n model.osVersione = this.deviceInfo.os_version;\r\n model.browser = this.deviceInfo.browser;\r\n model.browserVersione = this.deviceInfo.browser_version;\r\n model.socialIdUser = socialUser.id;\r\n\r\n // Social SignIn.\r\n this.loginService.socialSignIn(model).subscribe(\r\n (resp: UserViewModel) => {\r\n\r\n // Dati.\r\n this.loginService.utenteCorrente = resp;\r\n\r\n // Nasconde lo spinner.\r\n this.app.nascondiSpinner();\r\n\r\n // Utente Elcom.\r\n let regex = /(SuperAdmin)/g;\r\n if (regex.test(this.loginService.utenteCorrente?.ruoli.toString())) {\r\n this.router.navigate(['admin']).then();\r\n return;\r\n }\r\n\r\n // Utente User (titolare della licenza).\r\n regex = /(Admin)/g;\r\n if (regex.test(this.loginService.utenteCorrente?.ruoli.toString())) {\r\n\r\n // Verfica la licenza.\r\n if (this.loginService.licenzaScaduta) {\r\n this.router.navigate(['licenza-scaduta']).then();\r\n } else {\r\n this.router.navigate(['clienti']).then();\r\n }\r\n return;\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.messaggioErrore = this.erroreHttp.errore(error);\r\n this.app.nascondiSpinner();\r\n return;\r\n },\r\n () => {\r\n\r\n // Nasconde lo spinner.\r\n this.app.nascondiSpinner();\r\n }\r\n );\r\n\r\n }\r\n\r\n // Avvisa blocco maiuscole.\r\n @HostListener('window:click', ['$event']) onClick(event: any) {\r\n if (event.getModifierState && event.getModifierState('CapsLock')) {\r\n this.avvisoBloccoMaiuscole = true;\r\n } else {\r\n this.avvisoBloccoMaiuscole = false;\r\n }\r\n }\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n onKeyDown(event: any) {\r\n if (event.getModifierState && event.getModifierState('CapsLock')) {\r\n this.avvisoBloccoMaiuscole = true;\r\n } else {\r\n this.avvisoBloccoMaiuscole = false;\r\n }\r\n }\r\n\r\n @HostListener('window:keyup', ['$event'])\r\n onKeyUp(event: any) {\r\n if (event.getModifierState && event.getModifierState('CapsLock')) {\r\n this.avvisoBloccoMaiuscole = true;\r\n } else {\r\n this.avvisoBloccoMaiuscole = false;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n\r\n

Login

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Inserisci la tua Email.
\r\n
Formato della Email non valido.
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Inserisci la password.
\r\n
La Password deve essere composta da almeno 6\r\n caratteri.\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
BLOCCO MAIUSCOLE è attivato
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n Password dimenticata? Resetta password\r\n

\r\n

\r\n Vuoi fare una prova gratuita? Registrati (basta solo la mail)\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n ATTENZIONE: collegamento all'endpoint errato!!!\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n","// 16/03/2020.\nimport {Component, OnInit} from '@angular/core';\nimport {LoginService} from '../../services/login.service';\nimport {Global} from '../../../shared/global/global';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.css']\n})\n\nexport class NavbarComponent implements OnInit {\n\n public ultimaVersione: string;\n public dataScadenza: Date;\n public giorniScadenza: number;\n public mostraVersione: boolean;\n\n constructor(public router: Router, public loginService: LoginService) {\n // ...\n }\n\n ngOnInit() {\n this.mostraVersione = false;\n this.ultimaVersione = `v. ${Global.ultimaVersione.substr(4)}`;\n }\n\n logout() {\n this.loginService.logout();\n }\n}\n","\n\n\n\n\n","// 19/04/2020.\nimport {Component, Input} from '@angular/core';\nimport {AppComponent} from '../../../app.component';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {HttpClient} from '@angular/common/http';\nimport {LoginService} from '../../services/login.service';\nimport {ErroreHttpService} from '../../../shared/services/errore-http.service';\nimport {TipologieTasso} from '../../../features/tasso/models/tasso.model';\nimport {MailModel} from '../../../features/home/models/mail.model';\nimport {InviaMailService} from '../../../features/home/services/invia-mail.service';\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.css']\n})\n\nexport class SidebarComponent {\n\n public tipologieTasso = TipologieTasso;\n\n @Input() public idCondominio: string;\n @Input() public idAmministratore: string;\n\n constructor(private app: AppComponent, private router: Router, private route: ActivatedRoute, private erroreHttp: ErroreHttpService, private http: HttpClient, public loginService: LoginService, private inviaMailService: InviaMailService) {\n // ...\n }\n\n elencoUtenti() {\n this.router.navigate(['admin/elenco-clienti-elcom']).then();\n }\n\n elencoOrdini() {\n this.router.navigate(['ordine/elenco-ordini']).then();\n }\n\n elencoLicenze() {\n this.router.navigate(['admin/elenco-licenze']).then();\n }\n\n elencoAccessi() {\n this.router.navigate(['admin']).then();\n }\n\n testAPI() {\n this.router.navigate(['admin/test-api']).then();\n }\n\n testImpaginazione() {\n this.router.navigate(['test-impaginazione', '153b8758-48f1-4f13-8ef2-29a8504ed6d6']).then();\n }\n\n tasso(tipologiaTasso: number) {\n this.router.navigate(['tasso', tipologiaTasso]).then();\n }\n\n mediaEuribor() {\n this.router.navigate(['media-euribor']).then();\n }\n\n pubblicita(prodotto: string) {\n\n // Invia mail.\n const model: MailModel = {\n destinatario: '',\n messaggio: `L'utente ${this.loginService.utenteCorrente.username} ha cliccato sulla pubblicità di ${prodotto}.`,\n mittente: '',\n notificaAZSoftware: true,\n notificaElcomsoftware: true,\n oggetto: `Possibile interessamento a ${prodotto}.`,\n };\n\n this.inviaMailService.inviaMail(model).subscribe(\n () => {\n },\n );\n }\n}\n","\n\n\n\n\n\n\n
\n
\n
\n\n
\n\n \n -1\"\n (click)=\"this.elencoUtenti()\"\n class=\"list-group-item-admin d-inline-block collapsed link\" data-parent=\"#sidebar\"\n style=\"height: 30px; cursor: pointer; vertical-align: center; font-size: 1.2em; color: white; padding-left: 20px;\">\n \n Elenco Utenti\n \n\n \n -1\"\n (click)=\"this.elencoOrdini()\"\n class=\"list-group-item-admin d-inline-block collapsed link\" data-parent=\"#sidebar\"\n style=\"height: 30px; cursor: pointer; vertical-align: center; font-size: 1.2em; color: white; padding-left: 20px;\">\n \n Elenco Ordini\n \n\n \n -1\"\n (click)=\"this.elencoLicenze()\"\n class=\"list-group-item-admin d-inline-block collapsed link\" data-parent=\"#sidebar\"\n style=\"height: 30px; cursor: pointer; vertical-align: center; font-size: 1.2em; color: white; padding-left: 20px;\">\n \n Elenco Licenze\n \n\n \n -1\"\n (click)=\"this.elencoAccessi()\"\n class=\"list-group-item-admin d-inline-block collapsed link\" data-parent=\"#sidebar\"\n style=\"height: 30px; cursor: pointer; vertical-align: center; font-size: 1.2em; color: white; padding-left: 20px;\">\n \n Accessi\n \n\n \n -1\"\n (click)=\"this.testAPI()\"\n class=\"list-group-item-admin d-inline-block collapsed link\" data-parent=\"#sidebar\"\n style=\"height: 30px; cursor: pointer; vertical-align: center; font-size: 1.2em; color: white; padding-left: 20px;\">\n Test API\n \n\n \n \n \n \n \n \n \n \n\n \n \n \n CLIENTI\n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n
\n \n TASSI CONTO CORRENTE\n
\n \n
\n
\n
\n \n\n \n \n
\n \n TASSI MUTUI E FINANZIAMENTI\n
\n \n
\n
\n
\n \n\n \n \n
\n \n ASSISTENZA\n
\n \n
\n
\n
\n\n \n
\n

\n Un solo canone, altri 2 software:\n

\n \n \n \n \n \n
\n \n \"software\n \n
\n
\n \n \"software\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n","// 03/07/2021.\nimport {Component, EventEmitter, OnInit, Output} from '@angular/core';\nimport {FacebookLoginProvider, GoogleLoginProvider, SocialAuthService, SocialUser} from 'angularx-social-login';\n\n@Component({\n selector: 'app-social-login',\n templateUrl: './social-login.component.html',\n styleUrls: ['./social-login.component.css']\n})\n\nexport class SocialLoginComponent implements OnInit {\n\n public socialUser: SocialUser | null | undefined;\n public socliaLogged: boolean | undefined;\n\n @Output() googleSignInEmitter = new EventEmitter();\n @Output() facebookSignInEmitter = new EventEmitter();\n\n // https://www.positronx.io/angular-google-social-login-tutorial-with-example/\n constructor(\n private socialAuthService: SocialAuthService\n ) {\n }\n\n ngOnInit() {\n\n // Sottoscrive le notifiche.\n this.socialAuthService.authState.subscribe((user: SocialUser | null) => {\n this.socialUser = user;\n this.socliaLogged = (user != null);\n });\n }\n\n signInWithGoogle(): void {\n\n // Refresh token.\n if (this.socialUser) {\n this.socialAuthService.refreshAuthToken(GoogleLoginProvider.PROVIDER_ID);\n }\n\n // SignIn.\n this.socialAuthService.signIn(GoogleLoginProvider.PROVIDER_ID).then((socialUser: SocialUser) => {\n this.googleSignInEmitter.emit(socialUser);\n });\n }\n\n signInWithFacebook(): void {\n\n // Refresh token.\n if (this.socialUser) {\n this.socialAuthService.refreshAuthToken(FacebookLoginProvider.PROVIDER_ID);\n }\n\n // SignIn.\n this.socialAuthService.signIn(FacebookLoginProvider.PROVIDER_ID).then((socialUser: SocialUser) => {\n this.facebookSignInEmitter.emit(socialUser);\n });\n }\n\n logOut(): void {\n this.socialAuthService.signOut();\n }\n}\n","\n
\n\n \n \n \n \n \n\n \n \n\n \n \n \n \n \n\n \n \n
\n\n\n
\n
oppure
\n\n
\n
\n \n Accedi con Google\n \n \n
\n
\n\n
\n
\n \n Accedi con Facebook\n \n \n
\n
\n","// 10/05/2020.\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CoreRoutingModule} from './core.routing.module';\nimport {LoginComponent} from './components/login/login.component';\nimport {SharedModule} from '../shared/shared.module';\nimport {NavbarComponent} from './components/navbar/navbar.component';\nimport {SidebarComponent} from './components/sidebar/sidebar.component';\nimport {RouterModule} from '@angular/router';\nimport {DeviceDetectorService} from 'ngx-device-detector';\nimport {SocialLoginComponent} from './components/social-login/social-login.component';\n\n@NgModule({\n\n declarations: [\n LoginComponent,\n SocialLoginComponent,\n NavbarComponent,\n SidebarComponent,\n ],\n\n imports: [\n CommonModule,\n CoreRoutingModule,\n SharedModule,\n RouterModule,\n ],\n\n exports: [\n NavbarComponent,\n SidebarComponent,\n ],\n\n providers: [\n {provide: DeviceDetectorService},\n ],\n})\n\nexport class CoreModule {\n}\n","// 10/05/2020.\r\nimport {NgModule} from '@angular/core';\r\nimport {RouterModule, Routes} from '@angular/router';\r\nimport {LoginComponent} from './components/login/login.component';\r\nimport {CreaModificaClienteComponent} from '../features/cliente/components/crea-modifica-cliente/crea-modifica-cliente.component';\r\nimport {HomeComponent} from '../features/home/components/home/home.component';\r\n\r\n// Routes.\r\nconst routes: Routes = [\r\n\r\n // Login.\r\n {path: '', component: LoginComponent},\r\n {path: 'login/:username', component: LoginComponent},\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes),\r\n ],\r\n\r\n exports: []\r\n})\r\n\r\nexport class CoreRoutingModule {\r\n}\r\n","// 12/02/2020.\nimport {ActivatedRouteSnapshot, CanActivate, Router} from '@angular/router';\nimport {LoginService} from '../services/login.service';\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class AdminGuard implements CanActivate {\n\n constructor(private router: Router, private loginServer: LoginService) {\n // ...\n }\n\n canActivate(route: ActivatedRouteSnapshot) {\n\n // Verifica il ruolo.\n const regex = /(SuperAdmin)|(Admin)/g;\n if (this.loginServer.utenteCorrente !== null && regex.test(this.loginServer.utenteCorrente?.ruoli.toString())) {\n return true;\n } else {\n this.router.navigate(['utente-non-autorizzato']).then();\n return false;\n }\n }\n}\n","// 12/05/2020.\nimport {Injectable} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, Router} from '@angular/router';\nimport {LoginService} from '../services/login.service';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class SuperAdminGuard implements CanActivate {\n\n constructor(private router: Router, private loginServer: LoginService) {\n }\n\n canActivate(route: ActivatedRouteSnapshot) {\n\n // Verifica il ruolo.\n const regex = /(SuperAdmin)/g;\n if (this.loginServer.utenteCorrente !== null && regex.test(this.loginServer.utenteCorrente?.ruoli.toString())) {\n return true;\n } else {\n this.router.navigate(['utente-non-autorizzato']).then();\n return false;\n }\n }\n}\n","// 14/05/2020.\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest} from '@angular/common/http';\r\nimport {Observable} from 'rxjs';\r\nimport {LoginService} from '../services/login.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class JwtInterceptorHelper implements HttpInterceptor {\r\n\r\n constructor(public loginService: LoginService) {\r\n // ...\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n // Verifica se l'utente è loggato.\r\n if (this.loginService.utenteLoggato && this.loginService.utenteCorrente !== null) {\r\n\r\n // Aggiunge il token alla richiesta.\r\n if (request.url.indexOf('openapi.it') === -1) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.loginService.utenteCorrente.token}`\r\n }\r\n });\r\n }\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","// 19/12/2020.\r\nexport class LoginModel {\r\n public username: string;\r\n public password: string;\r\n public ricordami: boolean;\r\n public dispositivo: string;\r\n public os: string;\r\n public osVersione: string;\r\n public browser: string;\r\n public browserVersione: string;\r\n public socialProvider: string;\r\n public socialToken: string;\r\n public socialIdUser: string;\r\n}\r\n","// 08/05/2021.\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {Observable, throwError} from 'rxjs';\r\nimport {Global} from '../../shared/global/global';\r\nimport {Router} from '@angular/router';\r\nimport {catchError, map} from 'rxjs/operators';\r\nimport {UserViewModel} from '../models/user.model';\r\nimport {LoginModel} from '../models/login.model';\r\nimport * as moment from 'moment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class LoginService {\r\n\r\n public utenteCorrente: UserViewModel;\r\n private minutiSessione = 20;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router\r\n ) {\r\n }\r\n\r\n login(model: LoginModel): Observable {\r\n\r\n // Invia le autenticazione.\r\n let url = Global.urlAPI + '/Autenticazione/Login';\r\n if (model.socialProvider) {\r\n url = Global.urlAPI + '/Autenticazione/FacebookSignIn';\r\n }\r\n const httpOptions = {\r\n headers: new HttpHeaders({'Content-Type': 'application/json'})\r\n };\r\n return this.http.post(url, model, httpOptions)\r\n .pipe(\r\n map((resp: UserViewModel) => {\r\n\r\n // Imposta l'utente corrente.\r\n this.utenteCorrente = resp;\r\n console.log(`Utente loggato correttamente (${moment().format('DD/MM/YYYY HH:mm:ss')})`);\r\n\r\n // Imposta la data di sessione.\r\n this.utenteCorrente.scadenzaSessione = moment().add(this.minutiSessione, 'minutes').toDate();\r\n\r\n // Logga l'utente.\r\n return resp;\r\n }\r\n ),\r\n catchError((error: HttpErrorResponse) => {\r\n return throwError(error);\r\n }),\r\n );\r\n }\r\n\r\n get utenteLoggato(): boolean {\r\n\r\n // Utente non loggato.\r\n if (this.utenteCorrente === undefined || this.utenteCorrente.id === '') {\r\n return false;\r\n }\r\n\r\n // Verifica la scadenza del token.\r\n const dataCorrente = moment.utc();\r\n const scadenzaSessione = moment(this.utenteCorrente.scadenzaSessione);\r\n const minutiScadenzaSessione = moment.duration(dataCorrente.diff(scadenzaSessione)).asMinutes();\r\n\r\n // Chiude la sessione.\r\n if (minutiScadenzaSessione > 0 || minutiScadenzaSessione > 0) {\r\n console.log(`Sessione scaduta da ${minutiScadenzaSessione.toFixed(0)} minuti.`);\r\n alert('Sessione scaduta!');\r\n this.logout();\r\n\r\n // Ricarica l'intera pagina (per forzare la chiusura di eventuali modal aperte).\r\n setTimeout(() => {\r\n window.location.reload();\r\n }, 0);\r\n } else {\r\n\r\n // Aggiorna la data di sessione.\r\n this.utenteCorrente.scadenzaSessione = moment().add(this.minutiSessione, 'minutes').toDate();\r\n\r\n // Utente loggato.\r\n return true;\r\n }\r\n\r\n // Utente non loggato.\r\n return false;\r\n }\r\n\r\n get licenzaScaduta(): boolean {\r\n const dataCorrente = moment.utc();\r\n\r\n // Verifica se c'è una licenza attiva.\r\n if (this.utenteCorrente.dataScadenzaLicenza) {\r\n const scadenzaLicenza = moment(this.utenteCorrente.dataScadenzaLicenza);\r\n const giorniScadenzaLicenza = moment.duration(dataCorrente.diff(scadenzaLicenza)).asDays();\r\n if (giorniScadenzaLicenza > 0) {\r\n return true; // scaduta.\r\n } else {\r\n return false; // non scaduta.\r\n }\r\n } else {\r\n return true; // non esiste.\r\n }\r\n }\r\n\r\n get giorniDataScadenza(): number {\r\n\r\n // Data scadenza.\r\n const dataCorrente = moment();\r\n const dataScadenza = moment(this.utenteCorrente.dataScadenzaLicenza);\r\n return moment.duration(dataCorrente.diff(dataScadenza.toDate())).asDays();\r\n }\r\n\r\n logout() {\r\n this.utenteCorrente = {\r\n id: '',\r\n username: '',\r\n ruoli: [],\r\n scadenzaJwt: new Date(),\r\n scadenzaSessione: new Date(),\r\n token: '',\r\n dataScadenzaLicenza: new Date(),\r\n };\r\n\r\n // Torna alla pagina di login.\r\n this.router.navigate(['login']).then();\r\n }\r\n\r\n socialSignIn(model: LoginModel): Observable {\r\n\r\n // Determina il provider.\r\n let url = '';\r\n switch (model.socialProvider) {\r\n case 'GOOGLE':\r\n url = Global.urlAPI + '/Autenticazione/GoogleSignIn';\r\n break;\r\n\r\n case 'FACEBOOK':\r\n url = Global.urlAPI + '/Autenticazione/FacebookSignIn';\r\n break;\r\n }\r\n\r\n // Verifica il token.\r\n const httpOptions = {\r\n headers: new HttpHeaders({'Content-Type': 'application/json'})\r\n };\r\n return this.http.post(url, model, httpOptions)\r\n .pipe(\r\n map((resp: UserViewModel) => {\r\n\r\n // Imposta l'utente corrente.\r\n this.utenteCorrente = resp;\r\n console.log(`Utente loggato correttamente (${moment().format('DD/MM/YYYY HH:mm:ss')})`);\r\n\r\n // Imposta la data di sessione.\r\n this.utenteCorrente.scadenzaSessione = moment().add(this.minutiSessione, 'minutes').toDate();\r\n\r\n // Logga l'utente.\r\n return resp;\r\n }\r\n ),\r\n catchError((error: HttpErrorResponse) => {\r\n return throwError(error);\r\n }),\r\n );\r\n }\r\n}\r\n","// 27/09/2019.\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\r\nimport {Global} from '../../../shared/global/global';\r\nimport {Observable, throwError} from 'rxjs';\r\nimport {catchError, map, retry} from 'rxjs/operators';\r\nimport {MailModel} from '../models/mail.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class InviaMailService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n inviaMail(model: MailModel): Observable {\r\n\r\n // Invia mail da server.\r\n const url = `${Global.urlAPI}/Contattaci/StatistichePubblicita`;\r\n const httpOptions = {\r\n headers: new HttpHeaders({'Content-Type': 'application/json'})\r\n };\r\n return this.http.post(url, model, httpOptions)\r\n .pipe(\r\n map((resp: any) => resp),\r\n catchError((error: HttpErrorResponse) => {\r\n return throwError(error);\r\n }),\r\n retry(5),\r\n );\r\n }\r\n}\r\n","// 23/05/2020.\r\n/* tslint:disable:variable-name */\r\nimport {Global} from '../../../shared/global/global';\r\nimport {PdfModel} from '../../../shared/global/pdf.model';\r\n\r\n// https://stackoverflow.com/questions/49091786/how-to-use-an-enum-in-an-angular-component\r\n// Tabella dbo.TipologieTassi.\r\nexport enum TipologieTasso {\r\n tassiUsurai = 1,\r\n tassiSogliaCms,\r\n contoAnticipi,\r\n creditoRevolving,\r\n altriFinanziamentiAlleFamiglieDaBanche = 5,\r\n altriFinanziamentiIntermediariNonBancari,\r\n cessioneDelQuinto,\r\n creditiPersonali,\r\n creditoFinalizzatoAllAcquistoRateale,\r\n finanziamentiAlleImpreseDaBanche,\r\n leasingAutoveicoliEAaeronavali,\r\n leasingImmobiliareTassoFisso,\r\n leasingImmobiliareTassoVariabile,\r\n leasingStrumentale,\r\n mutuoTassoFisso,\r\n mutuoTassoVariabile,\r\n botAttivi,\r\n botPassivi,\r\n euribor,\r\n legali,\r\n tassoZero = 21,\r\n tassoMisto = 22,\r\n piano_manuale = 99\r\n}\r\n\r\n// Converte i nomi dell'enum.\r\n// https://medium.com/@juliapassynkova/map-your-typescript-enums-e402d406b229\r\n// const FruitsName = new Map([\r\n// [TipologieTasso.cessioneDelQuinto, 'Cessione del quinto'],\r\n// [TipologieTasso.tassiSogliaCms, 'Tasso soglia e c.m.s.'],\r\n// ]);\r\n\r\nexport interface TassoModel {\r\n id: number;\r\n dal: Date;\r\n al: Date;\r\n}\r\n\r\nexport interface TassoViewModel extends TassoModel {\r\n periodo: string;\r\n\r\n fino_a_1291_14: number;\r\n fino_a_5164_57: number;\r\n fino_a_1500: number;\r\n fino_a_5000: number;\r\n fino_a_15000: number;\r\n fino_a_25000: number;\r\n fino_a_50000: number;\r\n\r\n da_1291_14_a_5164_57: number;\r\n da_5164_57_a_25822_84: number;\r\n da_25822_84_a_51645_69: number;\r\n da_1500_a_5000: number;\r\n da_5000_a_25000: number;\r\n da_5000_a_100000: number;\r\n da_25000_a_50000: number;\r\n da_50000_a_100000: number;\r\n da_50000_a_200000: number;\r\n\r\n oltre_5164_57: number;\r\n oltre_51645_69: number;\r\n oltre_5000: number;\r\n oltre_15000: number;\r\n oltre_25000: number;\r\n oltre_50000: number;\r\n oltre_100000: number;\r\n oltre_200000: number;\r\n\r\n tasso: number;\r\n normativa: string;\r\n interaDistribuzione: number;\r\n tasso_soglia_media: number;\r\n tasso_soglia_cms: number;\r\n settimana1: number;\r\n settimane2: number;\r\n settimane3: number;\r\n mese1: number;\r\n mesi2: number;\r\n mesi3: number;\r\n mesi4: number;\r\n mesi5: number;\r\n mesi6: number;\r\n mesi7: number;\r\n mesi8: number;\r\n mesi9: number;\r\n mesi10: number;\r\n mesi11: number;\r\n mesi12: number;\r\n tassoFestivo1: Date | null;\r\n tassoFestivo2: Date | null;\r\n tassoFestivo3: Date | null;\r\n tassoFestivo4: Date | null;\r\n indice: number;\r\n\r\n nuovoRecord: boolean;\r\n paginaHtml: string;\r\n}\r\n\r\nexport class ElencoTassiViewModel {\r\n public elenco: TassoViewModel[];\r\n public elencoFiltrato: TassoViewModel[];\r\n public campoOrdinato: string;\r\n public ordinamentoAscendente = true;\r\n public filtroCerca = '';\r\n public paginaHtml: string;\r\n public pdfModel = new PdfModel();\r\n\r\n public get contatore(): string {\r\n let contatore: string;\r\n switch (+this.elencoFiltrato.length) {\r\n case 0: {\r\n contatore = 'Nessuna Tasso presente';\r\n break;\r\n }\r\n case 1: {\r\n contatore = 'E\\' presente una Tasso';\r\n break;\r\n }\r\n default: {\r\n contatore = 'Sono presenti ' + this.elencoFiltrato.length.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.') + ' Tassi in totale';\r\n break;\r\n }\r\n }\r\n\r\n // Filtro di ricerca attivo.\r\n if (this.filtroCerca === '') {\r\n return contatore;\r\n } else {\r\n return contatore + ' (filtro di ricerca attivo)';\r\n }\r\n }\r\n\r\n ordina(nomeCampo: string, filtro: boolean = false) {\r\n\r\n // Mantiene lo stesso ordinamento al cambio campo.\r\n if (nomeCampo === this.campoOrdinato && !filtro) {\r\n this.ordinamentoAscendente = !this.ordinamentoAscendente;\r\n }\r\n this.campoOrdinato = nomeCampo;\r\n\r\n // Ordina.\r\n this.elencoFiltrato = [...this.elencoFiltrato].sort(Global.ordinaOggetto(nomeCampo, this.ordinamentoAscendente));\r\n }\r\n}\r\n","// 26/04/2020.\nimport {Component, EventEmitter, Injectable, Input, OnInit, Output} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\n\n@Component({\n selector: 'app-avviso-conferma-eliminazione',\n templateUrl: './avviso-conferma-eliminazione.component.html',\n styleUrls: ['./avviso-conferma-eliminazione.component.css']\n})\n\nexport class AvvisoConfermaEliminazioneComponent implements OnInit {\n\n @Input() messaggio: string;\n\n @Output() annullaEmitter = new EventEmitter();\n @Output() confermaEliminazioneEmitter = new EventEmitter();\n\n constructor() {\n // ...\n }\n\n ngOnInit() {\n // ...\n }\n\n annulla() {\n\n // Scatena l'evento.\n this.annullaEmitter.emit();\n }\n\n conferma() {\n\n // Scatena l'evento.\n this.confermaEliminazioneEmitter.emit();\n }\n}\n","\n\n\n
\n

{{this.messaggio}}

\n
\n\n\n
\n \n \n
\n","// 19/08/2020.\nimport {Component, OnInit} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {LoginService} from '../../../core/services/login.service';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-avviso-licenza-scaduta',\n templateUrl: './avviso-licenza-scaduta.component.html',\n styleUrls: ['./avviso-licenza-scaduta.component.css']\n})\n\nexport class AvvisoLicenzaScadutaComponent implements OnInit {\n\n public giorniCancellazioneDati = 30;\n public dataCancellazioneDati: Date;\n public giorniScadenza: number;\n\n constructor(\n public loginService: LoginService,\n private router: Router,\n ) {\n }\n\n ngOnInit(): void {\n\n // Data cancellazione dati.\n this.giorniScadenza = this.loginService.giorniDataScadenza;\n const dataCorrente = moment();\n this.giorniCancellazioneDati = (this.giorniCancellazioneDati - this.loginService.giorniDataScadenza);\n const dataCancellazioneDati = dataCorrente.add(this.giorniCancellazioneDati, 'day');\n this.dataCancellazioneDati = dataCancellazioneDati.toDate();\n }\n\n acquista() {\n this.router.navigate([`ordine`]).then();\n }\n\n continua() {\n this.router.navigate(['clienti']).then();\n }\n}\n","\n
\n

 

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

Licenza scaduta.

\n

\n

La tua licenza è scaduta da {{this.giorniScadenza | number: '1.0-0'}} giorni!

\n

\n Non potrai effettuare altre registrazioni.\n

\n \n

Procedi all'acquisto di una nuova licenza se non vuoi perdere i dati già inseriti.

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

 

\n

 

\n
\n","// 26/04/2020.\nimport {Component, ElementRef, EventEmitter, Injectable, OnInit, Output, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'app-avviso-salvataggio-completato',\n templateUrl: './avviso-salvataggio-completato.component.html',\n styleUrls: ['./avviso-salvataggio-completato.component.css']\n})\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class AvvisoSalvataggioCompletatoComponent implements OnInit {\n\n @Output() salvataggioCompletatoEmitter = new EventEmitter();\n\n @ViewChild('ok') public ok: ElementRef;\n\n ngOnInit() {\n setTimeout(() => this.ok.nativeElement.focus(), 0);\n }\n\n chiudi() {\n\n // Scatena l'evento.\n this.salvataggioCompletatoEmitter.emit();\n }\n}\n","\n\n\n
\n

Salvataggio completato.

\n
\n\n\n
\n \n
\n","// 26/04/2020.\nimport {Component, Injectable, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-messaggio-errore',\n templateUrl: './messaggio-errore.component.html',\n styleUrls: ['./messaggio-errore.component.css']\n})\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class MessaggioErroreComponent implements OnInit {\n\n @Input() messaggio = '';\n\n constructor() {\n // ...\n }\n\n ngOnInit() {\n // ...\n }\n}\n","\n
\n
\n {{this.messaggio}}\n
\n
\n","// 10/04/2020.\nimport {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-pagina-in-mautenzione',\n templateUrl: './pagina-in-mautenzione.component.html',\n styleUrls: ['./pagina-in-mautenzione.component.css']\n})\n\nexport class PaginaInMautenzioneComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n // ...\n }\n}\n","\n
\n
\n

 

\n \"in\n\n

\n

IN MANUTENZIONE

\n

 

\n\n

Il sito è in manutenzione programmata

\n

La riattivazione è prevesita per il giorno 08/12/2020 alle ore 10:00

\n\n

 

\n

 

\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-pagina-internet-explorer',\n templateUrl: './pagina-internet-explorer.component.html',\n styleUrls: ['./pagina-internet-explorer.component.css']\n})\nexport class PaginaInternetExplorerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n

 

\n \"404\"\n

Stai utilizzando Internet Explorer

\n

 

\n

Questo sito non funziona con Internet Explorer.

\n

Internet Explorer è obsoleto, utilizza un browser più moderno come\n Google Chrome,\n Microsoft Edge,\n Mozilla Firefox o\n Opera.\n

 

\n

 

\n
\n\n\n","// 20/01/2019.\nimport {Component} from '@angular/core';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-pagina-non-trovata',\n templateUrl: './pagina-non-trovata.component.html',\n styleUrls: ['./pagina-non-trovata.component.css']\n})\nexport class PaginaNonTrovataComponent {\n\n public url: string;\n\n constructor(private router: Router) {\n this.url = router.url;\n }\n\n tornaAllaHome() {\n this.router.navigate(['/']);\n }\n}\n","\n
\n
\n

 

\n \"404\"\n\n

 

\n

Errore 404 - pagina non trovata

\n

 

\n\n

La pagina richiesta non esiste.

\n

L'URL potrebbe essere errato o la pagina che stai cercando non è più disponibile.

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

 

\n

 

\n
\n
\n","// 26/02/2020.\nimport {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'app-pagina-utente-non-autorizzato',\n templateUrl: './pagina-utente-non-autorizzato.component.html',\n styleUrls: ['./pagina-utente-non-autorizzato.component.css']\n})\nexport class PaginaUtenteNonAutorizzatoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n}\n","\n
\n
\n

 

\n \"401\"\n\n

 

\n

Errore 401 - accesso negato

\n

 

\n\n

La pagina richiesta necessita di autorizzazioni speciali.

\n

Non hai privilegi sufficienti per poter accedere alla pagina desiderata.

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

 

\n

 

\n
\n
\n","// 20/08/2020.\nimport {Component, Input, OnChanges, SimpleChanges} from '@angular/core';\n\n// 05/05/2021 !!!!!!!!!!! TESTARE QUESTO !!!!!!!!!!!!!!!!!!\n// Link: https://github.com/madoar/angular-archwizard\n// Demo: https://madoar.github.io/angular-archwizard-demo/#/nested-wizards\n\n@Component({\n selector: 'app-step',\n templateUrl: './step.component.html',\n styleUrls: ['./step.component.css']\n})\n\nexport class StepComponent implements OnChanges {\n\n @Input() testo = '1';\n @Input() coloreTesto = '#ffffff';\n @Input() coloreSfondo = '#00a900';\n @Input() coloreSfondoAttivo = '#00a900';\n @Input() coloreSfondoNonAttivo = '#9fabb3';\n @Input() dimensioni = 50;\n @Input() dimensioniTesto = 30;\n @Input() attivo = true;\n @Input() tooltip: string;\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.testo) {\n this.testo = changes.testo.currentValue;\n }\n\n if (changes.coloreTesto) {\n this.coloreTesto = changes.coloreTesto.currentValue;\n }\n\n if (changes.coloreSfondoAttivo) {\n this.coloreSfondoAttivo = changes.coloreSfondo.currentValue;\n }\n\n if (changes.coloreSfondoNonAttivo) {\n this.coloreSfondoNonAttivo = changes.coloreSfondoNonAttivo.currentValue;\n }\n\n if (changes.dimensioni) {\n this.dimensioni = changes.dimensioni.currentValue;\n }\n\n if (changes.dimensioniTesto) {\n this.dimensioniTesto = changes.dimensioniTesto.currentValue;\n }\n\n if (this.attivo) {\n this.coloreSfondo = this.coloreSfondoAttivo;\n } else {\n this.coloreSfondo = this.coloreSfondoNonAttivo;\n }\n\n if (changes.tooltip) {\n this.tooltip = changes.tooltip.currentValue;\n }\n }\n}\n","\n\n
\n {{this.testo}}\n
\n\n\n\n\n","// 10/04/2020.\r\n// https://seegatesite.com/angular-4-currency-format-directive/\r\nimport {Directive, ElementRef, HostListener, Input, OnInit} from '@angular/core';\r\nimport {NumeroFormattatoEuroPipe} from '../pipes/numero-formattato-euro.pipe'; // npm i ts-keycode-enum\r\nimport {Key} from 'ts-keycode-enum';\r\n\r\n@Directive({\r\n selector: '[appInputNumeroFormattatoEuro]',\r\n})\r\n\r\nexport class NumeroFormattatoEuroDirective implements OnInit {\r\n\r\n private elemento: any;\r\n @Input() public tipo: string;\r\n @Input() private formato: string;\r\n\r\n constructor(private elementRef: ElementRef, private numeroFormattato: NumeroFormattatoEuroPipe) {\r\n\r\n // Inizializzazione.\r\n this.elemento = this.elementRef.nativeElement;\r\n }\r\n\r\n ngOnInit() {\r\n // ...\r\n }\r\n\r\n @HostListener('focus', ['$event.target.value', '$event']) onFocus(value: string, event: { which: number; }) {\r\n if (event.which === Key.Tab) {\r\n return false;\r\n }\r\n\r\n this.elemento.select();\r\n }\r\n\r\n @HostListener('blur', ['$event.target.value']) onBlur(value: string) {\r\n this.elemento.value = this.numeroFormattato.transform(value, this.tipo, this.formato);\r\n }\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\r\n\r\n // Impedisce più separatori decimali.\r\n const e = event as KeyboardEvent;\r\n if ((e.keyCode === Key.Comma || e.keyCode === Key.Period || e.keyCode === Key.DecimalPoint) && this.elemento.value.indexOf(',') !== -1) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n // Impedisce più segni negativi.\r\n if ((e.keyCode === Key.Subtract || e.keyCode === Key.Dash) && this.elemento.value.indexOf('-') !== -1) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n // Impedisce la virgola per i valori interi.\r\n if (this.tipo === 'intero' && (e.keyCode === Key.Period || e.keyCode === Key.DecimalPoint || e.keyCode === Key.Comma)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n // Impedisce la virgola e il segno negativo per i valori testo.\r\n if (this.tipo === 'testo' && (e.keyCode === Key.Period || e.keyCode === Key.DecimalPoint || e.keyCode === Key.Comma || e.keyCode === Key.Subtract || e.keyCode === Key.Dash)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n // Caretteri accettati.\r\n if ([Key.Subtract, Key.Dash, Key.Delete, Key.Backspace, Key.Tab, Key.Escape, Key.Enter, Key.Period, Key.DecimalPoint, Key.Comma].indexOf(e.keyCode) !== -1 ||\r\n\r\n // Allow: Ctrl+A\r\n (e.keyCode === Key.A && (e.ctrlKey || e.metaKey)) ||\r\n\r\n // Allow: Ctrl+C\r\n (e.keyCode === Key.C && (e.ctrlKey || e.metaKey)) ||\r\n\r\n // Allow: Ctrl+V\r\n (e.keyCode === Key.V && (e.ctrlKey || e.metaKey)) ||\r\n\r\n // Allow: Ctrl+X\r\n (e.keyCode === Key.X && (e.ctrlKey || e.metaKey)) ||\r\n\r\n // Allow: home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)) {\r\n\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n\r\n // Caratteri non accettati.\r\n if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n // Limita il numero dei decimali.\r\n if (window.getSelection()?.toString().length === 0) { // se non è selezionato del testo.\r\n if (this.elemento.value.indexOf(',') > -1) {\r\n const decimali = +this.formato.substring(this.formato.length - 1);\r\n if ((this.elemento.value.substring(this.elemento.value.indexOf(',')).length - 1) === decimali) {\r\n const posizioneCarattere = this.elemento.selectionStart;\r\n if (posizioneCarattere > this.elemento.value.indexOf(',')) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n @HostListener('keyup', ['$event']) onKeyUpHandler(event: KeyboardEvent) {\r\n const e = event;\r\n\r\n // Converte il punto in virgola.\r\n if (e.keyCode === Key.Period || e.keyCode === Key.DecimalPoint) {\r\n this.elemento.value = this.elemento.value.replace('.', ',');\r\n }\r\n }\r\n}\r\n","// 08/05/2021 prima pubblicazione.\r\nimport {FormGroup} from '@angular/forms';\r\n\r\nexport class Global {\r\n\r\n // Ultima versione.\r\n public static get ultimaVersione(): string {\r\n return '23.0929.001';\r\n }\r\n\r\n // Url di ritorno.\r\n public static get returnUrl(): string {\r\n const returnUrl = sessionStorage.getItem('ReturnUrl');\r\n if (returnUrl && returnUrl !== '') {\r\n return returnUrl.replace(/\"/g, '').replace(/'/g, '').replace(/`/g, '');\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public static set returnUrl(url: string) {\r\n sessionStorage.setItem('ReturnUrl', url);\r\n }\r\n\r\n // Ordina array di oggetti.\r\n // https://gabrieleromanato.com/2019/04/javascript-ordinare-un-array-di-oggetti\r\n // multi campi: https://stackoverflow.com/questions/6913512/how-to-sort-an-array-of-objects-by-multiple-fields\r\n public static ordinaOggetto(key: string, order: boolean) {\r\n return (a: any, b: any) => {\r\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\r\n return 0;\r\n }\r\n const varA = (typeof a[key] === 'string') ? a[key].toLowerCase() : a[key];\r\n const varB = (typeof b[key] === 'string') ? b[key].toLowerCase() : b[key];\r\n\r\n let comparison = 0;\r\n if (varA > varB) {\r\n comparison = 1;\r\n } else if (varA < varB) {\r\n comparison = -1;\r\n }\r\n\r\n return (!order ? (comparison * -1) : comparison);\r\n };\r\n }\r\n\r\n public static findInvalidControls(form: FormGroup) {\r\n const invalid = [];\r\n const controls = form.controls;\r\n for (const name in controls) {\r\n if (controls[name].invalid) {\r\n invalid.push(name);\r\n }\r\n }\r\n console.log('controlli non validi: ', invalid);\r\n console.log('altri errori: ', form.errors);\r\n }\r\n\r\n // // Server in locale.\r\n // public static get urlAPI(): string {\r\n // return 'https://localhost:44327/API';\r\n // }\r\n\r\n // Server su Azure.\r\n public static get urlAPI(): string {\r\n return 'https://anatocismousuraserver.azurewebsites.net/API';\r\n }\r\n}\r\n","// 23/07/2020.\r\nexport class PdfModel {\r\n public paginaHtml: string;\r\n public formato = 'A4';\r\n public orientamento = 'Orizzontale';\r\n public margineAlto = 30;\r\n public margineSinistro = 40;\r\n public margineDestro = 30;\r\n public margineBasso = 20;\r\n}\r\n","// 28/11/2019.\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'elencoArray'\r\n})\r\n\r\nexport class ElencoArrayPipe implements PipeTransform {\r\n\r\n transform(value: string[] | null, separatore: string = ',', ordinamento: boolean = false): string {\r\n\r\n if (value !== undefined && value !== null) {\r\n\r\n // Ordina l'array.\r\n if (ordinamento) {\r\n value = value?.sort();\r\n }\r\n\r\n // Imposta il separatore.\r\n return value.join(separatore);\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","// 28/11/2019.\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'formattaDimesioniFile'\r\n})\r\n\r\nexport class FormattaDimensioniFilePipe implements PipeTransform {\r\n\r\n transform(value: number): string |undefined {\r\n const dimensioniInByte = value;\r\n\r\n // Dimensioni file.\r\n if (dimensioniInByte > Math.pow(1024, 6)) {\r\n return (+dimensioniInByte / Math.pow(1024, 6)).toFixed(2) + ' EB'; // exabyte.\r\n }\r\n if (dimensioniInByte > Math.pow(1024, 5)) {\r\n return (+dimensioniInByte / Math.pow(1024, 5)).toFixed(2) + ' PB'; // petabyte.\r\n }\r\n if (dimensioniInByte > Math.pow(1024, 4)) {\r\n return (+dimensioniInByte / Math.pow(1024, 4)).toFixed(2) + ' TB'; // terabyte.\r\n }\r\n if (dimensioniInByte > Math.pow(1024, 3)) {\r\n return (+dimensioniInByte / Math.pow(1024, 3)).toFixed(2) + ' GB'; // gigabyte.\r\n }\r\n if (dimensioniInByte > Math.pow(1024, 2)) {\r\n return (+dimensioniInByte / Math.pow(1024, 2)).toFixed(2) + ' MB'; // megabyte.\r\n }\r\n if (dimensioniInByte >= 1024) {\r\n return (+dimensioniInByte / 1024).toFixed(0) + ' KB'; // kilobyte.\r\n }\r\n if (dimensioniInByte < 1024) {\r\n return (+dimensioniInByte.toFixed(0)) + ' byte'; // byte.\r\n }\r\n }\r\n}\r\n","// 10/04/2020.\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\nimport {DecimalPipe} from '@angular/common';\r\n\r\n@Pipe({\r\n name: 'numeroFormattatoEuro'\r\n})\r\n\r\nexport class NumeroFormattatoEuroPipe implements PipeTransform {\r\n\r\n // https://www.angularjswiki.com/angular/angular-decimal-pipe/\r\n // https://www.concretepage.com/angular-2/angular-2-decimal-pipe-percent-pipe-and-currency-pipe-example\r\n private decimalPipe = new DecimalPipe('it');\r\n\r\n constructor() {\r\n // ...\r\n }\r\n\r\n // Formatta il numero per visualizzarlo.\r\n transform(value: any, tipo: string = 'valuta', formato: string = '1.2-2'): any {\r\n\r\n // Null.\r\n if (value === null || value === undefined || value === '') {\r\n return value;\r\n }\r\n\r\n // Rimuove il simbolo di valuta.\r\n value = value.toString().replace(/€/g, '');\r\n\r\n // Rimuove il simbolo %.\r\n value = value.toString().replace(/%/g, '');\r\n\r\n // Rimuove gli spazi.\r\n value = value.toString().replace(/ /g, '');\r\n\r\n // Converte in numero.\r\n let numero: number;\r\n if (!isNaN(numero = +value)) {\r\n value = +value;\r\n } else {\r\n // Rimuove il separatore delle migliaia.\r\n value = value.toString().replace(/\\./g, '');\r\n\r\n // Cambia il separatore decimale.\r\n value = value.toString().replace(/\\,/g, '.');\r\n }\r\n\r\n // Riprova a convertire in numero.\r\n if (!isNaN(numero = +value)) {\r\n value = +value;\r\n } else {\r\n return value;\r\n }\r\n\r\n // Formatta il numero in stringa da visualizzare.\r\n switch (tipo) {\r\n case 'decimale':\r\n return this.decimalPipe.transform(value, formato);\r\n\r\n case 'intero':\r\n return this.decimalPipe.transform(value, formato);\r\n\r\n case 'valuta':\r\n // // Elenco delle valute: https://www.angularjswiki.com/angular/angular-currency-pipe-formatting-currency-in-angular/#angular-currency-pipe-example-with-locale\r\n value = this.decimalPipe.transform(value, formato);\r\n return `€ ${value}`;\r\n\r\n case 'percentuale':\r\n value = this.decimalPipe.transform(value, formato);\r\n return `${value} %`;\r\n\r\n case 'testo':\r\n return value;\r\n }\r\n }\r\n\r\n // Formatta il numero per salvarlo sul server.\r\n parse(value: any, decimali: number = 2): number {\r\n\r\n // Null.\r\n if (value === null || value === undefined || value === '') {\r\n return value;\r\n }\r\n\r\n // Rimuove il simbolo di valuta.\r\n value = value.toString().replace(/€/g, '');\r\n\r\n // Rimuove il simbolo %.\r\n value = value.toString().replace(/%/g, '');\r\n\r\n // Rimuove gli spazi.\r\n value = value.toString().replace(/ /g, '');\r\n\r\n // Rimuove il separatore delle migliaia.\r\n value = value.toString().replace(/\\./g, '');\r\n\r\n // Cambia il separatore decimale.\r\n value = value.toString().replace(/,/g, '.');\r\n\r\n // Converte in numero.\r\n value = +value;\r\n\r\n // Tronca i decimali.\r\n return +value.toFixed(decimali);\r\n }\r\n}\r\n\r\n","// 07/04/2020.\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe(\r\n {name: 'paginazione'}\r\n)\r\n\r\nexport class PaginazionePipe implements PipeTransform {\r\n\r\n transform(elementi: any[], elementiPerPagina: number, paginaCorrente: number): any {\r\n\r\n // Restituisce l'elenco paginato.\r\n if ((elementi !== undefined && elementi !== null) && elementi.length > elementiPerPagina) {\r\n const startItem = (paginaCorrente - 1) * elementiPerPagina;\r\n const endItem = paginaCorrente * elementiPerPagina;\r\n return [...elementi?.slice(startItem, endItem)];\r\n } else {\r\n return elementi;\r\n }\r\n }\r\n}\r\n\r\n","// 15/05/2019.\r\nimport {Pipe, PipeTransform} from '@angular/core';\r\nimport * as moment from 'moment';\r\n\r\n@Pipe({\r\n name: 'periodo'\r\n})\r\n\r\nexport class PeriodoPipe implements PipeTransform {\r\n\r\n transform(value: Date, periodo: string = 'trimestrale'): string {\r\n\r\n moment.locale('it');\r\n if (value !== undefined && value !== null) {\r\n\r\n // Periodo.\r\n switch (periodo) {\r\n case 'mensile':\r\n return '';\r\n\r\n case 'bimestrale':\r\n return '';\r\n\r\n case 'trimestrale':\r\n return `${moment(value).quarter()}° trimestre ${moment(value).format('YYYY')}`;\r\n\r\n case 'semestrale':\r\n return '';\r\n\r\n case 'annuale':\r\n return '';\r\n\r\n default:\r\n return '';\r\n }\r\n } else {\r\n return moment(value).format('DD/MM/YYYY');\r\n }\r\n }\r\n}\r\n\r\n// Calcolo \"manuale\" trimestre (utile come spunto per calcolare gli altri periodi (??))\r\n// var d = new Date();//current date\r\n// var y = d.getFullYear();//year as 4 digit number\r\n// var m = d.getMonth();//0 to 11 which actually is helpful here\r\n// var q = Math.floor(m / 3) + 1;//month div 3 + 1\r\n// var s = \"\";//this holds the result\r\n// for (var i = 0; i < 4; i++) {\r\n// s += \"q\" + q + \"-\" + y;\r\n// if (i < 3) {\r\n// s += \" \";//another entry coming so put in space\r\n// q--;//and roll back quarter\r\n// }\r\n// if (q == 0) {\r\n// q = 4;//we were in q1 so predecessor is q4\r\n// y--;//and the year is one less\r\n// }\r\n// };\r\n// console.log(s);\r\n","// 24/11/2020.\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpErrorResponse} from '@angular/common/http';\r\nimport {Router} from '@angular/router';\r\nimport {FormGroup} from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ErroreHttpService {\r\n\r\n constructor(\r\n private router: Router\r\n ) {\r\n }\r\n\r\n errore(resp: HttpErrorResponse): string {\r\n\r\n // Scrolla al messaggio del server.\r\n const alertErroreDalServer = document.querySelector('.is-invalid');\r\n if (alertErroreDalServer) {\r\n alertErroreDalServer?.scrollIntoView({behavior: 'smooth'});\r\n }\r\n\r\n if (resp.status === 403 || resp.status === 401) {\r\n this.router.navigate(['utente-non-autorizzato']).then();\r\n return 'Utente non autorizzato.';\r\n } else {\r\n if (resp.error !== undefined && typeof resp.error === 'string') {\r\n return `${resp.error}.`;\r\n } else {\r\n console.log(`${resp.status}: ${JSON.stringify(resp.error)}. - Message: ${resp.message}`);\r\n // return `Errore non gestito. Se persiste, contattare l'assistenza.`;\r\n return `Ooops... forse c'è stato un problema di connessione. Prova a tornare indietro.`;\r\n }\r\n }\r\n }\r\n\r\n formControlError(form: FormGroup) {\r\n\r\n // Verifica i controlli che invalidano la form.\r\n const controls = form.controls;\r\n console.log('------ Validatori di controlli: ------');\r\n for (const name in controls) {\r\n if (controls[name].invalid) {\r\n console.log(name);\r\n }\r\n }\r\n console.log('------ Validatori di form: ------');\r\n const errors = form.errors;\r\n for (const errore in errors) {\r\n if (errore) {\r\n console.log(name, errore);\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n","// 10/05/2020.\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {NgxSpinnerComponent, NgxSpinnerModule} from 'ngx-spinner';\nimport {RouterModule} from '@angular/router';\nimport {HttpClientModule} from '@angular/common/http';\nimport {PaginationModule} from 'ngx-bootstrap/pagination';\nimport {BsDatepickerModule} from 'ngx-bootstrap/datepicker';\nimport {BsModalRef, ModalModule} from 'ngx-bootstrap/modal';\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\nimport {BsDropdownModule} from 'ngx-bootstrap/dropdown';\nimport {CarouselModule} from 'ngx-bootstrap/carousel';\nimport {CollapseModule} from 'ngx-bootstrap/collapse';\nimport {TabsModule} from 'ngx-bootstrap/tabs';\nimport {NumeroFormattatoEuroPipe} from './pipes/numero-formattato-euro.pipe';\nimport {ElencoArrayPipe} from './pipes/elenco-array.pipe';\nimport {PaginazionePipe} from './pipes/paginazione.pipe';\nimport {NumeroFormattatoEuroDirective} from './directives/numero-formattato-euro.directive';\nimport {MessaggioErroreComponent} from './components/messaggio-errore/messaggio-errore.component';\nimport {AvvisoSalvataggioCompletatoComponent} from './components/avviso-salvataggio-completato/avviso-salvataggio-completato.component';\nimport {PaginaInMautenzioneComponent} from './components/pagina-in-mautenzione/pagina-in-mautenzione.component';\nimport {PaginaUtenteNonAutorizzatoComponent} from './components/pagina-utente-non-autorizzato/pagina-utente-non-autorizzato.component';\nimport {FormattaDimensioniFilePipe} from './pipes/formatta-dimensioni-file.pipe';\nimport {PaginaNonTrovataComponent} from './components/pagina-non-trovata/pagina-non-trovata.component';\nimport {AvvisoConfermaEliminazioneComponent} from './components/avviso-conferma-eliminazione/avviso-conferma-eliminazione.component';\nimport {PeriodoPipe} from './pipes/periodo.pipe';\nimport {AvvisoLicenzaScadutaComponent} from './components/avviso-licenza-scaduta/avviso-licenza-scaduta.component';\nimport {StepComponent} from './components/step/step.component';\nimport {PaginaInternetExplorerComponent} from './components/pagina-internet-explorer/pagina-internet-explorer.component';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatSliderModule} from '@angular/material/slider';\n\n@NgModule({\n declarations: [\n PaginaInternetExplorerComponent,\n PaginaInMautenzioneComponent,\n PaginaNonTrovataComponent,\n PaginaUtenteNonAutorizzatoComponent,\n ElencoArrayPipe,\n PeriodoPipe,\n FormattaDimensioniFilePipe,\n NumeroFormattatoEuroDirective,\n NumeroFormattatoEuroPipe,\n PaginazionePipe,\n MessaggioErroreComponent,\n AvvisoSalvataggioCompletatoComponent,\n AvvisoConfermaEliminazioneComponent,\n AvvisoLicenzaScadutaComponent,\n StepComponent,\n ],\n\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n HttpClientModule,\n NgxSpinnerModule,\n PaginationModule.forRoot(),\n BsDatepickerModule.forRoot(),\n ModalModule.forRoot(),\n TooltipModule.forRoot(),\n BsDropdownModule.forRoot(),\n CarouselModule.forRoot(),\n CollapseModule.forRoot(),\n TabsModule.forRoot(),\n\n // Angular Material\n MatButtonModule,\n MatInputModule,\n MatToolbarModule,\n MatFormFieldModule,\n MatIconModule,\n MatSnackBarModule,\n MatDialogModule,\n MatCardModule,\n MatSliderModule,\n ],\n\n providers: [\n NumeroFormattatoEuroPipe,\n BsModalRef,\n ],\n\n exports: [\n FormsModule,\n ElencoArrayPipe,\n NumeroFormattatoEuroDirective,\n PaginazionePipe,\n NgxSpinnerComponent,\n BsDatepickerModule,\n PaginationModule,\n ReactiveFormsModule,\n MessaggioErroreComponent,\n AvvisoSalvataggioCompletatoComponent,\n AvvisoConfermaEliminazioneComponent,\n PeriodoPipe,\n NumeroFormattatoEuroPipe,\n TabsModule,\n StepComponent,\n CollapseModule,\n ]\n})\n\nexport class SharedModule {\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import {enableProdMode} from '@angular/core';\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\nimport 'echarts/lib/chart/bar';\n\nimport {AppModule} from './app/app.module';\nimport {environment} from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 62275,\n\t\"./af.js\": 62275,\n\t\"./ar\": 90857,\n\t\"./ar-dz\": 11218,\n\t\"./ar-dz.js\": 11218,\n\t\"./ar-kw\": 14754,\n\t\"./ar-kw.js\": 14754,\n\t\"./ar-ly\": 66680,\n\t\"./ar-ly.js\": 66680,\n\t\"./ar-ma\": 92178,\n\t\"./ar-ma.js\": 92178,\n\t\"./ar-sa\": 56522,\n\t\"./ar-sa.js\": 56522,\n\t\"./ar-tn\": 95682,\n\t\"./ar-tn.js\": 95682,\n\t\"./ar.js\": 90857,\n\t\"./az\": 70164,\n\t\"./az.js\": 70164,\n\t\"./be\": 79774,\n\t\"./be.js\": 79774,\n\t\"./bg\": 60947,\n\t\"./bg.js\": 60947,\n\t\"./bm\": 21832,\n\t\"./bm.js\": 21832,\n\t\"./bn\": 89650,\n\t\"./bn-bd\": 74477,\n\t\"./bn-bd.js\": 74477,\n\t\"./bn.js\": 89650,\n\t\"./bo\": 66005,\n\t\"./bo.js\": 66005,\n\t\"./br\": 98492,\n\t\"./br.js\": 98492,\n\t\"./bs\": 70534,\n\t\"./bs.js\": 70534,\n\t\"./ca\": 52061,\n\t\"./ca.js\": 52061,\n\t\"./cs\": 84737,\n\t\"./cs.js\": 84737,\n\t\"./cv\": 61167,\n\t\"./cv.js\": 61167,\n\t\"./cy\": 77996,\n\t\"./cy.js\": 77996,\n\t\"./da\": 9528,\n\t\"./da.js\": 9528,\n\t\"./de\": 14540,\n\t\"./de-at\": 49430,\n\t\"./de-at.js\": 49430,\n\t\"./de-ch\": 67978,\n\t\"./de-ch.js\": 67978,\n\t\"./de.js\": 14540,\n\t\"./dv\": 83426,\n\t\"./dv.js\": 83426,\n\t\"./el\": 6616,\n\t\"./el.js\": 6616,\n\t\"./en-au\": 63816,\n\t\"./en-au.js\": 63816,\n\t\"./en-ca\": 32162,\n\t\"./en-ca.js\": 32162,\n\t\"./en-gb\": 83305,\n\t\"./en-gb.js\": 83305,\n\t\"./en-ie\": 61954,\n\t\"./en-ie.js\": 61954,\n\t\"./en-il\": 43060,\n\t\"./en-il.js\": 43060,\n\t\"./en-in\": 59923,\n\t\"./en-in.js\": 59923,\n\t\"./en-nz\": 13540,\n\t\"./en-nz.js\": 13540,\n\t\"./en-sg\": 16505,\n\t\"./en-sg.js\": 16505,\n\t\"./eo\": 41907,\n\t\"./eo.js\": 41907,\n\t\"./es\": 86640,\n\t\"./es-do\": 41246,\n\t\"./es-do.js\": 41246,\n\t\"./es-mx\": 56131,\n\t\"./es-mx.js\": 56131,\n\t\"./es-us\": 36430,\n\t\"./es-us.js\": 36430,\n\t\"./es.js\": 86640,\n\t\"./et\": 62551,\n\t\"./et.js\": 62551,\n\t\"./eu\": 32711,\n\t\"./eu.js\": 32711,\n\t\"./fa\": 54572,\n\t\"./fa.js\": 54572,\n\t\"./fi\": 33390,\n\t\"./fi.js\": 33390,\n\t\"./fil\": 87860,\n\t\"./fil.js\": 87860,\n\t\"./fo\": 48216,\n\t\"./fo.js\": 48216,\n\t\"./fr\": 99291,\n\t\"./fr-ca\": 98527,\n\t\"./fr-ca.js\": 98527,\n\t\"./fr-ch\": 58407,\n\t\"./fr-ch.js\": 58407,\n\t\"./fr.js\": 99291,\n\t\"./fy\": 47054,\n\t\"./fy.js\": 47054,\n\t\"./ga\": 49540,\n\t\"./ga.js\": 49540,\n\t\"./gd\": 73917,\n\t\"./gd.js\": 73917,\n\t\"./gl\": 51486,\n\t\"./gl.js\": 51486,\n\t\"./gom-deva\": 56245,\n\t\"./gom-deva.js\": 56245,\n\t\"./gom-latn\": 48868,\n\t\"./gom-latn.js\": 48868,\n\t\"./gu\": 59652,\n\t\"./gu.js\": 59652,\n\t\"./he\": 89019,\n\t\"./he.js\": 89019,\n\t\"./hi\": 42040,\n\t\"./hi.js\": 42040,\n\t\"./hr\": 63402,\n\t\"./hr.js\": 63402,\n\t\"./hu\": 79322,\n\t\"./hu.js\": 79322,\n\t\"./hy-am\": 27609,\n\t\"./hy-am.js\": 27609,\n\t\"./id\": 57942,\n\t\"./id.js\": 57942,\n\t\"./is\": 98275,\n\t\"./is.js\": 98275,\n\t\"./it\": 73053,\n\t\"./it-ch\": 4378,\n\t\"./it-ch.js\": 4378,\n\t\"./it.js\": 73053,\n\t\"./ja\": 46176,\n\t\"./ja.js\": 46176,\n\t\"./jv\": 679,\n\t\"./jv.js\": 679,\n\t\"./ka\": 92726,\n\t\"./ka.js\": 92726,\n\t\"./kk\": 72953,\n\t\"./kk.js\": 72953,\n\t\"./km\": 86957,\n\t\"./km.js\": 86957,\n\t\"./kn\": 59181,\n\t\"./kn.js\": 59181,\n\t\"./ko\": 47148,\n\t\"./ko.js\": 47148,\n\t\"./ku\": 27752,\n\t\"./ku.js\": 27752,\n\t\"./ky\": 65675,\n\t\"./ky.js\": 65675,\n\t\"./lb\": 41263,\n\t\"./lb.js\": 41263,\n\t\"./lo\": 65746,\n\t\"./lo.js\": 65746,\n\t\"./lt\": 11143,\n\t\"./lt.js\": 11143,\n\t\"./lv\": 38753,\n\t\"./lv.js\": 38753,\n\t\"./me\": 44054,\n\t\"./me.js\": 44054,\n\t\"./mi\": 31573,\n\t\"./mi.js\": 31573,\n\t\"./mk\": 30202,\n\t\"./mk.js\": 30202,\n\t\"./ml\": 68523,\n\t\"./ml.js\": 68523,\n\t\"./mn\": 79794,\n\t\"./mn.js\": 79794,\n\t\"./mr\": 56681,\n\t\"./mr.js\": 56681,\n\t\"./ms\": 56975,\n\t\"./ms-my\": 39859,\n\t\"./ms-my.js\": 39859,\n\t\"./ms.js\": 56975,\n\t\"./mt\": 3691,\n\t\"./mt.js\": 3691,\n\t\"./my\": 5152,\n\t\"./my.js\": 5152,\n\t\"./nb\": 7607,\n\t\"./nb.js\": 7607,\n\t\"./ne\": 21526,\n\t\"./ne.js\": 21526,\n\t\"./nl\": 86368,\n\t\"./nl-be\": 40076,\n\t\"./nl-be.js\": 40076,\n\t\"./nl.js\": 86368,\n\t\"./nn\": 68420,\n\t\"./nn.js\": 68420,\n\t\"./oc-lnc\": 51906,\n\t\"./oc-lnc.js\": 51906,\n\t\"./pa-in\": 94504,\n\t\"./pa-in.js\": 94504,\n\t\"./pl\": 54721,\n\t\"./pl.js\": 54721,\n\t\"./pt\": 74645,\n\t\"./pt-br\": 54548,\n\t\"./pt-br.js\": 54548,\n\t\"./pt.js\": 74645,\n\t\"./ro\": 71977,\n\t\"./ro.js\": 71977,\n\t\"./ru\": 26042,\n\t\"./ru.js\": 26042,\n\t\"./sd\": 78849,\n\t\"./sd.js\": 78849,\n\t\"./se\": 27739,\n\t\"./se.js\": 27739,\n\t\"./si\": 50084,\n\t\"./si.js\": 50084,\n\t\"./sk\": 92449,\n\t\"./sk.js\": 92449,\n\t\"./sl\": 23086,\n\t\"./sl.js\": 23086,\n\t\"./sq\": 33139,\n\t\"./sq.js\": 33139,\n\t\"./sr\": 30607,\n\t\"./sr-cyrl\": 30063,\n\t\"./sr-cyrl.js\": 30063,\n\t\"./sr.js\": 30607,\n\t\"./ss\": 40131,\n\t\"./ss.js\": 40131,\n\t\"./sv\": 21665,\n\t\"./sv.js\": 21665,\n\t\"./sw\": 5642,\n\t\"./sw.js\": 5642,\n\t\"./ta\": 33622,\n\t\"./ta.js\": 33622,\n\t\"./te\": 74825,\n\t\"./te.js\": 74825,\n\t\"./tet\": 48336,\n\t\"./tet.js\": 48336,\n\t\"./tg\": 39238,\n\t\"./tg.js\": 39238,\n\t\"./th\": 99463,\n\t\"./th.js\": 99463,\n\t\"./tk\": 39986,\n\t\"./tk.js\": 39986,\n\t\"./tl-ph\": 29672,\n\t\"./tl-ph.js\": 29672,\n\t\"./tlh\": 40043,\n\t\"./tlh.js\": 40043,\n\t\"./tr\": 51212,\n\t\"./tr.js\": 51212,\n\t\"./tzl\": 50110,\n\t\"./tzl.js\": 50110,\n\t\"./tzm\": 80482,\n\t\"./tzm-latn\": 38309,\n\t\"./tzm-latn.js\": 38309,\n\t\"./tzm.js\": 80482,\n\t\"./ug-cn\": 42495,\n\t\"./ug-cn.js\": 42495,\n\t\"./uk\": 54157,\n\t\"./uk.js\": 54157,\n\t\"./ur\": 80984,\n\t\"./ur.js\": 80984,\n\t\"./uz\": 64141,\n\t\"./uz-latn\": 43662,\n\t\"./uz-latn.js\": 43662,\n\t\"./uz.js\": 64141,\n\t\"./vi\": 12607,\n\t\"./vi.js\": 12607,\n\t\"./x-pseudo\": 66460,\n\t\"./x-pseudo.js\": 66460,\n\t\"./yo\": 92948,\n\t\"./yo.js\": 92948,\n\t\"./zh-cn\": 62658,\n\t\"./zh-cn.js\": 62658,\n\t\"./zh-hk\": 39352,\n\t\"./zh-hk.js\": 39352,\n\t\"./zh-mo\": 38274,\n\t\"./zh-mo.js\": 38274,\n\t\"./zh-tw\": 98451,\n\t\"./zh-tw.js\": 98451\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":[],"sourceRoot":"webpack:///"}