{"version":3,"file":"guma-ux-angular.mjs","sources":["../../../projects/guma-ux-angular/src/lib/common-ux/services/menu.service.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/footer/footer.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/footer/footer.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/components/notifications/notifications.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/notifications/notifications.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/components/navbar-dashboard/navbar-dashboard.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/navbar-dashboard/navbar-dashboard.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/components/sidebar/sidebar.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/sidebar/sidebar.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/components/wrapper-2/wrapper-2.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/wrapper-2/wrapper-2.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/components/card/card.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/card/card.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/services/breadcrumb.service.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/breadcrumb/breadcrumb.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/breadcrumb/breadcrumb.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/components/ux-tools/ux-tools.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/pipes/offer-name/offer-name.pipe.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/user-tips/user-tips.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/user-tips/user-tips.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/components/loader/loader.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/loader/loader.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/components/edit-configuration-fields/edit-configuration-fields.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/edit-configuration-fields/edit-configuration-fields.component.html","../../../projects/guma-ux-angular/src/lib/common-ux/pipes/slugOf/slugOf.pipe.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/show-content-type/show-content-type.component.ts","../../../projects/guma-ux-angular/src/lib/common-ux/components/show-content-type/show-content-type.component.html","../../../projects/guma-ux-angular/src/lib/guma-ux-angular.module.ts","../../../projects/guma-ux-angular/src/public-api.ts","../../../projects/guma-ux-angular/src/guma-ux-angular.ts"],"sourcesContent":["import {Observable, Subject} from \"rxjs\";\n\nexport class MenuItem{\n  public label: string;\n  public link?: string|string[];\n  public icon?: string;\n  public externalLink?: string;\n  public subMenus?: MenuItem[];\n  public separator?: boolean|undefined = false;\n}\nexport class MenuService{\n\n  mainMenu: Subject<MenuItem[]>;\n\n  footerMenu: Subject<MenuItem[]>;\n}\n","import {Component, Inject} from \"@angular/core\";\nimport {MenuItem, MenuService} from \"../../services/menu.service\";\nimport {SuperAdminService} from 'guma-common-model';\n\n@Component({\n  selector: 'app-dashboard-footer',\n  templateUrl: 'footer.component.html',\n  styleUrls: ['footer.component.scss']\n})\nexport class FooterComponent{\n\n  poweredBy: string;\n  menuItems: MenuItem[];\n  constructor(@Inject(\"MenuService\") private menuService: MenuService, superadminService: SuperAdminService ) {\n    menuService.footerMenu.subscribe((m) => {\n      this.menuItems = m;\n    })\n    superadminService.findCurrent().subscribe((c) => {\n      this.poweredBy = c.personalization.poweredByText;\n    });\n  }\n}\n","<footer>\n  <ul class=\"flex flex-wrap items-center mb-6 md:mb-0\">\n    <li *ngFor=\"let menu of menuItems\">\n      <ng-container *ngIf=\"menu.externalLink\">\n        <a href=\"{{menu.externalLink}}\" target=\"_blank\">{{menu.label}}</a>\n      </ng-container>\n      <ng-container *ngIf=\"!menu.externalLink\">\n        <a [routerLink]=\"menu.link\">{{menu.label}}</a>\n      </ng-container>\n    </li>\n  </ul>\n  <div class=\"flex space-x-6 sm:justify-center\">\n    <a href=\"#\" class=\"fa-footer-social-link\">\n      <svg class=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\n      </svg>\n    </a>\n    <a href=\"#\" class=\"fa-footer-social-link\">\n      <svg class=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\" />\n      </svg>\n    </a>\n    <a href=\"#\" class=\"fa-footer-social-link\">\n      <svg class=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" >\n        <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\n      </svg>\n    </a>\n    <a href=\"#\" class=\"fa-footer-social-link\">\n      <svg class=\"w-5 h-5\" fill=\"currentColor\"    viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path fill-rule=\"evenodd\" d=\"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\"\n          clip-rule=\"evenodd\" />\n      </svg>\n    </a>\n  </div>\n</footer>\n<p class=\"sub-footer\">\n  <span class=\"copy\"><span>{{poweredBy}}</span></span>\n  <span class=\"version\"><span><span i18n=\"@@ux.footer.version\">Version:</span> 2.3.98</span></span>\n</p>\n","import {Component} from \"@angular/core\";\nimport {NotificationService,PageResource,NotificationResource} from \"guma-common-model\";\n\n@Component({\n  selector: 'app-notifications',\n  templateUrl: 'notifications.component.html',\n  styleUrls: ['notifications.component.scss']\n})\nexport class NotificationsComponent{\n\n  notifications: PageResource<NotificationResource>\n\n  constructor(private notificationService: NotificationService) {\n    this.refreshNotifications()\n  }\n\n\n\n  refreshNotifications(){\n    this.notificationService.getNotifications().subscribe((ns) => {\n      this.notifications = ns;\n    })\n  }\n\n}\n","<div class=\"notification-wrapper text-base list-none block\" style=\"width: 250px\">\n  <div class=\"block py-2 px-4 text-base font-medium text-center notification-inner\">\n    Notifications\n  </div>\n  <div *ngIf=\"!notifications\" class=\"panel\">\n    <p i18n>Loading...</p>\n  </div>\n  <ng-container *ngIf=\"notifications\" >\n  <div  class=\"panel\">\n    <a  class=\"flex py-3 px-4 border-b hover:bg-gray-100 dark:hover:bg-gray-800\" *ngFor=\"let n of notifications.content\">\n      <div class=\"flex-shrink-0\">\n        <app-profil-badge [size]=\"'medium'\" [text]=\"'r'\" ></app-profil-badge>\n      </div>\n      <div class=\"pl-3 w-full\">\n        <div class=\"text-gray-500 font-normal text-sm mb-1.5\"><span class=\"font-semibold text-gray-900\">{{n.title}}</span>: {{n.message}}</div>\n        <div class=\"text-xs font-medium text-fuchsia-500\">{{n.date|date:'short'}}</div>\n      </div>\n    </a>\n  </div>\n  <a class=\"block py-2 text-base font-normal text-center notification-link-view-all\">\n    <div class=\"inline-flex items-center \">\n      <svg class=\"mr-2 w-5 h-5 text-gray-500\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 12a2 2 0 100-4 2 2 0 000 4z\"></path><path fill-rule=\"evenodd\" d=\"M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z\" clip-rule=\"evenodd\"></path></svg>\n      <ng-container i18n>View all</ng-container>\n    </div>\n  </a>\n  </ng-container>\n</div>\n","import {Component, EventEmitter, Output} from \"@angular/core\";\nimport {\n  ClientApplicationLinkResource,\n  ClientApplicationService,\n  ClientResource,\n  Organization,\n  OrganizationService,\n  SuperAdminService,\n  UserInfoService\n} from \"guma-common-model\";\nimport {UXMessageService} from \"guma-ng-material-kit\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\n\n@Component({\n  selector: 'navbar-dashboard',\n  templateUrl: 'navbar-dashboard.component.html',\n  styleUrls: ['navbar-dashboard.component.scss']\n})\nexport class NavbarDashboardComponent{\n\n  isSuperAdmin = false;\n  client: ClientResource;\n  username: string;\n  orgId: string;\n  selectedOrg: Organization;\n  organizations: Organization[];\n  applications: ClientApplicationLinkResource[] = [];\n  poweredBy: string;\n\n  @Output()\n  toggleSideNav: EventEmitter<void> = new EventEmitter<void>();\n\n  constructor(private superadminService: SuperAdminService, private userInfoService: UserInfoService,\n              private organizationService: OrganizationService,\n              private clientApplicationService: ClientApplicationService,\n              protected uxMessageService: UXMessageService,\n              protected activatedRoute: ActivatedRoute, private router: Router) {\n    this.superadminService.findCurrent().subscribe((c) => {\n      this.isSuperAdmin = c.name === 'guma-admin';\n      this.client = c;\n\n      this.poweredBy = c.personalization.poweredByText;\n    });\n    this.userInfoService.infos().subscribe((userInfo) => {\n      this.username = userInfo.username;\n    });\n    this.setupOrgs();\n    this.loadAvailableApplications();\n  }\n\n\n  /**\n   * Redirect to the main \"my profil\"\n   */\n  onProfileSelected() {\n    window.open('/front/org/' + this.orgId + '/profil');\n  }\n\n  logout() {\n    this.userInfoService.logout().subscribe((r) => {\n        // we add the  redirect url:\n        window.location.href = r.logoutUrl + window.location.href;\n      },\n      (e) => {\n        this.uxMessageService.handleError( $localize `Error during the logout. Please try again or empty cookies.`)\n      }\n    );\n  }\n\n\n  setupOrgs(){\n    this.organizationService.findAll().subscribe(orgs => {\n        this.organizations = orgs.sort((a, b) => a.name.toLocaleLowerCase() < b.name.toLocaleLowerCase() ? -1 : 1);\n        // check against url:\n        this.activatedRoute.params.subscribe(params => {\n          this.orgId = params['orgId'];\n          for (const org of this.organizations) {\n            if (org.id.id === this.orgId) {\n              this.selectedOrg = org;\n            }\n          }\n        });\n\n\n      },\n      (err) => this.uxMessageService.handleError(err)\n    );\n  }\n\n  changeOrg(org: Organization){\n    const fullRoute: string[] = [];\n    const activatedRoutes: ActivatedRoute[] = [];\n    let lastRoute = this.activatedRoute;\n    while (lastRoute){\n      activatedRoutes.push(lastRoute);\n      lastRoute = lastRoute.firstChild;\n    }\n    for(const ar of activatedRoutes){\n      for(const url of ar.snapshot.url){\n        fullRoute.push(url.path);\n      }\n    }\n\n    if(fullRoute.length>2 && fullRoute[0] === 'org'){\n      fullRoute[1] = org.id.id;\n    }\n\n    this.router.navigate(fullRoute, {queryParamsHandling: 'merge'})\n  }\n\n\n  loadAvailableApplications(){\n    this.clientApplicationService.findAvailableClientApplications().subscribe((caa) => {\n      if(caa.content){\n        this.applications = caa.content.filter(c => c.showInAppNav);\n      }else{\n        this.applications = [];\n      }\n    })\n  }\n\n}\n","<nav class=\"primary fixed z-30 w-full\">\n  <div class=\"py-3 px-3 lg:px-5 lg:pl-3\">\n    <div class=\"flex justify-between items-center\">\n      <div class=\"flex justify-start items-center\">\n        <button id=\"toggleSidebar\" aria-expanded=\"true\" aria-controls=\"sidebar\" class=\"hidden p-2 mr-4 rounded cursor-pointer lg:inline\" (click)=\"toggleSideNav.emit()\">\n          <svg class=\"w-6 h-6\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" d=\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\" clip-rule=\"evenodd\"></path></svg>\n        </button>\n        <button id=\"toggleSidebarMobile\" aria-expanded=\"true\" aria-controls=\"sidebar\" class=\"p-2 mr-2 focus:ring-2 rounded cursor-pointer \" (click)=\"toggleSideNav.emit()\">\n          <svg id=\"toggleSidebarMobileHamburger\" class=\"w-6 h-6\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" d=\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\" clip-rule=\"evenodd\"></path></svg>\n          <svg id=\"toggleSidebarMobileClose\" class=\"hidden w-6 h-6\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"></path></svg>\n        </button>\n        <a  class=\"text-md font-semibold flex items-center lg:mr-1.5\">\n          <ng-container *ngIf=\"client?.personalization?.logo?.id\">\n            <img src=\"{{client?.personalization.logo.url}}\" class=\"mr-2 h-8\">\n          </ng-container>\n          <ng-container *ngIf=\"!client?.personalization?.logo?.id\">\n            <span class=\"hidden md:inline-block self-center text-xl font-bold whitespace-nowrap client-name\">{{client?.name}}</span>\n          </ng-container>\n        </a>\n\n      </div>\n      <div class=\"flex items-center\">\n\n        <button type=\"button\" class=\"notification-button p-2 rounded-2xl \" [matMenuTriggerFor]=\"applicationsDropdown\" *ngIf=\"applications.length>0\">\n          <span class=\"sr-only\" i18n>Available applications</span>\n          <mat-icon>apps</mat-icon>\n        </button>\n        <mat-menu  #applicationsDropdown=\"matMenu\" [class]=\"'large'\">\n          <div class=\"block panel-header\" i18n style=\"width: 500px\">\n            Apps\n          </div>\n          <div class=\"grid grid-cols-3 gap-4 p-4\">\n            <ng-container *ngFor=\"let app of applications\">\n              <a href=\"{{app.homeUrl}}\" [target]=\"app.openInBlankPage ? '_blank': '_self'\" class=\"block p-4 text-center rounded-xl hover:bg-gray-100 dark:hover:bg-slate-700 text-slate-900 dark:text-slate-50\">\n                <mat-icon *ngIf=\"app.icon\" >{{app.icon}}</mat-icon>\n                <mat-icon *ngIf=\"!app.icon\" class=\"\">launch</mat-icon>\n                <div class=\"text-sm font-medium text-gray-900 dark:text-slate-200 truncate\" title=\"{{app.name}}\">{{app.name}}</div>\n              </a>\n            </ng-container>\n\n          </div>\n        </mat-menu>\n\n\n\n        <button type=\"button\" class=\"notification-button p-2 rounded-2xl \" [matMenuTriggerFor]=\"notificationDropdown\">\n          <span class=\"sr-only\" i18n>View notifications</span>\n          <mat-icon>notifications</mat-icon>\n        </button>\n        <mat-menu  #notificationDropdown=\"matMenu\" >\n          <app-notifications></app-notifications>\n        </mat-menu>\n        <div class=\"ml-3\">\n          <div>\n            <button type=\"button\" class=\"flex \" aria-expanded=\"false\" [mat-menu-trigger-for]=\"userMenu\">\n              <span class=\"sr-only\" i18n>Open user menu</span>\n              <app-profil-badge *ngIf=\"username\" [size]=\"'medium'\" [text]=\"username\"></app-profil-badge>\n            </button>\n          </div>\n          <mat-menu #userMenu=\"matMenu\">\n            <div class=\"menu-user-wrapper\">\n              <div class=\"py-3 px-4\" role=\"none\">\n                <p class=\"text-sm font-medium text-gray-900 dark:text-gray-500 truncate\" role=\"none\">\n                  {{username}}\n                </p>\n              </div>\n              <ul class=\"py-1 px-4\" role=\"none\">\n                <li>\n                  <a (click)=\"onProfileSelected()\" class=\"dd-user-menu block\" role=\"menuitem\" i18n>Profile</a>\n                </li>\n                <li>\n                  <a (click)=\"logout()\" class=\"dd-user-menu block\" role=\"menuitem\" i18n>Sign out</a>\n                </li>\n              </ul>\n            </div>\n          </mat-menu>\n        </div>\n        <a [matMenuTriggerFor]=\"orgMenu\" class=\"hidden md:block switch-org-menu px-5 py-2.5  mr-0  shadow-md  sm:inline-flex ml-5 font-medium rounded-lg text-center inline-flex items-center text-sm cta-button-color \">\n          <ng-container i18n>Current organization:</ng-container>\n          <span>{{selectedOrg?.name}}</span>\n        </a>\n        <a [matMenuTriggerFor]=\"orgMenu\" class=\"block md:hidden switch-org-menu p-1 mr-0 shadow-md  sm:inline-flex ml-5 font-medium rounded-lg text-center inline-flex items-center text-sm cta-button-color  \">\n          <mat-icon>corporate_fare</mat-icon>\n        </a>\n        <mat-menu #orgMenu=\"matMenu\">\n          <div class=\"menu-user-wrapper\">\n            <div class=\"py-3 px-4\" role=\"none\">\n              <p class=\"switch-org-header text-sm font-medium  truncate \" role=\"none\" i18n>\n                Switch to an organization:\n              </p>\n            </div>\n            <ul class=\"py-1\" role=\"none\">\n              <li *ngFor=\"let organization of organizations\">\n                <a (click)=\"changeOrg(organization)\" class=\"dd-user-menu block py-2 px-4 text-sm\" role=\"menuitem\" i18n>{{organization.name}}</a>\n              </li>\n            </ul>\n          </div>\n        </mat-menu>\n\n\n\n      </div>\n    </div>\n  </div>\n</nav>\n","import {Component, Inject, Input} from \"@angular/core\";\nimport {MenuItem, MenuService} from \"../../services/menu.service\";\nimport {LanguageResource, SetUserLanguageDto, UserIdDto, UserInfoService, UserService, SuperAdminService} from \"guma-common-model\";\nimport {UXMessageService} from \"guma-ng-material-kit\";\nimport {ActivatedRoute, Params, QueryParamsHandling} from \"@angular/router\";\nimport {MAT_DIALOG_DATA} from \"@angular/material/dialog\";\n\n\nclass Language {\n  constructor(public code: string, public label: string) {\n  }\n}\n\n@Component({\n  selector: 'app-sidebar',\n  templateUrl: 'sidebar.component.html',\n  styleUrls: ['sidebar.component.scss']\n})\nexport class SidebarComponent{\n  public menuItems: MenuItem[];\n  languages: Language[];\n  private _username: string;\n  private params: Params;\n  public ar: ActivatedRoute;\n  private _justIcons = false;\n  public menusOpenStatus: any[] = [];\n  preferredLanguage = 'fr';\n\n  @Input()\n  set justIcons(b: boolean){\n    this._justIcons = b;\n  }\n  get justIcons(){\n    return this._justIcons;\n  }\n\n  constructor(@Inject(\"MenuService\") private menuService: MenuService, private userService: UserService, private userInfoService: UserInfoService,\n              private uxMessageService: UXMessageService, activatedRoute: ActivatedRoute) {\n\n    this.initLanguage();\n    this.ar = activatedRoute.parent.parent;\n    menuService.mainMenu.subscribe((m) => {\n      this.menuItems = m;\n    })\n    this.userInfoService.infos().subscribe((userInfo) => {\n      this._username = userInfo.username;\n    });\n\n    this.languages = [\n      new Language('en', 'English'),\n      new Language('fr', 'Francais'),\n    ];\n\n    activatedRoute.params.subscribe((p) => {\n      this.params = p;\n    });\n\n  }\n\n\n  initLanguage(){\n    this.userInfoService.infos().subscribe((i)=> {\n      this.preferredLanguage = i.preferredLanguage;\n    });\n\n  }\n\n\n\n  onLanguageChange(lang: string) {\n      const userIdDto: UserIdDto = new UserIdDto();\n      userIdDto.username = this._username;\n      const userLanguageDto = new SetUserLanguageDto();\n      userLanguageDto.userId = userIdDto;\n      userLanguageDto.languageResource = new LanguageResource();\n      userLanguageDto.languageResource.code = lang;\n      this.userService.setUserLanguage(userLanguageDto).subscribe((ret) => {\n          this.userInfoService.setLanguageInSession(lang).subscribe((l) => {\n            this.uxMessageService.handleSuccess($localize `Language updated`);\n            this.initLanguage();\n          });\n        },\n        (err) => {\n          this.uxMessageService.handleError(err);\n        });\n  }\n\n\n  clickMenu(menu: MenuItem){\n    this.menusOpenStatus[menu.label] = !this.menusOpenStatus[menu.label];\n  }\n\n\n\n}\n","<div class=\"flex relative flex-col flex-1 pt-0 min-h-0  h-full {{justIcons ? 'just-icons' : 'full-size'}}\">\n    <div class=\"flex overflow-y-auto flex-col flex-1 pt-8 pb-4 h-full   overflow-x-clip\">\n      <div style=\"margin-left: -11px;\" class=\"flex-1 px-3 \" id=\"sidebar-items\">\n        <ul class=\"pb-2 pt-1\">\n          <li *ngFor=\"let menu of menuItems\">\n            <a [routerLink]=\"menu.link\"\n               [routerLinkActive]=\"'selected'\"\n               [routerLinkActiveOptions]=\"{exact: false}\"\n               (click)=\"clickMenu(menu)\"\n               class=\"menu-item group flex  items-center py-2.5 px-4 text-base font-normal rounded-lg \">\n              <div class=\"menu-item-wrap\" >\n                <span class=\"material-icons\" >{{menu.icon}}</span>\n              </div>\n              <span class=\"ml-3 label-menu-item text-sm font-light\" >{{menu.label}}</span>\n              <ng-container *ngIf=\"menu.subMenus\">\n                <svg  class=\"w-4 h-4 ml-auto text-gray-700\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\"></path></svg>\n              </ng-container>\n            </a>\n            <ul class=\"pb-2 pt-1\" *ngIf=\"menu.subMenus && menusOpenStatus[menu.label]\">\n              <li *ngFor=\"let sm of menu.subMenus\">\n                <a [routerLink]=\"sm.link\"\n                   class=\"sub-menu-link group\"\n                   [routerLinkActive]=\"'bg-gray-200 dark:bg-slate-800'\">{{sm.label}}</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n        <hr class=\"border-0 h-px bg-gradient-to-r from-gray-100 via-gray-300 to-gray-100 dark:from-slate-700 dark:via-slate-500 dark:to-slate-700\">\n        <div class=\"pt-2\">\n        </div>\n      </div>\n    </div>\n    <div class=\"hidden relative bottom-0 left-0 justify-center p-4 space-x-4 w-full lg:flex preferences\"\n         sidebar-bottom-menu>\n      <a\n         class=\"inline-flex justify-center p-2 text-gray-500 rounded cursor-pointer hover:text-dark-500 hover:bg-gray-200\">\n        <svg class=\"w-6 h-6\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\">\n          <path\n            d=\"M5 4a1 1 0 00-2 0v7.268a2 2 0 000 3.464V16a1 1 0 102 0v-1.268a2 2 0 000-3.464V4zM11 4a1 1 0 10-2 0v1.268a2 2 0 000 3.464V16a1 1 0 102 0V8.732a2 2 0 000-3.464V4zM16 3a1 1 0 011 1v7.268a2 2 0 010 3.464V16a1 1 0 11-2 0v-1.268a2 2 0 010-3.464V4a1 1 0 011-1z\"></path>\n        </svg>\n      </a>\n      <a href=\"\" data-tooltip-target=\"tooltip-settings\"\n         class=\"inline-flex justify-center p-2 text-gray-500 rounded cursor-pointer hover:text-dark-500 hover:bg-gray-200\">\n        <svg class=\"w-6 h-6\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\">\n          <path fill-rule=\"evenodd\"\n                d=\"M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z\"\n                clip-rule=\"evenodd\"></path>\n        </svg>\n      </a>\n      <div id=\"tooltip-settings\" role=\"tooltip\"\n           class=\"inline-block absolute invisible z-10 py-2 px-3 text-sm font-medium text-white bg-gray-900 rounded-lg opacity-0 transition-opacity duration-300 tooltip shadow-lg-sm\">\n        Settings page\n        <div class=\"tooltip-arrow\" data-popper-arrow></div>\n      </div>\n      <button type=\"button\" data-dropdown-toggle=\"language-dropdown\" *ngIf=\"preferredLanguage\"\n              class=\"inline-flex justify-center p-2 text-gray-500 rounded cursor-pointer hover:text-dark-500 hover:bg-gray-200\" [matMenuTriggerFor]=\"menuFlags\">\n         <img src=\"./assets/img/icons/flags/{{preferredLanguage}}.svg\" class=\"h-6 w-6 \"/>\n      </button>\n      <!-- Dropdown -->\n      <mat-menu #menuFlags=\"matMenu\">\n        <ul class=\"py-1\" role=\"none\">\n          <li *ngFor=\"let lang of languages\">\n            <a (click)=\"onLanguageChange(lang.code)\" class=\"block py-2 px-4 text-sm text-gray-700 hover:bg-gray-200\" role=\"menuitem\">\n              <div class=\"inline-flex items-center\">\n                <img src=\"./assets/img/icons/flags/{{lang.code}}.svg\" class=\"h-6 w-6 mr-2\"/>\n                {{lang.label}}\n              </div>\n            </a>\n          </li>\n        </ul>\n      </mat-menu>\n    </div>\n  </div>\n","import {AfterViewInit, Component} from \"@angular/core\";\nimport {BreakpointObserver} from \"@angular/cdk/layout\";\n\n@Component({\n  templateUrl: 'wrapper-2.component.html',\n  styleUrls: ['wrapper-2.component.scss']\n})\nexport class Wrapper2Component implements AfterViewInit{\n\n\n\n  LOCAL_STORAGE_STATUS = 'f_l_menu_wide';\n\n  sidebarClass: string = 'w-64';\n  mainContentClass: string = 'lg:ml-64';\n\n\n  mobile = false;\n\n  private _sidenavModeAlwaysOpen = true;\n  private _sidenavWide = true;\n\n  set sidenavModeAlwaysOpen(b: boolean){\n    this._sidenavModeAlwaysOpen = b;\n    this.sidenavWide = b;\n    localStorage.setItem(this.LOCAL_STORAGE_STATUS, this.sidenavWide ? '1' : '0');\n  }\n\n  get sidenavModeAlwaysOpen(){\n    return this._sidenavModeAlwaysOpen;\n  }\n\n\n  set sidenavWide (b: boolean){\n    this._sidenavWide = b;\n    if(this._sidenavWide){\n      this.sidebarClass = 'w-64';\n      this.mainContentClass = 'lg:ml-64';\n    }else{\n      this.sidebarClass = 'w-16';\n      this.mainContentClass = 'lg:ml-16';\n    }\n  }\n\n  get sidenavWide(): boolean{\n    return this._sidenavWide;\n  }\n\n\n  menuHover(){\n    if(!this.sidenavModeAlwaysOpen){\n      this.sidenavWide = true;\n    }\n  }\n  menuOut(){\n    if(!this.sidenavModeAlwaysOpen){\n      this.sidenavWide = false;\n    }\n  }\n\n\n  constructor(private observer: BreakpointObserver) {\n    this.observer.observe('(min-width: 768px)').subscribe((result) => {\n      this.mobile = !result.matches;\n    });\n  }\n\n  ngAfterViewInit(): void {\n    if('0' === localStorage.getItem(this.LOCAL_STORAGE_STATUS)){\n      this.sidenavModeAlwaysOpen = false;\n    }\n  }\n\n}\n","<navbar-dashboard (toggleSideNav)=\"sidenavModeAlwaysOpen = !sidenavModeAlwaysOpen\"></navbar-dashboard>\n\n<mat-drawer-container [hasBackdrop]=\"mobile\" (backdropClick)=\"sidenavModeAlwaysOpen = false\">\n  <mat-drawer #drawer  [mode]=\"mobile ? 'over' : 'side'\" [opened]=\"!mobile || sidenavModeAlwaysOpen\">\n    <aside id=\"sidebar\"\n           aria-label=\"Sidebar\"\n           class=\"{{sidebarClass}}\"\n           (mouseenter)=\"menuHover()\"\n           (mouseleave)=\"menuOut()\">\n      <app-sidebar [justIcons]=\"!sidenavWide\"></app-sidebar>\n    </aside>\n    <div id=\"sidebarBackdrop\"></div>\n  </mat-drawer>\n\n\n<div class=\"wrap\">\n  <div id=\"main-content\" class=\"{{mainContentClass}}\">\n    <main>\n      <router-outlet></router-outlet>\n    </main>\n    <app-dashboard-footer></app-dashboard-footer>\n  </div>\n</div>\n\n</mat-drawer-container>\n","import {Component, Input} from \"@angular/core\";\n\n@Component({\n  selector: 'app-card',\n  templateUrl: 'card.component.html',\n  styleUrls: ['card.component.scss']\n})\nexport class CardComponent{\n\n  @Input()\n  title: string;\n\n  @Input()\n  titleClass: string;\n\n  @Input()\n  class: string;\n\n}\n","<div class=\"fa-card {{class}}\">\n  <h3 class=\"mb-4 text-xl font-bold {{titleClass}}\"   *ngIf=\"title\">{{title}}</h3>\n  <ng-content></ng-content>\n</div>\n","import {Injectable} from \"@angular/core\";\nimport {BehaviorSubject} from \"rxjs\";\n\nexport class BreadcrumbPart {\n  constructor(public label: string, public link: string | undefined) {\n  }\n}\n\nexport class ActionButton {\n  public label: string = '';\n  public link: string = '';\n  public icon: string = '';\n  public callback: () => any = () => {\n  };\n}\n\nexport class PageState {\n  constructor(public parts: BreadcrumbPart[] = [], public title: string = '', public actions: ActionButton[] = []) {\n  }\n}\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class BreadcrumbService {\n\n  state: BehaviorSubject<PageState> = new BehaviorSubject<PageState>(new PageState());\n\n  setState(state: PageState) {\n    this.state.next(state);\n  }\n\n}\n","import {Component} from \"@angular/core\";\nimport {BreadcrumbPart, BreadcrumbService} from \"../../services/breadcrumb.service\";\nimport {ActivatedRoute} from \"@angular/router\";\n\n@Component({\n  selector: 'app-breadcrumb',\n  templateUrl: 'breadcrumb.component.html',\n  styleUrls: ['breadcrumb.component.scss']\n})\nexport class BreadcrumbComponent {\n\n\n  data:{title: string, value: BreadcrumbPart[]} = {title: '', value: []};\n\n  constructor(private breadcrumbService: BreadcrumbService, public activatedRoute: ActivatedRoute) {\n    this.breadcrumbService.state.subscribe((value) => {\n      this.data.value.length = 0;\n      this.data.value.push(...value.parts);\n      this.data.title = value.title;\n    });\n  }\n\n  ngAfterContentInit(){\n\n  }\n\n}\n","<div class=\"block justify-between items-center p-4 mx-4 mt-4 mb-6  rounded-2xl lg:p-5 sm:flex  shadow-xl breadcrumb-wrapper \">\n  <div class=\"mb-1 w-full\">\n    <div class=\"mb-4\">\n      <nav class=\"flex mb-5\" aria-label=\"Breadcrumb\">\n        <ol class=\"inline-flex items-center space-x-1 md:space-x-2\">\n\n          <li class=\"inline-flex items-center\">\n            <a routerLink=\"/\" class=\"inline-flex items-center has-link\">\n              <svg class=\"w-5 h-5 mr-2.5\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z\"></path></svg>\n              Home\n            </a>\n          </li>\n\n          <li *ngFor=\"let part of data?.value\">\n            <div class=\"flex items-center\">\n              <svg class=\"w-6 h-6 text-gray-400\" fill=\"currentColor\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\" clip-rule=\"evenodd\"></path></svg>\n              <a [routerLink]=\"part.link\" [relativeTo]=\"activatedRoute\" class=\"ml-1 text-sm font-medium {{part.link ? 'has-link' : ''}}  md:ml-2\">{{part.label}}</a>\n            </div>\n          </li>\n        </ol>\n      </nav>\n      <h1 class=\"text-xl font-semibold  sm:text-2xl\">{{data?.title}}</h1>\n    </div>\n    <div class=\"block items-center sm:flex md:divide-x md:divide-gray-100\">\n      <ng-content></ng-content>\n    </div>\n  </div>\n</div>\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\n\n@Component({\n  selector: 'app-ux-tools-table-wrapper',\n  template: `\n    <div class=\"flex flex-col mx-4 rounded-2xl shadow-xl \">\n      <div class=\"overflow-x-auto rounded-2xl\">\n        <div class=\"inline-block min-w-full align-middle\">\n          <div class=\"overflow-hidden\">\n            <ng-content></ng-content>\n          </div>\n        </div>\n      </div>\n    </div>\n  `\n})\nexport class TableWrapperComponent{\n\n}\n\n\n@Component({\n  selector: 'app-ux-tools-paginator-wrapper',\n  template: `\n    <div class=\"items-center px-4 py-2 my-4 mx-4  rounded-2xl shadow-xl paginator-wrapper \">\n      <div class=\"flex items-center mb-4 sm:mb-0  sm:justify-end\">\n        <ng-content></ng-content>\n      </div>\n    </div>\n  `\n})\nexport class PaginatorWrapperComponent{\n\n}\n\n\n@Component({\n  selector: 'app-ux-tools-action-button',\n  styles: [`a{cursor: pointer}`],\n  template: `\n    <div class=\"flex items-center w-full sm:justify-end\">\n\n      <a (click)=\"fClick.emit()\" [routerLink]=\"link\"   class=\"inline-flex items-center py-2 px-3 text-sm font-medium text-center  rounded-lg  sm:ml-auto hover:scale-[1.02] transition-transform cta-button-color \">\n        <ng-container *ngIf=\"icon\">\n          <mat-icon class=\"mr-2\">{{icon}}</mat-icon>\n        </ng-container>\n        <ng-content></ng-content>\n      </a>\n    </div>\n  `\n})\nexport class ActionButtonComponent{\n\n  @Input()\n  link = 'add';\n  @Input()\n  icon = 'add';\n  @Output()\n  fClick: EventEmitter<void> = new EventEmitter<void>();\n\n}\n\n\n","import {Pipe, PipeTransform} from \"@angular/core\";\nimport {SalesService} from 'guma-common-model';\nimport {Observable, of} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\n\n@Pipe({\n  name: 'offerName'\n})\nexport class OfferNamePipe implements PipeTransform {\n\n  constructor(private offerService: SalesService) {\n  }\n\n  transform(value: string): Observable<string> {\n    if (!value) {\n      return of(value);\n    }\n    return this.offerService.findOneOffer(value).pipe(map(o => o.name));\n  }\n}\n","import {AfterViewInit, Component, Input} from \"@angular/core\";\n\n@Component({\n  selector: 'user-tips',\n  templateUrl: 'user-tips.component.html',\n  styleUrls: ['user-tips.component.scss'],\n})\nexport class UserTipsComponent{\n\n  _closeKey = undefined;\n\n  @Input()\n  title: string = '';\n\n  @Input()\n  set closeKey(ck: string) {\n    this._closeKey = ck;\n    if(ck){\n      this.onChangeCloseKey();\n    }\n  }\n  get closeKey(){\n    return this._closeKey;\n  }\n\n  @Input()\n  class = '';\n  @Input()\n  titleClass = '';\n\n  show = false;\n\n  close(){\n    localStorage.setItem(this.closeKey, '1');\n    this.show = false;\n  }\n\n  onChangeCloseKey(): void {\n    if(!this.closeKey){\n      this.show = true;\n      return;\n    }\n    const ret = localStorage.getItem(this.closeKey)\n    if(ret === '1'){\n      this.show = false;\n    }else{\n      this.show = true;\n    }\n  }\n\n}\n","<ng-container *ngIf=\"show\">\n<div class=\"{{class}}\" >\n  <app-card i18n-title title=\"{{title}}\" [titleClass]=\"titleClass\"  class=\"bg-gradient-to-br from-green-400 to-green-700 relative !mb-0 !mt-0\">\n    <a class=\"close-btn\" (click)=\"close()\" *ngIf=\"closeKey\">\n      <mat-icon>close</mat-icon>\n    </a>\n    <ng-content></ng-content>\n    <br/>\n    <br/>\n  </app-card>\n</div>\n</ng-container>\n","import {Component, ContentChild, HostBinding, Input} from \"@angular/core\";\n\n@Component({\n  selector: \"app-loader-v2\",\n  templateUrl: 'loader.component.html',\n  styleUrls: ['loader.component.scss'],\n})\nexport class LoaderComponent{\n  @Input()\n  loading = false;\n}\n","<!--\n<mat-progress-spinner [mode]=\"'indeterminate'\" [color]=\"'accent'\" [diameter]=\"20\"  [strokeWidth]=\"2\"></mat-progress-spinner>\n-->\n<img src=\"assets/img/icons/ux/TEST_O1_recadrer_GRIS_24px.gif\" width=\"24\" height=\"24\"/>\n","import {Component, Input, OnDestroy} from \"@angular/core\";\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  UntypedFormBuilder, UntypedFormControl,\n  UntypedFormGroup, NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  Validator,\n  Validators\n} from \"@angular/forms\";\nimport {Observable, Subscription} from \"rxjs\";\nimport {CustomTypeField} from \"guma-common-model\";\nimport {map} from \"rxjs/operators\";\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\n\n@Component({\n  selector: 'app-edit-configuration-fields',\n  styleUrls: ['edit-configuration-fields.component.scss'],\n  templateUrl: 'edit-configuration-fields.component.html',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      multi: true,\n      useExisting: EditConfigurationFieldsComponent\n    },\n    {\n      provide: NG_VALIDATORS,\n      multi: true,\n      useExisting: EditConfigurationFieldsComponent\n    },\n  ]\n})\nexport class EditConfigurationFieldsComponent implements ControlValueAccessor, OnDestroy, Validator {\n\n  httpOptions = {\n    headers: new HttpHeaders({'Content-Type': 'application/json'}),\n    withCredentials: true,\n    observe: 'response' as 'response'\n  };\n\n  // options for referential's fields\n  options: any[] = [];\n\n\n  _customTypeFields:CustomTypeField[] = [];\n  lastWriteValue: any;\n  @Input()\n  set customTypeFields(cf:CustomTypeField[]){\n    const changed = this._customTypeFields != cf;\n    this._customTypeFields = cf;\n    if(changed){\n      this.updateForm();\n    }\n  }\n\n  get customTypeFields(){\n    return this._customTypeFields;\n  }\n\n  form: UntypedFormGroup = this.fb.group({});\n\n  private updateForm(){\n    Object.entries(this.form.controls).forEach(([key, value]) => {\n      this.form.removeControl(key);\n    });\n    if(this._customTypeFields){\n      for ( const field of this._customTypeFields ) {\n        const control: UntypedFormControl = new UntypedFormControl('');\n        this.form.addControl(field.slug, control);\n\n        if (field.type === 'REFERENTIAL') {\n          // fetch data:\n          this.findReferentialElements(field.possibleValuesUrl, field.possibleValuesUrlContentPath, field.possibleValuesUrlIdPath, field.possibleValuesUrlLabelPath).subscribe((options) => {\n            this.options[field.slug] = options;\n          });\n        }\n      }\n\n\n      // write original values again with form in place:\n      if(this.lastWriteValue){\n        this.form.patchValue(this.lastWriteValue);\n      }\n    }\n  }\n\n  onTouched: Function = () => {};\n\n  onChangeSubs: Subscription[] = [];\n\n  constructor(private fb: UntypedFormBuilder, private http: HttpClient) {\n  }\n\n  ngOnDestroy() {\n    for (let sub of this.onChangeSubs) {\n      sub.unsubscribe();\n    }\n  }\n\n  registerOnChange(onChange: any) {\n    const sub = this.form.valueChanges.subscribe(onChange);\n    this.onChangeSubs.push(sub);\n  }\n\n  registerOnTouched(onTouched: Function) {\n    this.onTouched = onTouched;\n  }\n\n  setDisabledState(disabled: boolean) {\n    if (disabled) {\n      this.form.disable();\n    }\n    else {\n      this.form.enable();\n    }\n  }\n\n\n  writeValue(value: any) {\n    if (value) {\n      // we keep the last value in case of the form was not init\n      this.lastWriteValue = value;\n      this.form.patchValue(value, {emitEvent: false});\n    }\n  }\n\n  validate(control: AbstractControl) {\n\n    if (this.form.valid) {\n      return null;\n    }\n\n    let errors : any = {};\n\n    errors = this.addControlErrors(errors, \"addressLine1\");\n    errors = this.addControlErrors(errors, \"addressLine2\");\n    errors = this.addControlErrors(errors, \"zipCode\");\n    errors = this.addControlErrors(errors, \"city\");\n\n    return errors;\n  }\n\n  addControlErrors(allErrors: any, controlName:string) {\n\n    const errors = {...allErrors};\n\n    const controlErrors = this.form.controls[controlName].errors;\n\n    if (controlErrors) {\n      errors[controlName] = controlErrors;\n    }\n\n    return errors;\n  }\n\n\n\n  findReferentialElements(url: string, dataPath: string, pathId: string, pathLabel: string): Observable<{label: string, value: string}[]> {\n    return this\n      .http\n      .get(`${url}`, this.httpOptions)\n      .pipe(\n        map(a => a.body as any[] ),\n        map(a => {\n          return (dataPath && (dataPath !== '')) ? a[dataPath] : a;\n        }),\n        map(a => {\n          const ret = [];\n          for (const elem of a) {\n            ret.push({label: elem[pathLabel], value: elem[pathId]});\n          }\n          return ret;\n        })\n      );\n  }\n}\n","<section *ngIf=\"customTypeFields\" [formGroup]=\"form\">\n  <div *ngFor=\"let nodeTypeField of  customTypeFields\">\n    <mat-form-field *ngIf=\"nodeTypeField.type=='STRING'\"  class=\"col col-12\" appearance=\"outline\">\n      <mat-label>{{nodeTypeField.label}}</mat-label>\n      <input formControlName=\"{{nodeTypeField.slug}}\" matInput (blur)=\"onTouched()\">\n    </mat-form-field>\n    <mat-form-field *ngIf=\"nodeTypeField.type=='NUMBER'\"  class=\"col col-12\" appearance=\"outline\">\n      <mat-label>{{nodeTypeField.label}}</mat-label>\n      <input formControlName=\"{{nodeTypeField.slug}}\" matInput type=\"number\">\n    </mat-form-field>\n    <div *ngIf=\"nodeTypeField.type=='TEXT'\" >\n      <mat-form-field class=\"col col-12\" appearance=\"outline\">\n        <mat-label>{{nodeTypeField.label}}</mat-label>\n        <textarea formControlName=\"{{nodeTypeField.slug}}\" matInput placeholder=\"{{nodeTypeField.label}}\"></textarea>\n      </mat-form-field>\n    </div>\n    <div *ngIf=\"nodeTypeField.type=='BOOLEAN'\" class=\"col col-12\">\n      <span class=\"label-preview uu\">{{nodeTypeField.label}}</span>\n      <div>\n        <mat-slide-toggle formControlName=\"{{nodeTypeField.slug}}\"></mat-slide-toggle>\n      </div>\n    </div>\n    <mat-form-field  *ngIf=\"nodeTypeField.type=='REFERENTIAL'\"  class=\"col col-12\" appearance=\"outline\">\n      <mat-label>{{nodeTypeField.label}}</mat-label>\n      <mat-select formControlName=\"{{nodeTypeField.slug}}\"  >\n        <mat-option *ngFor=\"let item of options[nodeTypeField.slug]\" [value]=\"item.value\">\n          {{item.label}}\n        </mat-option>\n      </mat-select>\n    </mat-form-field>\n    <mat-form-field *ngIf=\"nodeTypeField.type=='DATE'\"  class=\"col col-12\" appearance=\"outline\">\n      <mat-label>{{nodeTypeField.label}}</mat-label>\n      <input [matDatepicker]=\"picker\" formControlName=\"{{nodeTypeField.slug}}\" matInput>\n      <mat-datepicker-toggle  [for]=\"picker\" matSuffix></mat-datepicker-toggle>\n      <mat-datepicker #picker></mat-datepicker>\n    </mat-form-field>\n  </div>\n</section>\n","import {Directive, ElementRef, Input} from '@angular/core';\n\n@Directive({\n  selector: '[slugOf]'\n})\nexport class SlugOfPipe {\n\n  constructor(private el: ElementRef) {\n  }\n\n  /**\n   * Must be an input\n   */\n  @Input('slugOf') set ref(ref: HTMLInputElement) {\n    const target = this.el;\n    const _t = this;\n    if (ref) {\n      ref.onkeyup = (event) => {\n        target.nativeElement.value = _t.slugify(ref.value);\n        target.nativeElement.dispatchEvent(new Event('input'));\n      };\n    }\n  }\n\n  private slugify(text): string {\n    return text.toString().toLowerCase()\n      .replace(/\\s+/g, '-')\n      .replace(/[^\\w\\-]+/g, '')\n      .replace(/\\-\\-+/g, '-')\n      .replace(/^-+/, '')\n      .replace(/-+$/, '');\n  }\n\n}\n","import {AfterViewInit, Component, EventEmitter, Input, OnDestroy, Output} from \"@angular/core\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {FormControl, UntypedFormGroup} from \"@angular/forms\";\nimport {Observable, Subscription} from \"rxjs\";\nimport {FileChooserComponent} from \"guma-ng-media\"\n\nimport {\n  ContentTypeFieldResource,\n  ContentTypeService,\n  EventMessage,\n  GumaDataValidatorDto,\n  GumaValidatorService,\n  GumaValidatorTypeDto,\n} from \"guma-common-model\";\nimport {UXMessageService} from \"guma-ng-material-kit\";\nimport {error} from \"ng-packagr/lib/utils/log\";\n\n@Component({\n  selector: \"app-show-content-type\",\n  templateUrl: \"show-content-type.component.html\"\n})\nexport class ShowContentTypeComponent implements OnDestroy, AfterViewInit {\n  @Output()\n  contentTypeEvent = new EventEmitter<Map<EventMessage, any>>();\n  @Input()\n  contentTypeHandler: Observable<Map<EventMessage, string>>;\n\n  private _name;\n  @Input()\n  set name(theName: string) {\n    if (this._name != theName) {\n      this._name = theName;\n      this.refreshContentType();\n    }\n  }\n\n  get name() {\n    return this._name;\n  }\n\n  @Input()\n  enableErrorMessage = false;\n  parentEventSubscription: Subscription = null;\n  formGroup = new UntypedFormGroup({});\n  fields: ContentTypeFieldResource[];\n\n  constructor(private contentTypeService: ContentTypeService,\n              private uxMessageService: UXMessageService,\n              private dialog: MatDialog,\n              private gumaValidatorService: GumaValidatorService) {\n\n  }\n\n  public refreshContentType(): void {\n    this.contentTypeService.findOne(this.name).subscribe({\n      next: (res) => {\n        this.fields = res.contentTypeFields;\n        this.fields.sort((field1, field2) => (field1.order < field2.order) ? -1 : 1);\n\n        this.fields.forEach(field => {\n          this.formGroup.addControl(field.slug, new FormControl(null));\n          this.contentTypeService.findValidation(this.name, field.slug).subscribe({\n            next: (res) => {\n              field.help = res['helpMessage'];\n            }\n          })\n        });\n      },\n      error: (error) => {\n        if (this.enableErrorMessage)\n          this.uxMessageService.handleError(error);\n\n        this.sendEvent(EventMessage.ERROR, error);\n      }\n    });\n  }\n\n  private toGumaDataValidatorDto(fields: ContentTypeFieldResource[]): GumaDataValidatorDto[] {\n    let gumaDataValidatorDto = [] as GumaDataValidatorDto[];\n\n    if (!fields)\n      return gumaDataValidatorDto;\n\n    this.fields.forEach(field => {\n      let data = new GumaDataValidatorDto();\n      data.value = this.formGroup.value[field.slug];\n      data.type = GumaValidatorTypeDto[field.type];\n      data.slug = field.slug;\n      gumaDataValidatorDto.push(data);\n    });\n\n    return gumaDataValidatorDto;\n  }\n\n  ngOnDestroy(): void {\n    this.parentEventSubscription.unsubscribe();\n  }\n\n  private sendEvent(eventName: EventMessage, data: any = null) {\n    let event = new Map<EventMessage, any>([[eventName, data]]);\n    this.contentTypeEvent.emit(event);\n  }\n\n  chooseFile(slug: string) {\n    const dialogRef = this.dialog.open(FileChooserComponent, {\n      width: '650px', data: {orgId: 'public'}\n    });\n    dialogRef.afterClosed().subscribe(result => {\n      if (result?.media) {\n        this.formGroup.controls[slug].patchValue(result.media.id);\n      }\n    });\n  }\n\n  public patchValue(value: string) {\n    this.formGroup.patchValue(JSON.parse(value));\n  }\n\n  ngAfterViewInit(): void {\n    if (this.parentEventSubscription)\n      this.parentEventSubscription.unsubscribe();\n\n    this.parentEventSubscription = this.contentTypeHandler.subscribe({\n      next: (res) => {\n        if (res === null)\n          return;\n        if (res.has(EventMessage.I_WANT_DATA)) {\n          let gumaDataValidatorDto = this.toGumaDataValidatorDto(this.fields);\n          this.contentTypeService.validateData(this.name, gumaDataValidatorDto).subscribe({\n            next: () => this.sendEvent(EventMessage.DATA, this.formGroup),\n            error: (error) => {\n              this.uxMessageService.handleError(error, this.formGroup);\n              this.sendEvent(EventMessage.ERROR, error);\n            }\n          });\n        } else if (res.has(EventMessage.DATA)) {\n          const data = JSON.parse(res.get(EventMessage.DATA));\n          let self = this;\n          setTimeout(() => {\n            self.formGroup.patchValue(data);\n          }, 1000);\n        }\n      }\n    });\n\n    this.sendEvent(EventMessage.ALIVE);\n  }\n}\n","<ng-container *ngFor=\"let field of fields; let i=index\" [formGroup]=\"formGroup\">\n  <ng-container [ngSwitch]=\"field.type\">\n    <ng-container *ngSwitchCase=\"'STRING'\">\n      <mat-form-field appearance=\"outline\">\n        <mat-label>{{field.label}}</mat-label>\n        <input formControlName=\"{{field.slug}}\" matInput placeholder=\"{{field.label}}\">\n        <mat-hint>{{field.help}}</mat-hint>\n      </mat-form-field>\n      <mat-error style=\"margin-top: -17px;font-size: 12px;margin-left: 10px;\"\n                 *ngIf=\"formGroup.controls[field.slug].invalid\">\n        {{formGroup.controls[field.slug].errors?.message}}\n      </mat-error>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'BOOLEAN'\">\n      <mat-label>{{field.label}}&nbsp;&nbsp;</mat-label>\n      <mat-checkbox formControlName=\"{{field.slug}}\"></mat-checkbox>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'TEXT'\">\n      <mat-form-field appearance=\"outline\">\n        <mat-label>{{field.label}}</mat-label>\n        <textarea matInput formControlName=\"{{field.slug}}\" placeholder=\"{{field.label}}\"></textarea>\n      </mat-form-field>\n      <mat-error style=\"margin-top: -17px;font-size: 12px;margin-left: 10px;\"\n                 *ngIf=\"formGroup.controls[field.slug].invalid\">\n        {{formGroup.controls[field.slug].errors?.message}}\n      </mat-error>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'NUMBER'\">\n      <mat-form-field appearance=\"outline\">\n        <mat-label>{{field.label}}</mat-label>\n        <input matInput formControlName=\"{{field.slug}}\" placeholder=\"{{field.label}}\" type=\"number\" min=\"1\" step=\"1\"\n               pattern=\"[0-9]*\">\n      </mat-form-field>\n      <mat-error style=\"margin-top: -17px;font-size: 12px;margin-left: 10px;\"\n                 *ngIf=\"formGroup.controls[field.slug].invalid\">\n        {{formGroup.controls[field.slug].errors?.message}}\n      </mat-error>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'DATE'\">\n      <mat-form-field appearance=\"outline\">\n        <mat-label>{{field.label}}</mat-label>\n        <input matInput formControlName=\"{{field.slug}}\" [matDatepicker]=\"picker\">\n        <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n        <mat-datepicker #picker></mat-datepicker>\n      </mat-form-field>\n      <mat-error style=\"margin-top: -17px;font-size: 12px;margin-left: 10px;\"\n                 *ngIf=\"formGroup.controls[field.slug].invalid\">\n        {{formGroup.controls[field.slug].errors?.message}}\n      </mat-error>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'FILE'\">\n      <div>\n        <table>\n          <tr>\n            <td>\n              <button type=\"button\" (click)=\"chooseFile(field.slug)\" class=\"primary-button\"\n                      i18n>{{field.label}}\n              </button>\n            </td>\n            <td *ngIf=\"+formGroup.controls[field.slug].value>0\">\n              {{formGroup.controls[field.slug].value}}\n            </td>\n          </tr>\n        </table>\n      </div>\n    </ng-container>\n  </ng-container>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport {FooterComponent} from \"./common-ux/components/footer/footer.component\";\nimport {NavbarDashboardComponent} from \"./common-ux/components/navbar-dashboard/navbar-dashboard.component\";\nimport {SidebarComponent} from \"./common-ux/components/sidebar/sidebar.component\";\nimport {Wrapper2Component} from \"./common-ux/components/wrapper-2/wrapper-2.component\";\nimport {CardComponent} from \"./common-ux/components/card/card.component\";\nimport {BreadcrumbComponent} from \"./common-ux/components/breadcrumb/breadcrumb.component\";\nimport {\n  ActionButtonComponent,\n  PaginatorWrapperComponent,\n  TableWrapperComponent\n} from \"./common-ux/components/ux-tools/ux-tools.component\";\nimport {OfferNamePipe} from \"./common-ux/pipes/offer-name/offer-name.pipe\";\nimport {NotificationsComponent} from \"./common-ux/components/notifications/notifications.component\";\nimport {UserTipsComponent} from \"./common-ux/components/user-tips/user-tips.component\";\nimport {LoaderComponent} from \"./common-ux/components/loader/loader.component\";\nimport {\n  EditConfigurationFieldsComponent\n} from \"./common-ux/components/edit-configuration-fields/edit-configuration-fields.component\";\nimport {SlugOfPipe} from \"./common-ux/pipes/slugOf/slugOf.pipe\";\nimport {CommonModule} from \"@angular/common\";\nimport {GumaNgMaterialKitModule} from \"guma-ng-material-kit\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatSliderModule} from \"@angular/material/slider\";\nimport {MatTabsModule} from \"@angular/material/tabs\";\nimport {MatMenuModule} from \"@angular/material/menu\";\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\nimport {MatDialogModule} from \"@angular/material/dialog\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatTooltipModule} from \"@angular/material/tooltip\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\nimport {MatPaginatorModule} from \"@angular/material/paginator\";\nimport {MatTableModule} from \"@angular/material/table\";\nimport {MatSnackBarModule} from \"@angular/material/snack-bar\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatSelectModule} from \"@angular/material/select\";\nimport {MatNativeDateModule, MatOptionModule} from \"@angular/material/core\";\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\nimport {MatChipsModule} from \"@angular/material/chips\";\nimport {MatSidenavModule} from \"@angular/material/sidenav\";\nimport {MatDatepickerModule} from \"@angular/material/datepicker\";\nimport {MatSlideToggleModule} from \"@angular/material/slide-toggle\";\nimport {MatProgressSpinnerModule} from \"@angular/material/progress-spinner\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {HttpClientModule} from \"@angular/common/http\";\nimport {RouterModule} from \"@angular/router\";\nimport {ShowContentTypeComponent} from \"./common-ux/components/show-content-type/show-content-type.component\";\n\n\n\n@NgModule({\n  declarations: [\n    FooterComponent,\n    NavbarDashboardComponent,\n    SidebarComponent,\n    Wrapper2Component,\n    CardComponent,\n    BreadcrumbComponent,\n    TableWrapperComponent,\n    PaginatorWrapperComponent,\n    ActionButtonComponent,\n    OfferNamePipe,\n    NotificationsComponent,\n    UserTipsComponent,\n    LoaderComponent,\n    EditConfigurationFieldsComponent,\n    SlugOfPipe,\n    ShowContentTypeComponent,\n\n\n  ],\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    HttpClientModule,\n    GumaNgMaterialKitModule,\n    RouterModule,\n\n    // Angular Material\n    MatButtonModule,\n    MatSliderModule,\n    MatTabsModule,\n    MatMenuModule,\n    MatAutocompleteModule,\n    MatDialogModule,\n    MatIconModule,\n    MatTooltipModule,\n    MatFormFieldModule,\n    MatPaginatorModule,\n    MatTableModule,\n    MatSnackBarModule,\n    MatInputModule,\n    MatSelectModule,\n    MatOptionModule,\n    MatCheckboxModule,\n    MatChipsModule,\n    MatSidenavModule,\n    MatDatepickerModule,\n    MatNativeDateModule,\n    MatSlideToggleModule,\n    MatProgressSpinnerModule,\n  ],\n  exports: [\n\n\n    FooterComponent,\n    NavbarDashboardComponent,\n    SidebarComponent,\n    Wrapper2Component,\n    CardComponent,\n    BreadcrumbComponent,\n    TableWrapperComponent,\n    PaginatorWrapperComponent,\n    ActionButtonComponent,\n    OfferNamePipe,\n    NotificationsComponent,\n    UserTipsComponent,\n    LoaderComponent,\n    EditConfigurationFieldsComponent,\n    SlugOfPipe,\n    ShowContentTypeComponent,\n  ],\n  providers: [],\n})\nexport class GumaUxAngularModule { }\n","/*\n * Public API Surface of guma-ux-angular\n */\n\n\n\nimport '@angular/localize/init'; // <=== this line\n\nexport {FooterComponent} from \"./lib/common-ux/components/footer/footer.component\";\n\nexport {NavbarDashboardComponent} from \"./lib/common-ux/components/navbar-dashboard/navbar-dashboard.component\";\n\nexport {SidebarComponent} from \"./lib/common-ux/components/sidebar/sidebar.component\";\n\nexport {Wrapper2Component} from \"./lib/common-ux/components/wrapper-2/wrapper-2.component\";\n\nexport {CardComponent} from \"./lib/common-ux/components/card/card.component\";\n\nexport {BreadcrumbComponent} from \"./lib/common-ux/components/breadcrumb/breadcrumb.component\";\n\nexport {PaginatorWrapperComponent, TableWrapperComponent, ActionButtonComponent} from \"./lib/common-ux/components/ux-tools/ux-tools.component\";\n\n\nexport {OfferNamePipe} from \"./lib/common-ux/pipes/offer-name/offer-name.pipe\";\n\nexport {NotificationsComponent} from \"./lib/common-ux/components/notifications/notifications.component\";\n\nexport {UserTipsComponent} from \"./lib/common-ux/components/user-tips/user-tips.component\";\n\nexport {LoaderComponent} from \"./lib/common-ux/components/loader/loader.component\";\nexport {\n  EditConfigurationFieldsComponent\n} from \"./lib/common-ux/components/edit-configuration-fields/edit-configuration-fields.component\";\n\nexport {SlugOfPipe} from \"./lib/common-ux/pipes/slugOf/slugOf.pipe\";\nexport {ShowContentTypeComponent} from \"./lib/common-ux/components/show-content-type/show-content-type.component\";\n\nexport * from \"./lib/common-ux/services/breadcrumb.service\";\nexport * from \"./lib/common-ux/services/menu.service\";\nexport * from './lib/guma-ux-angular.module';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i7.NotificationsComponent","i1","i4.FooterComponent","i5.NavbarDashboardComponent","i6.SidebarComponent","i1.BreadcrumbService","i3.CardComponent","i4","i5","i6","i7","i8","i9"],"mappings":"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"}