UNPKG

angular-bootstrap-italia

Version:

<p align="center"> <h1 align="center">Bootstrap Italia + Angular 9</h1>

445 lines (433 loc) 132 kB
import { __decorate, __spread, __values, __extends } from 'tslib'; import { EventEmitter, Input, Output, Component, Injectable, ChangeDetectionStrategy, ɵɵdefineInjectable, ɵɵinject, ViewChild, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; import { FormControl, Validators, FormGroup, ReactiveFormsModule, FormsModule } from '@angular/forms'; import { debounceTime, distinctUntilChanged, tap, switchMap, finalize } from 'rxjs/operators'; import { Subject } from 'rxjs/internal/Subject'; import { EMPTY } from 'rxjs/internal/observable/empty'; import { HttpClient } from '@angular/common/http'; import { FeatureGroup, icon, map, tileLayer, control, Control, Draw, geoJSON, marker } from 'leaflet'; import 'leaflet-draw'; import drawLocales from 'leaflet-draw-locales'; var HeaderComponent = /** @class */ (function () { function HeaderComponent() { this.logout = new EventEmitter(); } HeaderComponent.prototype.onLogout = function (event) { this.logout.emit(event); }; __decorate([ Input() ], HeaderComponent.prototype, "owner", void 0); __decorate([ Input() ], HeaderComponent.prototype, "appName", void 0); __decorate([ Input() ], HeaderComponent.prototype, "isAuthenticated", void 0); __decorate([ Input() ], HeaderComponent.prototype, "menuItems", void 0); __decorate([ Input() ], HeaderComponent.prototype, "loginRoute", void 0); __decorate([ Input() ], HeaderComponent.prototype, "userName", void 0); __decorate([ Output() ], HeaderComponent.prototype, "logout", void 0); HeaderComponent = __decorate([ Component({ selector: 'lib-header', template: "<div class=\"it-header-wrapper\">\r\n\r\n <div class=\"it-header-slim-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"it-header-slim-wrapper-content\">\r\n <a class=\"d-lg-block navbar-brand\" href=\"http://www.protezionecivile.gov.it/\">{{ owner }}</a>\r\n <div class=\"it-header-slim-right-zone\">\r\n <div class=\"nav-item dropdown\">\r\n <a class=\"nav-link dropdown-toggle\" href=\"#\" data-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <span>ITA</span>\r\n <svg class=\"icon d-none d-lg-block\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-expand\"></use>\r\n </svg>\r\n </a>\r\n <div class=\"dropdown-menu\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"link-list\">\r\n <li>\r\n <a class=\"list-item\" href=\"#\"><span>ITA</span></a>\r\n </li>\r\n <li>\r\n <a class=\"list-item\" href=\"#\"><span>ENG</span></a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <a [routerLink]=\"[loginRoute]\" class=\"btn btn-primary btn-icon btn-full\"\r\n *ngIf=\"!isAuthenticated; else elseBlock\">\r\n <span class=\"rounded-icon\">\r\n <svg class=\"icon icon-primary\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-user\"></use>\r\n </svg>\r\n </span>\r\n <span class=\"d-none d-lg-block\">Accedi</span>\r\n </a>\r\n <ng-template #elseBlock>\r\n <div class=\"dropdown\">\r\n <a class=\"btn btn-primary btn-icon btn-full\" href=\"#\" role=\"button\" id=\"dropdownMenuLink\"\r\n data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n <span class=\"rounded-icon\">\r\n <svg class=\"icon icon-primary\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-user\"></use>\r\n </svg>\r\n </span>\r\n <span class=\"d-none d-lg-block\">{{ userName }}</span>\r\n </a>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuLink\">\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"link-list\">\r\n <li><a class=\"list-item\" href=\"#\" (click)=\"onLogout($event)\"><span>Logout</span></a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"it-nav-wrapper\">\r\n <div class=\"it-header-center-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"it-header-center-content-wrapper\">\r\n <div class=\"it-brand-wrapper\">\r\n <a href=\"#\">\r\n <svg class=\"icon\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-code-circle\"></use>\r\n </svg>\r\n <div class=\"it-brand-text\">\r\n <h2 class=\"no_toc\">{{ appName }}</h2>\r\n <h3 class=\"no_toc d-none d-md-block\">Inserire qui la tag line</h3>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"it-right-zone\">\r\n <div class=\"it-socials d-none d-md-flex\">\r\n <span>Seguici su</span>\r\n <ul>\r\n <li>\r\n <a href=\"#\" aria-label=\"Facebook\" target=\"_blank\">\r\n <svg class=\"icon\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-facebook\"></use>\r\n </svg>\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" aria-label=\"Github\" target=\"_blank\">\r\n <svg class=\"icon\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-github\"></use>\r\n </svg>\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"#\" target=\"_blank\" aria-label=\"Twitter\">\r\n <svg class=\"icon\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-twitter\"></use>\r\n </svg>\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"it-search-wrapper\" *ngIf=\"isAuthenticated\">\r\n <span class=\"d-none d-md-block\">Cerca</span>\r\n <a class=\"search-link rounded-icon\" href=\"#\" aria-label=\"Cerca\" data-toggle=\"modal\"\r\n data-target=\"#modalSearchFullScreen\" data-backdrop=\"false\">\r\n <svg class=\"icon\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-search\"></use>\r\n </svg>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-header-navbar [menuItems]=\"menuItems\" *ngIf=\"isAuthenticated\"></lib-header-navbar>\r\n <lib-search-modal *ngIf=\"isAuthenticated\"></lib-search-modal>\r\n </div>\r\n</div>\r\n" }) ], HeaderComponent); return HeaderComponent; }()); var FooterComponent = /** @class */ (function () { function FooterComponent() { } __decorate([ Input() ], FooterComponent.prototype, "owner", void 0); __decorate([ Input() ], FooterComponent.prototype, "appName", void 0); FooterComponent = __decorate([ Component({ selector: 'lib-footer', template: "<footer class=\"it-footer\">\r\n <div class=\"it-footer-main\">\r\n <div class=\"container-fluid\">\r\n <section>\r\n <div class=\"row clearfix\">\r\n <div class=\"col-sm-12\">\r\n <div class=\"it-brand-wrapper\">\r\n <a href=\"#\">\r\n <svg class=\"icon\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-code-circle\"></use>\r\n </svg>\r\n <div class=\"it-brand-text\">\r\n <h2 class=\"no_toc\">{{ appName }}</h2>\r\n <h3 class=\"no_toc d-none d-md-block\">Inserire qui la tag line</h3>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n <section>\r\n <div class=\"row\">\r\n <div class=\"col-lg-3 col-md-3 col-sm-6 pb-2\">\r\n <h4>\r\n <a href=\"#\" title=\"Vai alla pagina: Amministrazione\">Amministrazione</a>\r\n </h4>\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"footer-list link-list clearfix\">\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Giunta e consiglio\">Giunta e consiglio</a>\r\n </li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Aree di competenza\">Aree di competenza</a>\r\n </li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Dipendenti\">Dipendenti</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Luoghi\">Luoghi</a></li>\r\n <li><a class=\"list-item\" href=\"#\"\r\n title=\"Vai alla pagina: Associazioni e societ\u00E0 partecipate\">Associazioni e societ\u00E0 partecipate</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-3 col-md-3 col-sm-6 pb-2\">\r\n <h4>\r\n <a href=\"#\" title=\"Vai alla pagina: Servizi\">Servizi</a>\r\n </h4>\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"footer-list link-list clearfix\">\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Pagamenti\">Pagamenti</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Sostegno\">Sostegno</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Domande e iscrizioni\">Domande e iscrizioni</a>\r\n </li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Segnalazioni\">Segnalazioni</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Autorizzazioni e concessioni\">Autorizzazioni e\r\n concessioni</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Certificati e dichiarazioni\">Certificati e\r\n dichiarazioni</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-3 col-md-3 col-sm-6 pb-2\">\r\n <h4>\r\n <a href=\"#\" title=\"Vai alla pagina: Novit\u00E0\">Novit\u00E0</a>\r\n </h4>\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"footer-list link-list clearfix\">\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Notizie\">Notizie</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Eventi\">Eventi</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Comunicati stampa\">Comunicati stampa</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-3 col-md-3 col-sm-6\">\r\n <h4>\r\n <a href=\"#\" title=\"Vai alla pagina: Documenti\">Documenti</a>\r\n </h4>\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"footer-list link-list clearfix\">\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Progetti e attivit\u00E0\">Progetti e attivit\u00E0</a>\r\n </li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Delibere, determine e ordinanze\">Delibere,\r\n determine e ordinanze</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Bandi\">Bandi</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Concorsi\">Concorsi</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Albo pretorio\">Albo pretorio</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n <section class=\"py-4 border-white border-top\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-4 col-md-4 pb-2\">\r\n <h4><a href=\"#\" title=\"Vai alla pagina: Contatti\">Contatti</a></h4>\r\n <p>\r\n <strong>Comune di Lorem Ipsum</strong><br> Via Roma 0 - 00000 Lorem Ipsum Codice fiscale / P. IVA:\r\n 000000000\r\n </p>\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"footer-list link-list clearfix\">\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: Posta Elettronica Certificata\">Posta\r\n Elettronica Certificata</a></li>\r\n <li><a class=\"list-item\" href=\"#\" title=\"Vai alla pagina: URP - Ufficio Relazioni con il Pubblico\">URP -\r\n Ufficio Relazioni con il Pubblico</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-4 col-md-4 pb-2\">\r\n <h4><a href=\"#\" title=\"Vai alla pagina: Lorem Ipsum\">Lorem Ipsum</a></h4>\r\n </div>\r\n <div class=\"col-lg-4 col-md-4 pb-2\">\r\n <div class=\"pb-2\">\r\n <h4><a href=\"#\" title=\"Vai alla pagina: Seguici su\">Seguici su</a></h4>\r\n <ul class=\"list-inline text-left social\">\r\n <li class=\"list-inline-item\"><a class=\"p-2 text-white\" href=\"#\" target=\"_blank\"><svg\r\n class=\"icon icon-sm icon-white align-top\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-designers-italia\"></use>\r\n </svg><span class=\"sr-only\">Designers Italia</span></a></li>\r\n <li class=\"list-inline-item\"><a class=\"p-2 text-white\" href=\"#\" target=\"_blank\"><svg\r\n class=\"icon icon-sm icon-white align-top\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-twitter\"></use>\r\n </svg><span class=\"sr-only\">Twitter</span></a></li>\r\n <li class=\"list-inline-item\"><a class=\"p-2 text-white\" href=\"#\" target=\"_blank\"><svg\r\n class=\"icon icon-sm icon-white align-top\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-medium\"></use>\r\n </svg><span class=\"sr-only\">Medium</span></a></li>\r\n <li class=\"list-inline-item\"><a class=\"p-2 text-white\" href=\"#\" target=\"_blank\"><svg\r\n class=\"icon icon-sm icon-white align-top\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-behance\"></use>\r\n </svg><span class=\"sr-only\">Behance</span></a></li>\r\n </ul>\r\n </div>\r\n <div class=\"pb-2\">\r\n <h4><a href=\"#\" title=\"Vai alla pagina: Newsletter\">Newsletter</a></h4>\r\n <p>Form Newsletter</p>\r\n <!--<form action=\"#\" method=\"post\">\r\n <label for=\"input-newsletter\" class=\"active\">Iscriviti per riceverla</label>\r\n <div class=\"input-group\">\r\n <div class=\"input-group-prepend\">\r\n <div class=\"input-group-text\">@</div>\r\n </div>\r\n <input type=\"text\" class=\"form-control\" id=\"input-newsletter\" name=\"input-newsletter\" placeholder=\"Scrivi il tuo indirizzo email\" >\r\n <div class=\"input-group-append\">\r\n <button class=\"btn btn-outline-secondary\" type=\"button\" id=\"button-addon2\">Button</button>\r\n </div>\r\n </div>\r\n <button class=\"btn btn-default pull-right\" type=\"submit\">Iscriviti</button>\r\n </form>-->\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n <div class=\"it-footer-small-prints clearfix\">\r\n <div class=\"container-fluid\">\r\n <h3 class=\"sr-only\">Sezione Link Utili</h3>\r\n <ul class=\"it-footer-small-prints-list list-inline mb-0 d-flex flex-column flex-md-row\">\r\n <li class=\"list-inline-item\"><a href=\"#\" title=\"Note Legali\">Media policy</a></li>\r\n <li class=\"list-inline-item\"><a href=\"#\" title=\"Note Legali\">Note legali</a></li>\r\n <li class=\"list-inline-item\"><a href=\"#\" title=\"Privacy-Cookies\">Privacy policy</a></li>\r\n <li class=\"list-inline-item\"><a href=\"#\" title=\"Mappa del sito\">Mappa del sito</a> </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</footer>\r\n" }) ], FooterComponent); return FooterComponent; }()); var HeaderNavbarComponent = /** @class */ (function () { function HeaderNavbarComponent() { } __decorate([ Input() ], HeaderNavbarComponent.prototype, "menuItems", void 0); HeaderNavbarComponent = __decorate([ Component({ selector: 'lib-header-navbar', template: "<div class=\"it-header-navbar-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n\r\n <nav class=\"navbar navbar-expand-lg has-megamenu\">\r\n <button class=\"custom-navbar-toggler\" type=\"button\" aria-controls=\"nav10\" aria-expanded=\"false\"\r\n aria-label=\"Toggle navigation\" data-target=\"#nav10\">\r\n <svg class=\"icon\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-burger\"></use>\r\n </svg>\r\n </button>\r\n <div class=\"navbar-collapsable\" id=\"nav10\">\r\n <div class=\"overlay\"></div>\r\n <div class=\"close-div sr-only\">\r\n <button class=\"btn close-menu\" type=\"button\"><span class=\"it-close\"></span>close</button>\r\n </div>\r\n <div class=\"menu-wrapper\">\r\n\r\n <ul class=\"navbar-nav\">\r\n\r\n <ng-template ngFor let-item [ngForOf]=\"menuItems\">\r\n <ng-container [ngSwitch]=\"item.type\">\r\n\r\n <li *ngSwitchCase=\"'link'\" class=\"nav-item\" routerLinkActive=\"active\"\r\n [routerLinkActiveOptions]=\"{exact: true}\">\r\n\r\n <a *ngIf=\"!item.disabled; else elseBlock\" class=\"nav-link\" [routerLink]=\"[item.href]\"\r\n routerLinkActive=\"active\" [routerLinkActiveOptions]=\"{exact: true}\" #rla=\"routerLinkActive\">\r\n <span>{{ item.title }}</span>\r\n <span *ngIf=\"rla.isActive\" class=\"sr-only\"> attivo</span>\r\n </a>\r\n\r\n <ng-template #elseBlock>\r\n <a class=\"nav-link disabled\" [routerLink]=\"[item.href]\"><span>{{ item.title }}</span></a>\r\n </ng-template>\r\n\r\n </li>\r\n\r\n <li class=\"nav-item dropdown\" *ngSwitchCase=\"'dropdown'\">\r\n <lib-dropdown *ngSwitchCase=\"'dropdown'\" [title]=\"item.title\" [heading]=\"item.payload.heading\"\r\n [items]=\"item.payload.elements\"></lib-dropdown>\r\n </li>\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n </ul>\r\n </div>\r\n\r\n </div>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""] }) ], HeaderNavbarComponent); return HeaderNavbarComponent; }()); var HeaderNavbarDropdownComponent = /** @class */ (function () { function HeaderNavbarDropdownComponent() { } __decorate([ Input() ], HeaderNavbarDropdownComponent.prototype, "title", void 0); __decorate([ Input() ], HeaderNavbarDropdownComponent.prototype, "heading", void 0); __decorate([ Input() ], HeaderNavbarDropdownComponent.prototype, "items", void 0); HeaderNavbarDropdownComponent = __decorate([ Component({ selector: 'lib-dropdown', template: "<a class=\"nav-link dropdown-toggle\" href=\"#\" data-toggle=\"dropdown\" aria-expanded=\"false\">\r\n <span>{{ title }}</span>\r\n <svg class=\"icon icon-xs\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-expand\"></use>\r\n </svg>\r\n</a>\r\n<div class=\"dropdown-menu\">\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"link-list\">\r\n <li>\r\n <h3 class=\"no_toc\" id=\"heading\">{{ heading }}</h3>\r\n </li>\r\n\r\n <li *ngFor=\"let item of items\">\r\n <a *ngIf=\"!item.isDivider && item.disabled==true\" class=\"list-item disabled\"\r\n aria-disabled=\"true\"><span>ciao</span></a>\r\n\r\n <a *ngIf=\"!item.isDivider && !item.disabled\" class=\"'list-item\" [routerLink]=\"[item.href]\"\r\n routerLinkActive=\"active\" [routerLinkActiveOptions]=\"{exact: true}\" #rla=\"routerLinkActive\">\r\n <span>{{ item.title }}</span>\r\n <span *ngIf=\"rla.isActive\" class=\"sr-only\">active</span>\r\n </a>\r\n\r\n <span *ngIf=\"item.isDivider\" class=\"divider\"></span>\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [""] }) ], HeaderNavbarDropdownComponent); return HeaderNavbarDropdownComponent; }()); var BlankPageComponent = /** @class */ (function () { function BlankPageComponent() { } BlankPageComponent.prototype.ngOnInit = function () { }; BlankPageComponent = __decorate([ Component({ selector: 'lib-blank-page', template: "<div class=\"container-fluid my-4 px-4\">\r\n <ng-content></ng-content>\r\n</div>\r\n" }) ], BlankPageComponent); return BlankPageComponent; }()); var LoginPageComponent = /** @class */ (function () { function LoginPageComponent() { this.formSubmit = new EventEmitter(); } LoginPageComponent.prototype.onSubmit = function (form) { if (!form.valid) { return; } var email = form.value.email; var password = form.value.password; this.formSubmit.emit({ email: email, password: password }); form.reset(); }; __decorate([ Input() ], LoginPageComponent.prototype, "isLoading", void 0); __decorate([ Output() ], LoginPageComponent.prototype, "formSubmit", void 0); LoginPageComponent = __decorate([ Component({ selector: 'lib-login-page', template: "<div id=\"content\" class=\"container py-5\">\r\n <div class=\"wrapper\">\r\n\r\n <section class=\"container\" style=\"max-width: 40em\">\r\n <h1 class=\"pb-5\">Log in</h1>\r\n\r\n <form class=\"login\" #authForm=\"ngForm\" (ngSubmit)=\"onSubmit(authForm)\" *ngIf=\"!isLoading\">\r\n\r\n <div class=\"form-group\">\r\n <input type=\"text\" name=\"email\" class=\"form-control \" id=\"email\" ngModel required email>\r\n <label for=\"email\">Email</label>\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <input type=\"password\" name=\"password\" class=\"form-control input-password\" id=\"password\" ngModel required minlength=\"14\">\r\n <label for=\"password\">Password</label>\r\n <span class=\"password-icon bg-transparent\" aria-hidden=\"true\">\r\n <svg class=\"password-icon-visible icon icon-sm\">\r\n <use\r\n xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-password-visible\">\r\n </use>\r\n </svg>\r\n <svg class=\"password-icon-invisible icon icon-sm d-none\">\r\n <use\r\n xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-password-invisible\">\r\n </use>\r\n </svg>\r\n </span>\r\n </div>\r\n\r\n <div class=\"form-check\">\r\n <input id=\"remember\" name=\"remember\" type=\"checkbox\">\r\n <label for=\"remember\">Ricordami</label>\r\n </div>\r\n\r\n <div class=\"py-4 login_buttons\">\r\n <button class=\"btn btn-primary\" type=\"submit\" [disabled]=\"!authForm.valid\">Log in</button>\r\n </div>\r\n\r\n <!-- <p>Se non hai ancora creato un account, <a [routerLink]=\"['/']\" >registrati</a> adesso.</p> -->\r\n\r\n <p>Se invece hai dimenticato la password, puoi <a [routerLink]=\"['/reset-password']\">reimpostarla</a>.</p>\r\n\r\n </form>\r\n\r\n </section>\r\n\r\n </div>\r\n</div>\r\n", styles: [".form-group{margin-bottom:1.5rem}"] }) ], LoginPageComponent); return LoginPageComponent; }()); var ResetPasswordPageComponent = /** @class */ (function () { function ResetPasswordPageComponent() { } ResetPasswordPageComponent = __decorate([ Component({ selector: 'lib-reset-password-page', template: "<div id=\"content\" class=\"container py-5\">\r\n <div class=\"wrapper\">\r\n\r\n <section class=\"container\" style=\"max-width: 40em\">\r\n <h1>Re-imposta la Password</h1>\r\n\r\n <p>Hai dimenticato la tua password? Inserisci qui sotto l'indirizzo e-mail con cui ti sei registrato, ti invieremo\r\n una mail con un link per re-impostarla.</p>\r\n\r\n <form method=\"POST\" action=\"/accounts/password/reset/\" class=\"password_reset\">\r\n\r\n <div class=\"form-group\">\r\n <input type=\"email\" class=\"form-control\" id=\"id_email\" name=\"email\">\r\n <label for=\"id_email\">E-mail</label>\r\n </div>\r\n\r\n <button class=\"btn btn-primary\" type=\"submit\">Re-imposta la mia Password</button>\r\n </form>\r\n </section>\r\n\r\n </div>\r\n</div>\r\n", styles: [".form-group{margin-bottom:1.5rem}"] }) ], ResetPasswordPageComponent); return ResetPasswordPageComponent; }()); var TableComponent = /** @class */ (function () { function TableComponent() { this.paginationChange = new EventEmitter(); this.detailSelected = new EventEmitter(); } TableComponent.prototype.ngOnInit = function () { var _this = this; // start loading this.loading = true; // check result this.loadingSub = this.$rows.subscribe(function (newValue) { if (newValue) { _this.loading = false; } }); }; TableComponent.prototype.ngOnChanges = function (changes) { if (changes.pagination) { this.loading = false; } }; TableComponent.prototype.ngOnDestroy = function () { if (this.loadingSub) { this.loadingSub.unsubscribe(); } }; TableComponent.prototype.emitNewPagination = function (newPagination) { this.loading = true; this.paginationChange.emit(newPagination); }; TableComponent.prototype.getElemKeys = function (elem) { return Object.keys(elem); }; TableComponent.prototype.onDetail = function (rowElem) { this.detailSelected.emit(rowElem); }; __decorate([ Input() ], TableComponent.prototype, "columns", void 0); __decorate([ Input() ], TableComponent.prototype, "detailUpdate", void 0); __decorate([ Input() ], TableComponent.prototype, "$rows", void 0); __decorate([ Input() ], TableComponent.prototype, "pagination", void 0); __decorate([ Output() ], TableComponent.prototype, "paginationChange", void 0); __decorate([ Output() ], TableComponent.prototype, "detailSelected", void 0); TableComponent = __decorate([ Component({ selector: 'lib-table', template: "<div class=\"table-responsive my-5 shadow\">\r\n <table class=\"table mb-0 bg-white\">\r\n <thead>\r\n <tr>\r\n <th scope=\"col\" *ngFor=\"let colItem of columns\">\r\n <span>{{ colItem.label }}</span>\r\n <!-- <svg class=\"icon icon-xs\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-expand\">\r\n </use>\r\n </svg> -->\r\n </th>\r\n <th scope=\"col\" *ngIf=\"detailUpdate\">\r\n <span> Azione </span>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngIf=\"loading\">\r\n <td [attr.colspan]=\"detailUpdate ? columns.length + 1 : columns.length\">\r\n <div class=\"progress progress-indeterminate\" style=\"width: 100%;\">\r\n <span class=\"sr-only\">In elaborazione...</span>\r\n <div class=\"progress-bar\" role=\"progressbar\"></div>\r\n </div>\r\n </td>\r\n </tr>\r\n\r\n <tr *ngFor=\"let item of $rows | async\">\r\n <td class=\"align-middle\" *ngFor=\"let column of columns\">\r\n {{ item[column.key] }}\r\n </td>\r\n <td class=\"align-middle\" *ngIf=\"detailUpdate\">\r\n <a href=\"javascript:void(0);\" class=\"btn btn-secondary btn-xs btn-icon\" role=\"button\" aria-disabled=\"true\" (click)=\"onDetail(item)\">\r\n <svg class=\"icon icon-white\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-search\">\r\n </use>\r\n </svg>\r\n <span>Dettagli</span>\r\n </a>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n<lib-table-pagination *ngIf=\"pagination\" [currentPagination]=\"pagination\"\r\n (paginationChange)=\"emitNewPagination($event)\"></lib-table-pagination>\r\n", styles: [""] }) ], TableComponent); return TableComponent; }()); var SearchModalComponent = /** @class */ (function () { function SearchModalComponent() { } SearchModalComponent.prototype.ngOnInit = function () { }; SearchModalComponent = __decorate([ Component({ selector: 'lib-search-modal', template: "<div class=\"modal sfs-modal fade show\" tabindex=\"-1\" role=\"dialog\" id=\"modalSearchFullScreen\">\r\n <div class=\"modal-dialog\" role=\"document\">\r\n <div class=\"modal-content\">\r\n <div class=\"container\">\r\n <!-- Header -->\r\n <div class=\"row mt-5 mb-5\">\r\n <div class=\"col-12 d-flex justify-content-between align-items-center\">\r\n <h1 class=\"text-secondary\">Cerca</h1>\r\n <button class=\"close\" type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n <svg class=\"icon icon-lg\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-close\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Input -->\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <form id=\"autocompleteSearchForm\" autocomplete=\"off\">\r\n <div class=\"form-group autocomplete-wrapper-big\">\r\n <input\r\n autocomplete=\"off\"\r\n type=\"search\"\r\n class=\"autocomplete\"\r\n placeholder=\"Cerca eventi, bollettini o per tag\"\r\n id=\"autocompleteSearchFullScreen\"\r\n name=\"autocompleteSearchFullScreen\">\r\n <span class=\"autocomplete-icon\" aria-hidden=\"true\">\r\n <svg class=\"icon icon-sm\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-search\"></use>\r\n </svg>\r\n </span>\r\n <ul class=\"autocomplete-list\" id=\"autocompleteListSearchFullScreen\"></ul>\r\n <label for=\"autocompleteSearchFullScreen\" class=\"sr-only\">Cerca nel sito</label>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <!-- Filters -->\r\n <div id=\"autocompleteFilters\" class=\"row\">\r\n <div class=\"col-12 sfs-modal-tags-container\">\r\n <button type=\"button\" class=\"btn btn-xs sfs-btn-tag btn-primary\" data-filter=\"\">Tutto</button>\r\n <button type=\"button\" class=\"btn btn-xs sfs-btn-tag btn-icon btn-outline-secondary\" data-filter=\"progetto\">\r\n <svg class=\"icon icon-secondary\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-map-marker-circle\"></use>\r\n </svg>\r\n <span>Eventi</span>\r\n </button>\r\n <button type=\"button\" class=\"btn btn-xs sfs-btn-tag btn-icon btn-outline-secondary\" data-filter=\"documento\">\r\n <svg class=\"icon icon-secondary\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-note\"></use>\r\n </svg>\r\n <span>Bollettini</span>\r\n </button>\r\n <button type=\"button\" class=\"btn btn-xs sfs-btn-tag btn-icon btn-outline-secondary\" data-filter=\"amministrazione\">\r\n <svg class=\"icon icon-secondary\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-star-outline\"></use>\r\n </svg>\r\n <span>Coau</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".form-group{margin-bottom:1.5rem}.sfs-modal-button{background:0 0;border:none;color:#fff}.sfs-modal-button span{display:none;font-size:16px}.sfs-modal-button .sfs-modal-button-icon-bg{background:0 0;border-radius:44px;height:auto;width:auto;margin-left:0;flex:0 0 44px}.sfs-modal-button .sfs-modal-button-icon-bg .icon-primary{fill:#fff!important}@media (min-width:576px){.sfs-modal-button span{display:block;margin-bottom:1px}.sfs-modal-button .sfs-modal-button-icon-bg{background:#fff;height:44px;width:44px;margin-left:10px}.sfs-modal-button .sfs-modal-button-icon-bg .icon-primary{fill:#06c!important}}.sfs-modal.modal{height:100%;height:calc(100% - 48px);top:48px;bottom:0;left:0;right:0;border:none;background:#fff;border-radius:0;padding:0;z-index:1072;padding-right:0!important}@media (min-width:576px){.sfs-modal.modal{height:calc(100% - 54px);top:54px}}@media (min-width:992px){.sfs-modal.modal{height:calc(100% - 48px);top:48px}}.sfs-modal.modal .modal-dialog{background:#fff;margin:0;max-width:none;height:100%}.sfs-modal.modal .modal-dialog .modal-content{min-height:100%;box-shadow:none}.sfs-modal.modal .modal-dialog .modal-content .autocomplete-wrapper-big .autocomplete{padding-left:65px}.sfs-modal.modal .modal-dialog .modal-content .autocomplete-wrapper-big .autocomplete-list{z-index:1}.sfs-modal.modal .modal-dialog .modal-content .autocomplete-wrapper-big .autocomplete-list .autocomplete-list-freesearch a{font-size:16px;font-weight:600;color:#06c}.sfs-modal.modal .modal-dialog .modal-content .autocomplete-wrapper-big .autocomplete-list .autocomplete-list-freesearch a .search-icon{margin-top:1px}.sfs-modal.modal .modal-dialog .modal-content .autocomplete-wrapper-big .autocomplete-list .autocomplete-list-freesearch a .right-arrow-icon{margin-top:2px}.sfs-modal.modal .sfs-modal-tags-container .sfs-btn-tag{margin-right:10px;margin-bottom:10px}.sfs-modal.modal .sfs-modal-tags-container .btn-outline-secondary{box-shadow:inset 0 0 0 1px #5f7285}"] }) ], SearchModalComponent); return SearchModalComponent; }()); var TablePaginationComponent = /** @class */ (function () { function TablePaginationComponent() { this.paginationChange = new EventEmitter(); this.pages = []; this.currentPageRound = []; } TablePaginationComponent.prototype.ngOnInit = function () { this.setPageRound(1); }; TablePaginationComponent.prototype.ngOnChanges = function (changes) { if (changes.currentPagination) { this.setPageRound(this.currentPagination.currentPage); } }; TablePaginationComponent.prototype.setPage = function (page) { this.currentPagination.currentPage = page; this.setPageRound(page); this.paginationChange.emit({ page: this.currentPagination.currentPage, pageSize: this.currentPagination.pageSize }); }; TablePaginationComponent.prototype.nextPage = function () { var newCurrentPage = this.currentPagination.currentPage + 1; if (this.pages.find(function (elem) { return elem.page === newCurrentPage; })) { this.currentPagination.currentPage = newCurrentPage; this.setPageRound(newCurrentPage); this.paginationChange.emit({ page: this.currentPagination.currentPage, pageSize: this.currentPagination.pageSize }); } }; TablePaginationComponent.prototype.previousPage = function () { var newCurrentPage = this.currentPagination.currentPage - 1; if (this.pages.find(function (elem) { return elem.page === newCurrentPage; })) { this.currentPagination.currentPage = newCurrentPage; this.setPageRound(newCurrentPage); this.paginationChange.emit({ page: this.currentPagination.currentPage, pageSize: this.currentPagination.pageSize }); } }; TablePaginationComponent.prototype.changePageSize = function (newPageSizeValue) { this.currentPagination.pageSize = newPageSizeValue; this.paginationChange.emit({ page: 1, pageSize: this.currentPagination.pageSize }); }; TablePaginationComponent.prototype.setPageRound = function (currentPage) { this.pages = []; if (this.currentPagination.totalPages > 7) { var lower = currentPage - 2 > 1 ? currentPage - 2 : 2; var max = currentPage + 2 < this.currentPagination.totalPages ? currentPage + 2 : this.currentPagination.totalPages - 1; // Inserisci primo elemento this.pages.push({ separator: false, page: 1 }); // Seprator if (lower > 2) { this.pages.push({ separator: true }); } // Round var minNext = currentPage > this.currentPagination.totalPages - 4 ? this.currentPagination.totalPages - 4 : lower; var maxNext = lower > 2 ? max : lower + 3; for (var i = minNext; i <= maxNext; i++) { this.pages.push({ separator: false, page: i }); } // Seprator if (max < this.currentPagination.totalPages - 1) { this.pages.push({ separator: true }); } // Inserisci ultimo elemento this.pages.push({ separator: false, page: this.currentPagination.totalPages }); } else { for (var i = 1; i <= this.currentPagination.totalPages; i++) { this.pages.push({ separator: false, page: i }); } } }; __decorate([ Input() ], TablePaginationComponent.prototype, "currentPagination", void 0); __decorate([ Output() ], TablePaginationComponent.prototype, "paginationChange", void 0); TablePaginationComponent = __decorate([ Component({ selector: 'lib-table-pagination', template: "<div class=\"row\">\r\n <div class=\"col\">\r\n <nav class=\"pagination-wrapper justify-content-center\" aria-label=\"Esempio di navigazione della pagina\">\r\n <ul class=\"pagination\">\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" href=\"javascript:void(0);\" (click)=\"previousPage()\">\r\n <svg class=\"icon icon-primary\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-chevron-left\">\r\n </use>\r\n </svg>\r\n <span class=\"sr-only\">Pagina precedente</span>\r\n </a>\r\n </li>\r\n\r\n <li class=\"page-item\" *ngFor=\"let elem of pages\">\r\n\r\n <a class=\"page-link\" href=\"javascript:void(0);\" aria-current=\"page\"\r\n *ngIf=\"!elem.separator && elem.page === currentPagination.currentPage\" (click)=\"setPage(elem.page)\">\r\n {{ elem.page }}\r\n </a>\r\n\r\n <a class=\"page-link\" href=\"javascript:void(0);\" (click)=\"setPage(elem.page)\"\r\n *ngIf=\"!elem.separator && elem.page !== currentPagination.currentPage;\">{{ elem.page }}</a>\r\n\r\n <span class=\"page-link\" *ngIf=\"elem.separator\">...</span>\r\n\r\n </li>\r\n\r\n <li class=\"page-item\">\r\n <a class=\"page-link\" href=\"javascript:void(0);\" (click)=\"nextPage()\">\r\n <span class=\"sr-only\">Pagina successiva</span>\r\n <svg class=\"icon icon-primary\">\r\n <use xlink:href=\"./assets/bootstrap-italia/svg/sprite.svg#it-chevron-right\">\r\n </use>\r\n </svg>\r\n </a>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"dropdown\">\r\n <a class=\"btn btn-dropdown dropdown-toggle\" href=\"javascript:void(0);\" role=\"button\" id=\"pagerChanger\"\r\n data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\" aria-label=\"Salta alla pagina\">pag. {{ currentPagination.pageSize }}</a>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"pagerChanger\">\r\n <div class=\"link-list-wrapper\">\r\n <ul class=\"link-list\">\r\n <li><a class=\"list-item\" href=\"javascript:void(0);\" (click)=\"changePageSize(10)\"><span>pag. 10</span></a></li>\r\n <li><a class=\"list-item\" href=\"javascript:void(0);\" (click)=\"changePageSize(20)\"><span>pag. 20</span></a></li>\r\n <li><a class=\"list-item\" href=\"javascript:void(0);\" (click)=\"changePageSize(30)\"><span>pag. 30</span></a></li>\r\n <li><a class=\"list-item\" href=\"javascript:void(0);\" (click)=\"changePageSize(40)\"><span>pag. 40</span></a></li>\r\n <li><a class=\"list-item\" href=\"javascript:void(0);\" (click)=\"changePageSize(50)\"><span>pag. 50</span></a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </nav>\r\n </div>\r\n</div>\r\n", styles: [""] }) ], TablePaginationComponent); return TablePaginationComponent; }()); var DynamicFormControlService = /** @class */ (function () { function DynamicFormControlService() { } DynamicFormControlService.prototype.toFormGroup = function (fields, defaultState) { if (defaultState === void 0) { defaultState = null; } var group = {}; fields.forEach(function (field) { var defaultValue; if (typeof field.value === 'boolean') { defaultValue = false; } else { defaultValue = ''; } if (defaultState) { defaultValue = defaultState[field.key]; } group[field.key] = field.required ? new FormControl({ value: field.value || defaultValue, disabled: field.disabled }, Validators.required) : new FormControl({ value: field.value || defaultValue, disabled: field.disabled }); }); return new FormGroup(group); }; DynamicFormControlService = __decorate([ Injectable() ], DynamicFormControlService); return DynamicFormControlService; }()); var StepperComponent = /** @class */ (function () { function StepperComponent(qcs) { this.qcs = qcs; this.fromValueChange = new EventEmitter(); this.submitedEvent = new EventEmitter(); this.latitude = 42.50; this.longitude = 12.50; } StepperComponent.prototype.ngOnInit = function () { var _this = this; var _a, _b, _c, _d; this.widthExp = 100 / this.stepElements.length; // step a 1 this.currentStepIndex = 1; this.validSteps = []; this.touchedSteps = []; this.formRows = [].concat.apply([], __spread(this.stepElements.map(function (e) { return e.fromRows; }))); var elements = [].concat.apply([], __spread(this.formRows.map(function (e) { return e.items; }))); this.stepForm = this.qcs.toFormGroup(elements); this.mapId = this.getMapId(); var mapFormRows = this.stepElements.find(function (elem) { return elem.mapId; }).fromRows; this.mapFormFields = [].concat.apply([], __spread(mapFormRows.map(function (e) { return e.items; }))); // Form Latiture (_a = this.stepForm.controls.latitude) === null || _a === void 0 ? void 0 : _a.setValue(42.50); this.latSub = (_b = this.stepForm.controls.latitude) === null || _b === void 0 ? void 0 : _b.valueChanges.pipe(debounceTime(500), distinctUntilChanged()).subscribe(function (newVal) { _this.latitude = newVal; }); // Form Longitude (_c = this.stepForm.controls.longitude) === null || _c === void 0 ? void 0 : _c.setValue(12.50); this.lngSub = (_d = this.stepForm.controls.longitude) === null || _d === void 0 ? void 0 : _d.valueChanges.pipe(debounceTime(500), distinctUntilChanged()).subscribe(function (newVal) { _this.longitude = newVal; }); this.formStateSubscription = this.stepForm.valueChanges .subscribe(function (newValue) { var _a; var mapFieldsKeys = _this.mapFormFields.map(function (e) { return e.key; }); var mapBoxingValues = []; mapFieldsKeys.forEach(function (key) { var fieldValue = _this.stepForm.value[key]; if (typeof fieldValue === 'object') { mapBoxingValues.push(_this.stepForm.value[key]); } if (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.shapelight) { // TODO: Fix name _this.mapShapePolygon = fieldValue.shapelight; } }); if ((mapBoxingValues === null || mapBoxingValues === void 0 ? void 0 : mapBoxingValues.length) > 0) { _this.mapBboxPolygon = (_a = mapBoxingValues[mapBoxingValues.length - 1]) === null || _a === void 0 ? void 0 : _a.boundingbox; // TODO: Fix Name } _this.fromValueChange.emit(newValue); }); }; StepperComponent.prototype.ngOnDestroy = function () { if (this.formStateSubscription) { this.formStateSubscription.unsubscribe(); } if (this.latSub) { this.latSub.unsubscribe(); } if (this.lngSub) { this.lngSub.unsubscribe(); } }; Object.defineProperty(StepperComponent.prototype, "stepRows", { get: function () { var _this = this; var rows = this.stepElements.find(function (e) { return e.index === _this.currentStepIndex; }).fromRows; return rows; }, enumerable: true, configurable: true }); StepperComponent.prototype.getItems = function (formRow) { var _this = this; var items = formRow.items.filter(function (item) { var _a, _b, _c, _d, _e, _f, _g; var showCondition = false; // Se tipo semplice if (((_a = item.parentShowCondition) === null || _a === void 0 ? void 0 : _a.parentKey) && ((_b = item.parentShowCondition) === null || _b === void 0 ? void 0 : _b.parentValue) === _this.stepForm.get(item.parentShowCondition.parentKey).value) { showCondition = true; } // Se oggetto if (((_c = item.parentShowCondition) === null || _c === void 0 ? void 0 : _c.parentKey) && typeof