asp-lib 1.0.38 → 1.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"asp-lib.mjs","sources":["../../../projects/asp-lib/src/lib/asp-lib.service.ts","../../../projects/asp-lib/src/lib/asp-lib.component.ts","../../../projects/asp-lib/src/lib/dropdown/dropdown.component.ts","../../../projects/asp-lib/src/lib/dropdown/dropdown.component.html","../../../projects/asp-lib/src/lib/menu/menu-child-report/menu-child-report.component.ts","../../../projects/asp-lib/src/lib/menu/menu-child-report/menu-child-report.component.html","../../../projects/asp-lib/src/lib/menu/menu.component.ts","../../../projects/asp-lib/src/lib/menu/menu.component.html","../../../projects/asp-lib/src/lib/application-menu/application-menu.component.ts","../../../projects/asp-lib/src/lib/application-menu/application-menu.component.html","../../../projects/asp-lib/src/lib/basic-item/basic-item.component.ts","../../../projects/asp-lib/src/lib/basic-item/basic-item.component.html","../../../projects/asp-lib/src/lib/utils/utils.ts","../../../projects/asp-lib/src/lib/services/security-admin.service.ts","../../../projects/asp-lib/src/lib/snackbar/snackbar.component.ts","../../../projects/asp-lib/src/lib/snackbar/snackbar.component.html","../../../projects/asp-lib/src/lib/services/snackbar.service.ts","../../../projects/asp-lib/src/lib/loader/loader.component.ts","../../../projects/asp-lib/src/lib/loader/loader.component.html","../../../projects/asp-lib/src/lib/radio-button/radio-button.component.ts","../../../projects/asp-lib/src/lib/radio-button/radio-button.component.html","../../../projects/asp-lib/src/lib/pipes/translate.pipe.ts","../../../projects/asp-lib/src/lib/resource-actions/resource-actions.component.ts","../../../projects/asp-lib/src/lib/resource-actions/resource-actions.component.html","../../../projects/asp-lib/src/lib/input/input.component.ts","../../../projects/asp-lib/src/lib/input/input.component.html","../../../projects/asp-lib/src/lib/role-info/role-info.component.ts","../../../projects/asp-lib/src/lib/role-info/role-info.component.html","../../../projects/asp-lib/src/lib/role-card/role-card.component.ts","../../../projects/asp-lib/src/lib/role-card/role-card.component.html","../../../projects/asp-lib/src/lib/assign-roles/assign-roles.component.ts","../../../projects/asp-lib/src/lib/assign-roles/assign-roles.component.html","../../../projects/asp-lib/src/lib/tree/tree.component.ts","../../../projects/asp-lib/src/lib/tree/tree.component.html","../../../projects/asp-lib/src/lib/move-menu-option/move-menu-option.component.ts","../../../projects/asp-lib/src/lib/move-menu-option/move-menu-option.component.html","../../../projects/asp-lib/src/lib/multi-option-dialog/multi-option-dialog.component.ts","../../../projects/asp-lib/src/lib/multi-option-dialog/multi-option-dialog.component.html","../../../projects/asp-lib/src/lib/services/dialog.service.ts","../../../projects/asp-lib/src/lib/menu-admin/menu-admin.component.ts","../../../projects/asp-lib/src/lib/menu-admin/menu-admin.component.html","../../../projects/asp-lib/src/lib/checkbox/checkbox.component.ts","../../../projects/asp-lib/src/lib/checkbox/checkbox.component.html","../../../projects/asp-lib/src/lib/items-viewer/items-viewer.component.ts","../../../projects/asp-lib/src/lib/items-viewer/items-viewer.component.html","../../../projects/asp-lib/src/lib/items-selector/items-selector.component.ts","../../../projects/asp-lib/src/lib/items-selector/items-selector.component.html","../../../projects/asp-lib/src/lib/select/select.component.ts","../../../projects/asp-lib/src/lib/select/select.component.html","../../../projects/asp-lib/src/lib/radio-group/radio-group.component.ts","../../../projects/asp-lib/src/lib/radio-group/radio-group.component.html","../../../projects/asp-lib/src/lib/checkbox-field/checkbox-field.component.ts","../../../projects/asp-lib/src/lib/checkbox-field/checkbox-field.component.html","../../../projects/asp-lib/src/lib/form/form.component.ts","../../../projects/asp-lib/src/lib/form/form.component.html","../../../projects/asp-lib/src/lib/nested-items-selector/nested-items-selector.component.ts","../../../projects/asp-lib/src/lib/nested-items-selector/nested-items-selector.component.html","../../../projects/asp-lib/src/lib/entity-admin/entity-admin.component.ts","../../../projects/asp-lib/src/lib/entity-admin/entity-admin.component.html","../../../projects/asp-lib/src/lib/form-2/form-2.component.ts","../../../projects/asp-lib/src/lib/form-2/form-2.component.html","../../../projects/asp-lib/src/lib/modules-admin/modules-admin.component.ts","../../../projects/asp-lib/src/lib/modules-admin/modules-admin.component.html","../../../projects/asp-lib/src/lib/security-admin/security-admin.component.ts","../../../projects/asp-lib/src/lib/security-admin/security-admin.component.html","../../../projects/asp-lib/src/lib/assets/menu-data/menuDataTest.ts","../../../projects/asp-lib/src/lib/utils/services/SecurityServicesDefault.ts","../../../projects/asp-lib/src/lib/recents-dropdown/recents-dropdown.component.ts","../../../projects/asp-lib/src/lib/recents-dropdown/recents-dropdown.component.html","../../../projects/asp-lib/src/lib/company-dropdown/company-dropdown.component.ts","../../../projects/asp-lib/src/lib/company-dropdown/company-dropdown.component.html","../../../projects/asp-lib/src/lib/user-dropdown/user-dropdown.component.ts","../../../projects/asp-lib/src/lib/user-dropdown/user-dropdown.component.html","../../../projects/asp-lib/src/lib/header/header.component.ts","../../../projects/asp-lib/src/lib/header/header.component.html","../../../projects/asp-lib/src/lib/notifications/notifications.component.ts","../../../projects/asp-lib/src/lib/notifications/notifications.component.html","../../../projects/asp-lib/src/lib/list/list.component.ts","../../../projects/asp-lib/src/lib/list/list.component.html","../../../projects/asp-lib/src/lib/asp-lib.module.ts","../../../projects/asp-lib/src/public-api.ts","../../../projects/asp-lib/src/asp-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AspLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'asp-lib',\r\n template: `\r\n <p>\r\n asp-lib works! sdfsds\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class AspLibComponent {\r\n\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { DropdownOptions } from '../interfaces/interfaces';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'lib-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.css', '../assets/fonts/style.css'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })),\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ],\r\n})\r\nexport class DropdownComponent {\r\n @Input() data: DropdownOptions[] = [];\r\n @Output() optionSelected = new EventEmitter<any>();\r\n fadeInOut: string = 'out';\r\n selectedOption: DropdownOptions | null = null;\r\n dropdownOpen: boolean = false;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['data'] && this.data.length > 0) {\r\n this.selectedOption = this.data[0];\r\n }\r\n }\r\n\r\n // Listen for clicks on the document body\r\n @HostListener('document:click', ['$event'])\r\n onClickOutside(event: MouseEvent): void {\r\n // Check if the clicked element is inside the menu component\r\n const menuElement = document.querySelector('.dropdown-menu');\r\n if (menuElement && !menuElement.contains(event.target as Node)) {\r\n // Clicked outside of the menu component, close the menu\r\n this.dropdownOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n toggleDropdown(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.dropdownOpen = !this.dropdownOpen;\r\n this.fadeInOut = this.dropdownOpen ? 'in' : 'out';\r\n }\r\n\r\n selectOptionDropdown(option: any): void {\r\n this.selectedOption = option;\r\n this.optionSelected.emit(option);\r\n this.dropdownOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n}\r\n","<div class=\"dropdown\">\r\n <button class=\"dropdown-toggle\" (click)=\"toggleDropdown($event)\">\r\n <span class=\"menu-warning1\"></span>\r\n <!-- <span class=\"dropdown-selected-label\">{{ data[0]?.name }}</span> -->\r\n <span class=\"dropdown-selected-label\">{{ selectedOption?.name }}</span>\r\n <span *ngIf=\"dropdownOpen\" class=\"menu-arrow-up arrow\"></span>\r\n <span *ngIf=\"!dropdownOpen\" class=\"menu-arrow-down arrow\"></span>\r\n </button>\r\n\r\n <div\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"dropdown-overlay\"\r\n (click)=\"toggleDropdown($event)\"\r\n ></div>\r\n\r\n <div class=\"dropdown-menu\" [@fadeInOut]=\"fadeInOut\">\r\n <div\r\n class=\"dropdown-item\"\r\n *ngFor=\"let category of data; let i = index\"\r\n [ngClass]=\"{ 'no-border': i === data.length - 1 }\"\r\n (click)=\"selectOptionDropdown(category)\"\r\n >\r\n <span class=\"category-name\">{{ category?.name }}</span>\r\n <div class=\"categories-container\">\r\n <div\r\n class=\"category-options-container\"\r\n *ngFor=\"let option of category?.options\"\r\n >\r\n <div class=\"category-options\">\r\n <span [ngClass]=\"option.icon\"></span>\r\n <span>{{ option.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-menu-child-report',\r\n templateUrl: './menu-child-report.component.html',\r\n styleUrls: ['./menu-child-report.component.scss']\r\n})\r\nexport class MenuChildReportComponent implements OnInit {\r\n @Input(\"options\") children: any;\r\n @Output() menuItemClick = new EventEmitter<any>();\r\n\r\n @Input(\"leftOffset\") leftOffset = 30;\r\n @Output() selectOptionFromApp = new EventEmitter<any>();\r\n @Output(\"optionClickHandler\")\r\n optionClickHandler = new EventEmitter ();\r\n\r\n newLeftOffset = 0;\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.newLeftOffset = this.leftOffset + 30;\r\n this.children.sort((a: any, b:any) => {\r\n const aHasChildren = a.children && a.children.length > 0;\r\n const bHasChildren = b.children && b.children.length > 0;\r\n\r\n if (aHasChildren && !bHasChildren) {\r\n return -1;\r\n }\r\n if (!aHasChildren && bHasChildren) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n onItemClick(option: any, event: MouseEvent) {\r\n const urlSend = {\r\n url : option.baseUrl,\r\n urlMobile : option.urlMobile,\r\n new : false,\r\n id: option.id\r\n }\r\n this.menuItemClick.emit({ urlSend, event });\r\n }\r\n\r\n onItemClickNew(option: any, event: MouseEvent){\r\n const urlSend = {\r\n url : option.baseUrl,\r\n urlMobile : option.urlMobile,\r\n new : true,\r\n id: option.id\r\n }\r\n this.menuItemClick.emit({ urlSend, event });\r\n }\r\n\r\n toggleSubMenu(option: any): void\r\n {\r\n option.open = !option.open;\r\n }\r\n hideOption(option: any) {\r\n let flag1 = false;\r\n let flag2 = false;\r\n let typeOptionNumber: number = parseInt(option.typeOption);\r\n\r\n if ((option.children && option.children.length > 0) && this.haveOptionReport(option.children)) {\r\n flag1 = true;\r\n }\r\n\r\n if ((!option.children || !option.children.length) && ((!isNaN(typeOptionNumber) && typeOptionNumber != 2) || (isNaN(typeOptionNumber) && option.typeOption != \"2\"))) {\r\n flag2 = true;\r\n }\r\n\r\n if (!flag1 && !flag2) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n haveOptionReport(options: any): boolean {\r\n let haveOptReport = false;\r\n if (options) {\r\n for (let option of options) {\r\n if (option.baseUrl != null) {\r\n let typeOptionNumber: number = parseInt(option.typeOption);\r\n if ((!isNaN(typeOptionNumber) && typeOptionNumber != 2) || (isNaN(typeOptionNumber) && option.typeOption != \"2\")) {\r\n haveOptReport = true;\r\n break;\r\n }\r\n }\r\n if (option.children && option.children.length > 0) {\r\n haveOptReport = haveOptReport || this.haveOptionReport(option.children);\r\n }\r\n }\r\n }\r\n return haveOptReport;\r\n}\r\n\r\n}\r\n","<div\r\n class=\"app-menu-child-report-full-container\"\r\n *ngFor=\"let option of children\"\r\n [class.hidden]=\"hideOption(option)\"\r\n>\r\n <ng-container\r\n *ngIf=\"\r\n option.children &&\r\n option.children.length\r\n \"\r\n >\r\n <div\r\n class=\"app-menu-child-report-full-container-item\"\r\n [style.padding-left.px]=\"leftOffset\"\r\n (click)=\"toggleSubMenu(option)\"\r\n >\r\n <div class=\"app-menu-child-report-full-container-item-container\">\r\n <div\r\n class=\"app-menu-child-report-full-container-item-container-folder\"\r\n [class.is-selectedChild]=\"option.open\"\r\n ></div>\r\n <span>{{ option.label }}</span>\r\n </div>\r\n <div\r\n class=\"app-menu-child-report-full-container-item-arrow\"\r\n [class.is-selectedChild]=\"option.open\"\r\n ></div>\r\n </div>\r\n <div class=\"app-menu-options-sub-container\">\r\n <app-menu-child-report\r\n *ngIf=\"option.open\"\r\n [options]=\"option.children\"\r\n [leftOffset]=\"newLeftOffset\"\r\n (optionClickHandler)=\"optionClickHandler.emit($event)\"\r\n ></app-menu-child-report>\r\n </div>\r\n </ng-container>\r\n <div\r\n *ngIf=\"\r\n (!option.children || !option.children.length) && option.typeOption != '2'\r\n \"\r\n class=\"app-menu-child-report-full-container-report\"\r\n [style.padding-left.px]=\"leftOffset\"\r\n (click)=\"optionClickHandler.emit(option)\"\r\n >\r\n <div class=\"app-menu-child-report-full-container-report-container\" style=\"position: relative; width: 100%;\" (click)=\"onItemClick(option, $event)\">\r\n <div\r\n class=\"app-menu-child-report-full-container-report-container-icon\"\r\n ></div>\r\n <span>\r\n {{ option.label }}\r\n </span>\r\n <div\r\n class=\"app-menu-child-report-full-container-report-container-new abs\" (click)=\"onItemClickNew(option, $event)\"\r\n ></div>\r\n </div>\r\n <div class=\"app-menu-child-report-full-container-report-arrow\"></div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, HostListener, Input, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n} from '@angular/animations';\r\n\r\nexport interface Option {\r\n\tbaseUrl: string,\r\n\tchildren: Option[],\r\n\ticon: string | null,\r\n\tid: number,\r\n\tlabel: string,\r\n\tparentId: number,\r\n}\r\n\r\nexport interface Category {\r\n id: number;\r\n parentId: number | null;\r\n label: string;\r\n options: Option[];\r\n}\r\n\r\nexport interface Data {\r\n\tcategories: Category[],\r\n\t\r\n}\r\n\r\n@Component({\r\n selector: 'lib-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: [\r\n './menu.component.scss',\r\n '../assets/theme.scss',\r\n '../assets/fonts/style.css',\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })),\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ],\r\n})\r\nexport class MenuComponent {\r\n @Input() dropdownOptions: any;\r\n @Input() data: any;\r\n @Input() theme: string;\r\n isMenuOpen: boolean = false;\r\n openingMenu: boolean = false;\r\n openMenuFromButton: boolean = false;\r\n // openCategories: { [categoryId: number]: boolean } = {};\r\n fadeInOut: string = 'out';\r\n\r\n // new\r\n @Input(\"menu\") menuOriginal: any;\r\n @Output() menuItemClick = new EventEmitter<any>();\r\n labelSearch = \"\";\r\n menu: any;\r\n @Output() selectOptionFromApp = new EventEmitter<any>();\r\n @Output() moduleSelected = new EventEmitter<any>();\r\n //\r\n \r\n ngAfterViewInit() {\r\n const formField = document.querySelector('.custom-outline .mat-form-field-outline');\r\n if (formField) {\r\n (formField as HTMLElement).style.borderColor = 'white';\r\n }\r\n }\r\n\r\n constructor() {\r\n this.theme = 'default';\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['data']) {\r\n console.log('menuData ha cambiado:', changes['data'].currentValue);\r\n this.menu = changes['data'].currentValue;\r\n this.originalCategories = this.menu.categories;\r\n // Manejar cambios en menuData si es necesario\r\n }\r\n } \r\n\r\n // NEWWWWWWWWWWWWWW\r\n ngOnInit(): void {\r\n this.menu = this.data;\r\n if (this.menu && this.menu.categories) {\r\n this.originalCategories = JSON.parse(JSON.stringify(this.menu.categories));\r\n } else {\r\n this.originalCategories = []; \r\n }\r\n }\r\n \r\n \r\n originalCategories: any[] = [];\r\n // filterCategories(labelSearch:any, $event:any) {\r\n // $event.stopPropagation();\r\n // console.log(labelSearch);\r\n // if (labelSearch == \"\") {\r\n // this.menu.categories = this.menuOriginal.categories\r\n\r\n // } else if (!labelSearch.trim()) {\r\n // this.menu.categories = this.menuOriginal.categories\r\n // } else {\r\n // this.menu.categories = this.searchRecursive(\r\n // this.originalCategories,\r\n // labelSearch.trim().toLowerCase()\r\n // );\r\n\r\n // }\r\n // }\r\n\r\n onItemClick(url: any) {\r\n this.menuItemClick.emit(url);\r\n }\r\n\r\n // searchRecursive(categories: any[], searchTerm: string): any[] {\r\n // return categories.reduce((filtered, category) => {\r\n // let matchedOptions = this.findMatchingLeafOptions(\r\n // category.children || [],\r\n // searchTerm\r\n // );\r\n\r\n // if (\r\n // matchedOptions.length > 0 ||\r\n // category.label.toLowerCase().includes(searchTerm)\r\n // ) {\r\n // filtered.push({\r\n // ...category,\r\n // options: matchedOptions.length > 0 ? matchedOptions : category.children,\r\n // open: true,\r\n // });\r\n // }\r\n // return filtered;\r\n // }, []);\r\n // }\r\n\r\n // findMatchingLeafOptions(children: any[], searchTerm: string): any[] {\r\n // let result = [];\r\n\r\n // for (let option of children) {\r\n // if (option.children && option.children.length > 0) {\r\n // let matchedChildren = this.findMatchingLeafOptions(option.children, searchTerm);\r\n\r\n // // Si hay hijos que coinciden o el label del option coincide, se incluye el option y se marca como open\r\n // if (matchedChildren.length > 0 || option.label.toLowerCase().includes(searchTerm)) {\r\n // result.push({\r\n // ...option,\r\n // children: matchedChildren,\r\n // open: true,\r\n // });\r\n // }\r\n // } else if (option.label.toLowerCase().includes(searchTerm)) {\r\n // result.push({\r\n // ...option,\r\n // open: true,\r\n // });\r\n // }\r\n // }\r\n\r\n // return result;\r\n // }\r\n\r\n filterCategories(labelSearch: any, $event: any) {\r\n $event.stopPropagation();\r\n \r\n if (!this.menu || !this.menu.categories) {\r\n return;\r\n }\r\n \r\n if (!this.originalCategories || this.originalCategories.length === 0) {\r\n return;\r\n }\r\n \r\n if (labelSearch === \"\") {\r\n this.menu.categories = this.originalCategories;\r\n } else if (!labelSearch.trim()) {\r\n this.menu.categories = this.originalCategories;\r\n } else {\r\n this.menu.categories = this.searchRecursive(\r\n this.originalCategories,\r\n labelSearch.trim().toLowerCase()\r\n );\r\n }\r\n }\r\n \r\n \r\n searchRecursive(categories: any[], searchTerm: string): any[] {\r\n if (!categories || categories.length === 0) {\r\n return [];\r\n }\r\n if (!searchTerm || searchTerm.trim() === '') {\r\n return categories.map(category => ({\r\n ...category,\r\n open: false, \r\n children: category.children ? category.children.map((child: any) => ({ ...child, open: false })) : []\r\n }));\r\n }\r\n return categories.reduce((filtered, category) => {\r\n let matchedOptions = this.findMatchingLeafOptions(category.children || [], searchTerm);\r\n \r\n if (\r\n matchedOptions.length > 0 ||\r\n category.label.toLowerCase().includes(searchTerm.toLowerCase())\r\n ) {\r\n filtered.push({\r\n ...category,\r\n children: matchedOptions.length > 0 ? matchedOptions : [],\r\n open: true,\r\n });\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n \r\n \r\n findMatchingLeafOptions(children: any[], searchTerm: string): any[] {\r\n if (!children || children.length === 0) {\r\n return [];\r\n }\r\n \r\n let result = [];\r\n \r\n for (let option of children) {\r\n if (option.children && option.children.length > 0) {\r\n let matchedChildren = this.findMatchingLeafOptions(option.children, searchTerm);\r\n \r\n if (matchedChildren.length > 0 || option.label.toLowerCase().includes(searchTerm.toLowerCase())) {\r\n result.push({\r\n ...option,\r\n children: matchedChildren,\r\n open: true,\r\n });\r\n }\r\n } else if (option.label.toLowerCase().includes(searchTerm.toLowerCase())) {\r\n result.push({\r\n ...option,\r\n open: true, \r\n });\r\n }\r\n }\r\n \r\n return result;\r\n }\r\n \r\n \r\n\r\n openCategories(menuItems:any, $event: MouseEvent) {\r\n $event.stopPropagation();\r\n menuItems.open = !menuItems.open;\r\n // this.toggleSubCategories(menuItems.options, menuItems.open);\r\n }\r\n clickChild(event: any) {\r\n event.stopPropagation();\r\n }\r\n toggleSubCategories(options:any, value: any) {\r\n if (options && options.length) {\r\n options.forEach((item: any) => {\r\n item.open = value;\r\n if (item.children && item.children.length > 0) {\r\n this.toggleSubCategories(item.children, value);\r\n }\r\n });\r\n }\r\n }\r\n optionClickHandler(option:any): void {\r\n this.selectOptionFromApp.emit(option);\r\n }\r\n // NEWWWWWWWWWWW ENNDD\r\n\r\n // Listen for clicks on the document body\r\n @HostListener('document:click', ['$event'])\r\n onClickOutside(event: MouseEvent): void {\r\n // Check if the clicked element is inside the menu component\r\n // const menuElement = document.querySelector('.menu-content-container');\r\n const menuElement = document.querySelector('.container-menu-full');\r\n if (menuElement && !menuElement.contains(event.target as Node)) {\r\n // Clicked outside of the menu component, close the menu\r\n this.isMenuOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n // @HostListener('document:click', ['$event'])\r\n // onDocumentClick(event: MouseEvent): void {\r\n // // Check if the click event occurred on the menu button\r\n // const clickedOnMenuBtn = (event.target as HTMLElement).closest('#menuBtn');\r\n // if (clickedOnMenuBtn) {\r\n // // Toggle menu open/close if clicked on the menu button\r\n // this.isMenuOpen = !this.isMenuOpen;\r\n // if (this.isMenuOpen) this.fadeInOut = 'in';\r\n // } else {\r\n // // Close the menu if clicked outside of it\r\n // this.isMenuOpen = false;\r\n // this.fadeInOut = 'out';\r\n // }\r\n // }\r\n\r\n toggleMenuHandler(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.isMenuOpen = !this.isMenuOpen;\r\n this.fadeInOut = this.isMenuOpen ? 'in' : 'out';\r\n }\r\n\r\n // toggleCategory(event: MouseEvent, category: Category) {\r\n // event.stopPropagation();\r\n // this.openCategories[category.id] = !this.openCategories[category.id];\r\n // }\r\n\r\n // optionClickHandler(event: any): void {\r\n\t// \tconsole.log(event);\r\n // if (!event.baseUrl) {\r\n // event.stopPropagation();\r\n // } else {\r\n\t\t\t\r\n \r\n // }\r\n // }\r\n\r\n handleOptionSelected(event: any) {\r\n this.moduleSelected.emit(event);\r\n console.log(event);\r\n }\r\n}\r\n","<div class=\"menu-modules-container\">\r\n <lib-dropdown\r\n [data]=\"dropdownOptions\"\r\n (optionSelected)=\"handleOptionSelected($event)\"\r\n [attr.data-theme]=\"theme\"\r\n></lib-dropdown>\r\n</div>\r\n<div\r\n [attr.data-theme]=\"theme\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"menu-overlay\"\r\n (click)=\"toggleMenuHandler($event)\"\r\n>\r\n<div class=\"containerFullMenuList\" [@fadeInOut]=\"fadeInOut\">\r\n <div class=\"container-menu-full\">\r\n <div class=\"container-menu-report-full-header\">\r\n <div class=\"homeWelcomeInput\">\r\n <!-- <mat-form-field appearance=\"outline\" class=\"custom-outline\" (click)=\"$event.stopPropagation()\" style=\"height: 55px; width: 100%;\">\r\n <mat-label>Search</mat-label>\r\n <input\r\n matInput\r\n autocomplete=\"off\"\r\n type=\"text\"\r\n (keyup)=\"filterCategories(labelSearch, $event)\"\r\n \r\n [(ngModel)]=\"labelSearch\"\r\n />\r\n </mat-form-field> -->\r\n <div class=\"custom-form-field\">\r\n <input type=\"text\" id=\"custom-input\" class=\"custom-input\" (click)=\"$event.stopPropagation()\" (keyup)=\"filterCategories(labelSearch, $event)\" [(ngModel)]=\"labelSearch\" required>\r\n <label for=\"custom-input\" class=\"custom-label\">Search</label>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n <div class=\"app-menu-report-full-container\">\r\n <div\r\n class=\"app-menu-report-full-container-cateogires\"\r\n *ngFor=\"let category of menu.categories\"\r\n (click)=\"openCategories(category, $event)\"\r\n >\r\n <div class=\"app-menu-report-full-container-cateogires-full\">\r\n <div class=\"app-menu-report-full-container-cateogires-full-container\">\r\n <div\r\n class=\"app-menu-report-full-container-cateogires-full-container-folder\"\r\n [class.is-selected]=\"category.open\"\r\n ></div>\r\n <span>{{ category.label }}</span>\r\n </div>\r\n <div\r\n class=\"app-menu-report-full-container-cateogires-full-arrow\"\r\n [class.is-selected]=\"category.open\"\r\n ></div>\r\n </div>\r\n <div\r\n class=\"app-menu-report-full-container-cateogires-chield\"\r\n *ngIf=\"category.open\"\r\n (click)=\"clickChild($event)\"\r\n >\r\n <app-menu-child-report\r\n [options]=\"category.children\"\r\n (optionClickHandler)=\"optionClickHandler($event)\" (menuItemClick)=\"onItemClick($event)\"\r\n id=\"reports2\"\r\n >\r\n </app-menu-child-report>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n</div>\r\n\r\n<div\r\n [attr.data-theme]=\"theme\"\r\n class=\"menu-button-container\"\r\n [ngClass]=\"{ 'menu-button-container-selected': isMenuOpen }\"\r\n (click)=\"toggleMenuHandler($event)\"\r\n>\r\n <div [class]=\"['menu-button-icon', isMenuOpen ? 'opened': '']\">\r\n <i [class]=\"[isMenuOpen ? 'menu-close':'menu-menu']\"></i>\r\n <!-- <span id=\"menuBtn\" *ngIf=\"!isMenuOpen\" class=\"menu-menu\"></span>\r\n <span *ngIf=\"isMenuOpen\" class=\"menu-close\"></span> -->\r\n </div>\r\n</div>\r\n\r\n<!-- <div\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"menu-content-container\"\r\n [attr.data-theme]=\"theme\"\r\n>\r\n <div class=\"category\">\r\n <div\r\n class=\"menu-category-container\"\r\n *ngFor=\"let category of data.categories\"\r\n >\r\n <div class=\"menu-body-container\">\r\n <div class=\"menu-selector-category\">\r\n <div class=\"menu-category-label\" (click)=\"toggleCategory($event,category)\">\r\n <div>{{ category.label }} </div>\r\n </div>\r\n\r\n <div\r\n class=\"menu-options-container\"\r\n [ngClass]=\"{ open: openCategories[category.id] }\"\r\n >\r\n <lib-application-menu\r\n [options]=\"category.options\"\r\n (optionClickHandler)=\"optionClickHandler($event)\"\r\n id=\"reports2\"\r\n ></lib-application-menu>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> -->\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-application-menu',\r\n templateUrl: './application-menu.component.html',\r\n styleUrls: ['./application-menu.component.css','../assets/fonts/style.css'],\r\n})\r\nexport class ApplicationMenuComponent {\r\n @Input('options')\r\n options: any[] = [];\r\n\r\n @Output('optionClickHandler')\r\n optionClickHandler = new EventEmitter();\r\n\r\n @Input() level: number = 0;\r\n\r\n toggleSubMenu(option: any,event: MouseEvent): void\r\n {\r\n\t\tconsole.log(option);\r\n event.stopPropagation();\r\n option.open = !option.open;\r\n }\r\n\r\n}\r\n","<div class=\"menu-selector-item\" *ngFor=\"let option of options\">\r\n <ng-container *ngIf=\"(option.children && option.children.length > 0)\">\r\n <div class=\"menu-item-label-container\" (click)=\"toggleSubMenu(option,$event )\">\r\n <div class=\"flex-row-center\">\r\n <span class=\"menu-arrow-down icon-arrow\" *ngIf=\"!option.open\"></span>\r\n <span class=\"menu-arrow-up icon-arrow\" *ngIf=\"option.open\"></span>\r\n </div>\r\n <div class=\"app-menu-item-label flex-row\" [class.is-selected]=\"option.open\">\r\n <span class=\"menu-folder folder\" *ngIf=\"!option.open\"></span>\r\n <span class=\"menu-open-folder folder\" *ngIf=\"option.open\"></span>\r\n <span class=\"marginLeft10\">{{option.label}}</span>\r\n </div>\r\n </div>\r\n <div class=\"app-menu-options-sub-container\">\r\n <lib-application-menu *ngIf=\"option.open\" [level]=\"level + 2\" [options]=\"option.children\" (optionClickHandler)=\"optionClickHandler.emit($event)\"></lib-application-menu>\r\n </div> \r\n </ng-container>\r\n <div *ngIf=\"(!option.children || !option.children.length) && option.typeOption != '2'\"\r\n class=\"flex-row\" (click)=\"optionClickHandler.emit(option)\">\r\n <div class=\"menu-item-label-container\">\r\n <span class=\"menu-archive archive\"></span>\r\n <div class=\"app-menu-item-label flex-row marginLeft5\" [class.sheetMenu]=\"level != 0\">\r\n {{option.label}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\ninterface ItemButton {\r\n icon: string,\r\n button?:boolean,\r\n callback?: any\r\n}\r\n\r\n@Component({\r\n selector: 'lib-basic-item',\r\n templateUrl: './basic-item.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './basic-item.component.scss']\r\n})\r\nexport class BasicItemComponent {\r\n\r\n @Input() object: any;\r\n @Input() icon: string = '';\r\n @Input() theme: string = 'default';\r\n @Input() itemOptions: ItemButton[] = [];\r\n @Input() draggable:boolean = false;\r\n\r\n constructor() {\r\n \r\n }\r\n\r\n get hasIcon() {\r\n return Boolean(this.icon);\r\n }\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" *ngIf=\"draggable\" cdkDrag [cdkDragData]=\"draggable ? object : null\" class=\"item\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"!draggable\" class=\"item\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n</div>\r\n\r\n<ng-template #itemTemplate>\r\n <div [attr.data-theme]=\"theme\" class=\"item-info\">\r\n <i *ngIf=\"hasIcon\" [class]=\"icon\"></i>\r\n <span>\r\n {{object.name}}\r\n </span>\r\n </div>\r\n <div [attr.data-theme]=\"theme\" class=\"item-options\">\r\n <div (click)=\"option.callback($event)\" [class]=\"['option', option.button? 'buttonOption':'']\" *ngFor=\"let option of itemOptions\">\r\n <i [class]=\"option.icon\"></i>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n","import { of } from \"rxjs\";\r\n\r\nexport const defaultMapper = (x: any) => {\r\n\treturn x\r\n};\r\n\r\nexport function removeArrayDuplicates(arr: any[]){\r\n\treturn arr.reduce((acc:any, curr: any) => {\r\n\t\tlet x = acc.find((item: any)=>item.id === curr.id);\r\n\t\tif (!x) {\r\n\t\t\tacc.push(curr);\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, [])\r\n}\r\n\r\nexport const defaultSwitchMapper = (x: any) => of(x);","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Type } from '@angular/core';\r\nimport { from, map, mergeMap, Observable, of, reduce, Subject, switchMap, toArray } from 'rxjs';\r\nimport { SnackbarService } from './snackbar.service';\r\nimport { SecurityEndpoints } from '../interfaces/interfaces';\r\nimport { defaultSwitchMapper } from '../utils/utils';\r\n\r\nconst paramNames = {\r\n\tCustomer: \"customerId\",\r\n\tUser: \"userId\"\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SecurityAdminService {\r\n\r\n\tselectedUserSubject = new Subject<any>();\r\n\tselectedCustomerSubject = new Subject<any>();\r\n\tselectedRoleSubject = new Subject<any>();\r\n\treloadSubject = new Subject<string>();\r\n\tmenuOptionFormComponent?: Type<any>;\r\n\tendpoints: SecurityEndpoints = {};\r\n\tlanguage: string = 'en';\r\n\tselectedItem: any;\r\n\ttheme: string = 'default';\r\n\tmsgLabel = { \"User\": \"Usuario\", \"Customer\": \"Empresa\", \"Role\": \"Rol\" };\r\n\tblockCreationFor: Set<\"User\"|\"Customer\"|\"Role\"> = new Set([\"Customer\"]);\r\n\r\n\treloadByEntity = {\r\n\t\t\"User\": new Subject<boolean>(),\r\n\t\t\"Customer\": new Subject<boolean>(),\r\n\t\t\"Role\": new Subject<boolean>()\r\n\t}\r\n\r\n\tget userReload() { return this.reloadByEntity['User'] }\r\n\tget customerReload() { return this.reloadByEntity['Customer'] }\r\n\tget roleReload() { return this.reloadByEntity['Role'] }\r\n\r\n\tget subjects() {\r\n\t\treturn ({\r\n\t\t\t\"User\": this.selectedUserSubject,\r\n\t\t\t\"Customer\": this.selectedCustomerSubject,\r\n\t\t\t\"Role\": this.selectedRoleSubject\r\n\t\t})\r\n\t}\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t\tthis.reloadSubject.subscribe({\r\n\t\t\tnext: (entityName: any) => { this.reloadByEntity[entityName as \"User\" | \"Customer\" | \"Role\"]?.next(true) }\r\n\t\t})\r\n\t\tfor (let subject of Object.values(this.subjects)) {\r\n\t\t\tsubject.subscribe({ next: (item) => this.selectedItem = item });\r\n\t\t}\r\n\t}\r\n\r\n\tsetLanguage(language: string) {\r\n\t\tthis.language = language;\r\n\t}\r\n\r\n\tsetSecurityEndpoints(endpoints: SecurityEndpoints) {\r\n\t\tthis.endpoints = endpoints;\r\n\t}\r\n\r\n\tgetRoles() {\r\n\t\treturn this.http.get(this.endpoints.listRoles?.url ?? '');\r\n\t}\r\n\r\n\tdeleteMenuOption(option: any) {\r\n\t\treturn this.http.get(`${this.endpoints.deleteMenuOption?.url ?? ''}?optionId=${option.id}`)\r\n\t}\r\n\r\n\tsetTheme(theme: string) {\r\n\t\tthis.theme = Boolean(theme) ? theme : 'default';\r\n\t}\r\n\r\n\tgetActions(roleId: number, resourceId: number) {\r\n\t\treturn this.http.get(`${this.endpoints.actionsByRoleAndResource?.url ?? ''}?roleId=${roleId}&resourceId=${resourceId}`);\r\n\t}\r\n\r\n\tgetResourcesByRole(roleId: number) {\r\n\t\treturn this.http.get(`${this.endpoints.resourcesByRole?.url ?? ''}?roledId=${roleId}`);\r\n\t}\r\n\r\n\tsetMenuOptionFormComponent(component?: Type<any>) {\r\n\t\tthis.menuOptionFormComponent = component;\r\n\t}\r\n\r\n\r\n\tsaveMenuOption(option: any) {\r\n\t\treturn this.http.post(this.endpoints.saveMenuOption?.url ?? '', { ...option, id: option.id > -1 ? option.id : null });\r\n\t}\r\n\r\n\t// getUsers(page: number = 1, pageSize: number = 10) {\r\n\t// \treturn this.http.get(`this.listUsersEndpoint?page=${page}&pageSize=${pageSize}`);\r\n\t// }\r\n\r\n\tgetAssignedRoles(id: number, type: \"User\" | \"Customer\") {\r\n\t\treturn this.http.get(`${type === \"User\" ? (this.endpoints.rolesByUser?.url ?? '') : (this.endpoints.rolesByCustomer ?? '')}?${paramNames[type]}=${id}`);\r\n\t}\r\n\r\n\tassignRoles(id: number, roles: any[], type: \"User\" | \"Customer\") {\r\n\t\treturn this.http.post(type === \"User\" ? (this.endpoints.assignUserRole?.url ?? '') : (this.endpoints.assignCustomerRole?.url ?? ''), {\r\n\t\t\t[paramNames[type]]: id,\r\n\t\t\troles\r\n\t\t});\r\n\t}\r\n\r\n\tassignRoleUsers(roleId: number, users: any[]) {\r\n\t\treturn this.http.post(this.endpoints.assignRoleUsers?.url ?? '', {\r\n\t\t\troleId,\r\n\t\t\tusers\r\n\t\t})\r\n\t}\r\n\r\n\tassignRoleCustomers(roleId: number, customers: any[]) {\r\n\t\treturn this.http.post(this.endpoints.assignRoleCustomers?.url ?? '', {\r\n\t\t\troleId,\r\n\t\t\tcustomers\r\n\t\t})\r\n\t}\r\n\r\n\t// assignUserCustomers(userId: number, customers: any[]) {\r\n\t// \treturn this.http.post(this.endpoints.assignUserCustomers?.url ?? '', {userId, customers})\r\n\t// }\r\n\r\n\t// assignUserAgencies(userId: number, agencies: any[]) {\r\n\t// \treturn this.http.post(this.endpoints.assignUserAgencies?.url ?? '', {userId, agencies})\r\n\t// }\r\n\r\n\r\n\tassignUserCustomerAndAgencies(userId: number, customers: any[], agencies: { [customerId: number]: any[] }) {\r\n\t\treturn this.endpoints.assignUserCustomers?.onRequest({userId, customers, agencies});\r\n\t}\r\n\r\n\tassignCustomerUsers(customer: any, users: any[]) {\r\n\t\treturn this.endpoints.assignCustomerUsers?.onRequest({customer, users});\r\n\t}\r\n\r\n\tgetUserRolesByCustomers(user: any) {\r\n\t\treturn this.http.get(`${this.endpoints.customersByUser?.url}${this.endpoints.customersByUser?.queryParams?.(user)}`).pipe(\r\n\t\t\tswitchMap(this.endpoints.customersByUser?.responseMapping ?? defaultSwitchMapper),\r\n\t\t\tswitchMap((response: any) => {\r\n\t\t\t\treturn from(Array.from(new Set(response.load))).pipe(\r\n\t\t\t\t\tmergeMap(\r\n\t\t\t\t\t\tcustomerId => this.http.get(`${this.endpoints.rolesByCustomer?.url}${this.endpoints.rolesByCustomer?.queryParams?.({ id: customerId })}`)\r\n\t\t\t\t\t),\r\n\t\t\t\t\treduce((acc: any, curr: any) => acc.concat(curr), []),\r\n\t\t\t\t\tmap(newLoad => ({ ...response, load: newLoad }))\r\n\t\t\t\t)\r\n\t\t\t}),\r\n\t\t\tswitchMap((response2) => of({...response2, load: response2.load.map((response3: any) => response3.load).flat()}))\r\n\t\t)\r\n\t}\r\n\r\n\t// setRolesByUserEndpoint(endpoint: string) {\r\n\t// \tthis.rolesByUserEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setAssignUserRoleEndpoint(endpoint: string) {\r\n\t// \tthis.assignUserRoleEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setRolesByCustomerEndpoint(endpoint: string) {\r\n\t// \tthis.rolesByCustomerEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setAssignCustomerRoleEndpoint(endpoint: string) {\r\n\t// \tthis.assignCustomerRoleEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setSavePermissionsEndpoint(endpoint: string) {\r\n\t// \tthis.savePermissionsEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setUsersByCustomerEndpoint(endpoint: string) {\r\n\t// \tthis.usersByCustomerEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setListRolesEndpoint(endpoint: string) {\r\n\t// \tthis.listRolesEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setAssignResourceEndpoint(endpoint: string) {\r\n\t// \tthis.assignResourceEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setResourcesByRoleEndpoint(endpoint: string) {\r\n\t// \tthis.resourcesByRoleEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setActionsByRoleAndResourceEndpoint(endpoint: string) {\r\n\t// \tthis.getActionsEndpoint = endpoint;\r\n\t// }\r\n\r\n\tselectUser(user: any) {\r\n\t\tthis.selectedUserSubject.next(user);\r\n\t}\r\n\r\n\tselectCustomer(customer: any) {\r\n\t\tthis.selectedCustomerSubject.next(customer);\r\n\t}\r\n\r\n\tselectRole(role: any) {\r\n\r\n\t\tthis.selectedRoleSubject.next(role);\r\n\t}\r\n\r\n\tsaveItem(endpoint: string, updatedItem: any) {\r\n\t\treturn this.http.post(endpoint, updatedItem);\r\n\t}\r\n\r\n\tassignResource(roleId: number, resources: any[]) {\r\n\t\treturn this.http.post(this.endpoints.assignResources?.url ?? '', { roleId, resources });\r\n\t}\r\n\r\n\tassignOptions(roleId: number, options: any[]) {\r\n\t\treturn this.http.post(this.endpoints.assignoptions?.url ?? '', { roleId, options });\r\n\t}\r\n\r\n\tsavePermissions(permissions: any[]) {\r\n\t\treturn this.http.post(this.endpoints.savePermissions?.url ?? '', permissions);\r\n\t}\r\n\r\n\tgetMenuTree() {\r\n\t\treturn this.http.get(this.endpoints.getMenuTree?.url ?? '');\r\n\t}\r\n\r\n\tgetAppModules() {\r\n\t\treturn this.http.get(this.endpoints.listModules?.url ?? '');\r\n\t}\r\n\r\n\tsaveModule(module: any) {\r\n\t\treturn this.http.post(this.endpoints.createModule?.url ?? '', module);\r\n\t}\r\n\r\n\treloadEntity(entityName: \"User\" | \"Customer\" | \"Role\") {\r\n\t\tthis.reloadSubject.next(entityName);\r\n\t}\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'lib-snackbar',\r\n templateUrl: './snackbar.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./snackbar.component.scss']\r\n})\r\nexport class SnackbarComponent {\r\n\ttype: \"info\" | \"success\" | \"warning\" = \"info\";\r\n\tmessage: string = '';\r\n\ttheme: string = 'default';\r\n\ticons = {info: 'menu-info', warning: 'menu-warning1', success: 'menu-check-circle'};\r\n\tget typeIcon() { return this.icons[this.type] }\r\n\r\n\tconstructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) {\r\n\t\tthis.type = data?.type ?? \"info\";\r\n\t\tthis.message = data?.message ?? '';\r\n\t\tthis.theme = data?.theme ?? 'default';\r\n\t}\r\n\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" [class]=\"['container', type]\">\r\n\t<i [class]=\"typeIcon\"></i>\r\n\t<span>{{message}}</span>\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\nimport { SnackbarComponent } from '../snackbar/snackbar.component';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SnackbarService {\r\n\thorizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\n\tverticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\ttheme: string = 'default';\r\n\r\n\tconstructor(private _snackBar: MatSnackBar) { }\r\n\r\n\tsetTheme(theme: string){\r\n\t\tthis.theme = theme;\r\n\t}\r\n\r\n\topenSnackBar(message: string, type = 'info', duration: number = 3000) {\r\n\t\tthis._snackBar.openFromComponent(SnackbarComponent, {\r\n\t\t\tdata: { theme: this.theme, message, type }, \r\n\t\t\tduration,\r\n\t\t\thorizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n\t\t})\r\n\t}\r\n\r\n\tsuccess(message: string, duration: number = 3000) {\r\n\t\tthis.openSnackBar(message, 'success', duration);\r\n\t}\r\n\r\n\twarning(message: string, duration: number = 3000) {\r\n\t\tthis.openSnackBar(message, 'warning', duration);\r\n\t}\r\n\r\n\tinfo(message: string, duration: number = 3000) {\r\n\t\tthis.openSnackBar(message, 'info', duration);\r\n\t}\r\n}\r\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-loader',\r\n\ttemplateUrl: './loader.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './loader.component.scss']\r\n})\r\nexport class LoaderComponent implements OnChanges {\r\n\t@Input() theme: string = 'default';\r\n\t@Input() loading: boolean = false;\r\n\t@Input() type: \"spinner\" | \"bar\" = \"spinner\";\r\n\r\n\tloadingStatus: boolean = false;\r\n\tstartedAt: any = 0;\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (!changes['loading'].previousValue && changes['loading'].currentValue) {\r\n\t\t\tthis.loadingStatus = true;\r\n\t\t\tthis.startedAt = Date.now();\r\n\t\t}\r\n\r\n\t\tif (changes['loading'].previousValue && !changes['loading'].currentValue) {\r\n\t\t\tif (typeof this.startedAt === 'number') {\r\n\t\t\t\tconst currentTime = Date.now();\r\n\t\t\t\tconst elapsedTime = currentTime - this.startedAt;\r\n\t\t\t\tconst delay = Math.max(0, 1400 - elapsedTime);\r\n\t\t\t\tsetTimeout(() => { this.loadingStatus = false }, delay)\r\n\t\t\t} else {\r\n\t\t\t\tthis.loadingStatus = false\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tget loadingByType() {\r\n\t\treturn this.type === \"spinner\" ? this.loading : this.loadingStatus;\r\n\t}\r\n}\r\n","<div [class]=\"['container'+type]\">\r\n\t<div [attr.data-theme]=\"theme\" [class]=\"type\" *ngIf=\"loadingByType\"></div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-radio-button',\r\n templateUrl: './radio-button.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./radio-button.component.scss']\r\n})\r\nexport class RadioButtonComponent {\r\n\t@Input() active: boolean= false;\r\n\t@Input() theme: string = '';\r\n}\r\n","<div [class]=\"['radio-circle', active ? 'active':'']\">\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\n\r\n@Pipe({\r\n\tname: 'translate'\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n\r\n\tprivate translations: { [key: string]: { [key: string]: string } } = {\r\n\t\t'en': {\r\n\t\t\t'security': 'Security Admin',\r\n\t\t\t'USERS': 'USERS',\r\n\t\t\t'CLIENTS': 'CLIENTS',\r\n\t\t\t'ROLES': 'ROLES',\r\n\t\t\t'MENU': 'MENU',\r\n\t\t\t'MODULES': 'MODULES',\r\n\t\t\t'Users': 'Users',\r\n\t\t\t'User': 'User',\r\n\t\t\t'Customers': 'Customers',\r\n\t\t\t'Customer': 'Customer',\r\n\t\t\t'Roles': 'Roles',\r\n\t\t\t'Role': 'Role',\r\n\t\t\t'roles': 'roles',\r\n\t\t\t'Menu': 'Menu',\r\n\t\t\t'Edit Users': 'Edit Users',\r\n\t\t\t'Edit Customers': 'Edit Customers',\r\n\t\t\t'Edit Roles': 'Edit Roles',\r\n\t\t\t'Modules': 'Modules',\r\n\t\t\t'Create': 'Create',\r\n\t\t\t'Save': 'Save',\r\n\t\t\t'Edit': 'Edit',\r\n\t\t\t'module': 'module',\r\n\t\t\t'Assign Roles': 'Assign Roles',\r\n\t\t\t'Assign/Remove': 'Assign/Remove',\r\n\t\t\t'Available Customers': 'Available Customers',\r\n\t\t\t'Available Agencies': 'Available Agencies',\r\n\t\t\t'Selected Customers': 'Selected Customers',\r\n\t\t\t'Assigned Roles (User)': 'Assigned Roles (User)',\r\n\t\t\t'Assigned Roles (Customer)': 'Assigned Roles (Customer)',\r\n\t\t\t'Available Users': 'Available Users',\r\n\t\t\t'Selected Users': 'Selected Users',\r\n\t\t\t'Assigned Roles': 'Assigned Roles',\r\n\t\t\t'Drag Resources Here':'Drag Resources Here',\r\n\t\t\t'Resources':'Resources',\r\n\t\t\t'No assigned resources': 'No assigned resources',\r\n\t\t\t'Search...':'Search...',\r\n\t\t\t'Not Found 1': 'Not Found',\r\n\t\t\t'No options found':'No options found',\r\n\t\t\t'Not Found 2': 'Not Found',\r\n\t\t\t'Type':'Type',\r\n\t\t\t'Actions': 'Actions',\r\n\t\t\t'More information':'More information',\r\n\t\t\t'Select a customer to edit':'Select a customer to edit'\r\n\t\t},\r\n\t\t'es': {\r\n\t\t\t'security': \"Seguridad\",\r\n\t\t\t'USERS': 'USUARIOS',\r\n\t\t\t'CLIENTS': 'EMPRESAS',\r\n\t\t\t'ROLES': 'ROLES',\r\n\t\t\t'MENU': 'MENÚ',\r\n\t\t\t'MODULES': 'MÓDULOS',\r\n\t\t\t'Users': 'Usuarios',\r\n\t\t\t'User': 'Usuario',\r\n\t\t\t'Customers': 'Empresas',\r\n\t\t\t'Customer': 'Empresa',\r\n\t\t\t'Roles': 'Roles',\r\n\t\t\t'Role': 'Rol',\r\n\t\t\t'Edit Users': 'Editar Usuarios',\r\n\t\t\t'Edit Customers': 'Editar Empresas',\r\n\t\t\t'Edit Roles': 'Editar Roles',\r\n\t\t\t'Menu': 'Menú',\r\n\t\t\t'Modules': 'Módulos',\r\n\t\t\t'Create': 'Crear',\r\n\t\t\t'Edit': 'Editar',\r\n\t\t\t'module': 'módulo',\r\n\t\t\t'Save': 'Guardar',\r\n\t\t\t'roles': 'roles',\r\n\t\t\t'Assign Roles': 'Assignar Roles',\r\n\t\t\t'Assign/Remove': 'Asignar/Remover',\r\n\t\t\t'Available Customers': 'Empresas Disponibles',\r\n\t\t\t'Selected Customers': 'Empresas Seleccionadas',\r\n\t\t\t'Available Agencies': 'Agencias Disponibles',\r\n\t\t\t'Assigned Roles (User)': 'Roles Asignados (Usuario)',\r\n\t\t\t'Assigned Roles (Customer)': 'Roles Asignados (Empresa)',\r\n\t\t\t'Available Users': 'Usuarios Disponibles',\r\n\t\t\t'Selected Users': 'Usuarios Seleccionados',\r\n\t\t\t'Assigned Roles': 'Roles Asignados',\r\n\t\t\t'Drag Resources Here':'Arrastrar Recursos Aquí',\r\n\t\t\t'Resources': 'Recursos',\r\n\t\t\t'Search...':'Buscar...',\r\n\t\t\t'Not Found 1': 'No hay resultados',\r\n\t\t\t'No options found':'No hay elementos',\r\n\t\t\t'Not Found 2': 'No hay elementos',\r\n\t\t\t'Type':'Tipo',\r\n\t\t\t'No assigned resources':'No hay recursos asignados',\r\n\t\t\t'Actions':'Acciones',\r\n\t\t\t'More information':'Más información',\r\n\t\t\t'Select a user to assign customers': 'Selecciona un usario para asignar empresas',\r\n\t\t\t'Select a customer to assign users': 'Selecciona una empresa para asignar usuarios',\r\n\t\t\t'Select a role to assign users': 'Selecciona un rol para asignar usuarios',\r\n\t\t\t'Select a role to assign customers': 'Selecciona un rol para asignar empresas',\r\n\t\t\t'Select a customer to edit':'Selecciona una empresa para editar',\r\n\t\t\t'Something went wrong': 'Ocurrió un error'\r\n\r\n\t\t}\r\n\t\t// add more translations here\r\n\t};\r\n\r\n\tconstructor(private securityAdminService: SecurityAdminService) { }\r\n\r\n\ttransform(value: string): string {\r\n\t\treturn this.translations[this.securityAdminService.language][value] || value;\r\n\t}\r\n\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\ninterface Resource {\r\n\tid: number,\r\n\tname: string\r\n}\r\n\r\ninterface Role {\r\n\tid: number,\r\n\tname: string\r\n}\r\n\r\n@Component({\r\n\tselector: 'lib-resource-actions',\r\n\ttemplateUrl: './resource-actions.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './resource-actions.component.scss']\r\n})\r\nexport class ResourceActionsComponent {\r\n\tresource: any;\r\n\trole: any;\r\n\ttheme: string = 'default';\r\n\tget resourceName() { return this.resource?.name ?? '' }\r\n\tactions: any[] = [];\r\n\tloadingActions: boolean = false;\r\n\r\n\tactionStatus = [\r\n\t\t{ name: 'No asignado', value: null },\r\n\t\t{ name: 'Permitir', value: 1 },\r\n\t\t{ name: 'Denegar', value: 0 }\r\n\t]\r\n\t// actions: any[] = Array.from({length: 10}).map((_,i)=>({id:i, name: `Acción ${i}`, key: `btn${i}`, status: i%3}));\r\n\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef<ResourceActionsComponent>,\r\n\t\t@Inject(MAT_DIALOG_DATA)\r\n\t\tpublic data: { theme: string, item: Resource, entityObject: Role },\r\n\t\tprivate securityAdminService: SecurityAdminService,\r\n\t\tprivate snackbar: SnackbarService) {\r\n\t\tthis.resource = data.item;\r\n\t\tthis.theme = data.theme;\r\n\t\tthis.role = data.entityObject;\r\n\t\tthis.loadingActions = true;\r\n\t\tthis.securityAdminService.getActions(this.role.id, this.resource.id).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.actions = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingActions = false;\r\n\t\t\t},\r\n\t\t\terror: () => this.loadingActions = false\r\n\t\t});\r\n\t}\r\n\r\n\tassignStatus(action: any, status: number | null) {\r\n\t\taction.permission = status;\r\n\t}\r\n\r\n\r\n\tonSave() {\r\n\t\tthis.snackbar.info('Guardando');\r\n\t\tthis.securityAdminService.savePermissions(this.actions.map(action => ({\r\n\t\t\troleId: this.role.id,\r\n\t\t\tresourceId: this.resource.id,\r\n\t\t\tactionId: action.id,\r\n\t\t\tpermission: action.permission\r\n\t\t}\r\n\t\t))).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Acciones actualizadas')\r\n\t\t\t\t} else { this.snackbar.warning('Ocurrió un error al guardar las acciones') }\r\n\t\t\t},\r\n\t\t\terror: () => {\r\n\t\t\t\tthis.snackbar.warning('Ocurrió un error al guardar las acciones')\r\n\t\t\t}\r\n\t\t});\r\n\t\t// this.dialogRef.close();\r\n\t}\r\n\r\n\tonClose() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\t// actionStatus(i: number, action: any) {\r\n\t// \treturn (i===0 && action.permission === null) || (i===1 && action.permission === 1) || (i===2 && action.permission===0)\r\n\t// }\r\n\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"dialog-header\">\r\n\t<div class=\"title-container\">\r\n\t\t<i class=\"menu-gear\"></i>\r\n\t\t<div class=\"title\">\r\n\t\t\t<span class=\"titleLabel\">\r\n\t\t\t\tAsignación de acciones\r\n\t\t\t</span>\r\n\t\t\t<span class=\"resource\">{{resourceName}}</span>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"buttons-container\">\r\n\t\t<button class=\"primary\" (click)=\"onSave()\">{{'Save' | translate}}</button>\r\n\t\t<button class=\"ghost\" (click)=\"onClose()\"><i class=\"menu-close\"></i></button>\r\n\t</div>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" class=\"dialog-content\">\r\n\t<div class=\"table-header table-grid\">\r\n\t\t<span>Acciones</span>\r\n\t\t<span *ngFor=\"let status of actionStatus\">{{status.name}}</span>\r\n\t</div>\r\n\t<lib-loader type=\"bar\" [theme]=\"theme\" [loading]=\"loadingActions\"></lib-loader>\r\n\t<div class=\"table-content\">\r\n\t\t\t<div [attr.data-theme]=\"theme\" *ngFor=\"let action of actions\" class=\"action table-grid\">\r\n\t\t\t\t<div class=\"action-info\">\r\n\t\t\t\t\t<span>{{action.name}}</span>\r\n\t\t\t\t\t<span class=\"sub-info\"><b>Clave </b>{{action.pkey}}</span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"radio-button\" *ngFor=\"let option of actionStatus\" (click)=\"assignStatus(action, option.value)\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t<lib-radio-button [active]=\"action.permission===option.value\"></lib-radio-button>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t</div>\r\n\t\r\n\r\n</div>","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-input',\r\n templateUrl: './input.component.html',\r\n styleUrls: ['../assets/fonts/style.css','../assets/theme.scss','./input.component.scss']\r\n})\r\nexport class InputComponent {\r\n @Input() name: string = 'input';\r\n @Input() label: string = '';\r\n @Input() icon?: string = '';\r\n @Input() iconPosition?: string = 'left';\r\n @Input() className?: string = '';\r\n @Input() formControl!: FormControl;\r\n @Input() theme: string = 'default';\r\n @Input() appereance: string = 'outlined';\r\n @Input() clearButton: boolean = false;\r\n\t@Input() disabled?: boolean = false;\r\n @Input() type: string = 'text';\r\n\t@Output() keyup = new EventEmitter<any>();\r\n @HostBinding('style') hostStyle: any;\r\n\r\n @Input() set style(styleInput :{[key: string]: any}) {\r\n this.hostStyle = styleInput;\r\n };\r\n\r\n get hasIcon() {\r\n return Boolean(this.icon);\r\n }\r\n\r\n get showClearButton(){\r\n return this.clearButton && Boolean(this.formControl.value);\r\n }\r\n\r\n\tget disabledClass() {\r\n\t\treturn this.disabled ? 'disabled' : '';\r\n\t}\r\n\r\n clearValue () {\r\n \r\n this.formControl.setValue('');\r\n }\r\n\r\n\tkeyupHandler(event: any){\r\n\t\tthis.keyup.emit(event);\r\n\t}\r\n\r\n\r\n}\r\n ","<div [style]=\"style\" [attr.data-theme]=\"theme\" [class]=\"['wrapper', iconPosition, appereance, disabledClass]\">\r\n <input ngDefaultControl (keyup)=\"keyupHandler($event)\" #input [class]=\"[icon ? iconPosition : '', showClearButton ? 'hasClearButton' :'']\" [name]=\"name\" [formControl]=\"formControl\" placeholder=\"\"\r\n autocomplete=\"off\" type=\"{{type}}\" />\r\n <i [class]=\"[icon, iconPosition]\" *ngIf=\"hasIcon\"></i>\r\n <div [class]=\"['border', appereance]\">\r\n <div class=\"left-border\"></div>\r\n <div class=\"label-border\">\r\n <div class=\"border-top\"></div>\r\n <label [class]=\"[icon ? iconPosition : '', appereance]\" [for]=\"name\">{{ label }}</label>\r\n <div class=\"border-bottom\"></div>\r\n </div>\r\n <div class=\"right-border\"></div>\r\n </div>\r\n <div (focus)=\"input.focus()\" (click)=\"clearValue()\" *ngIf=\"showClearButton\" class=\"closeButton\">\r\n <b class=\"menu-close\"></b>\r\n </div>\r\n</div>","import { Component, Inject, Input } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\n\r\ninterface Resource {\r\n\tid: number,\r\n\tname: string\r\n}\r\n\r\n@Component({\r\n selector: 'lib-role-info',\r\n templateUrl: './role-info.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './role-info.component.scss']\r\n})\r\nexport class RoleInfoComponent {\r\n theme: string = 'default';\r\n role: any;\r\n actions: any = [];\r\n\tloadingResources: boolean = false;\r\n\tloadingActions: boolean = false;\r\n // get resources () {return this.role.resources.map((r: any,i: number) => ({id: i, name: r}))}\r\n\tresources : Resource[] = [];\r\n\r\n\tselectedResource : Resource= {id: -1, name: ''}\r\n\r\n\tget showPlaceholder () {return !this.loadingResources && this.resources.length < 1}\r\n\r\n constructor( \r\n\t\tpublic dialogRef: MatDialogRef<RoleInfoComponent>, \r\n\t\t@Inject(MAT_DIALOG_DATA) public data: {theme: string, role: any},\r\n\t\tprivate securityService: SecurityAdminService\r\n\t){\r\n this.theme = data.theme;\r\n this.role = data.role;\r\n\t\tthis.loadResources();\r\n\r\n }\r\n\r\n\tloadResources(){\r\n\t\tthis.loadingResources = true;\r\n\t\tthis.securityService.getResourcesByRole(this.role.id).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200){\r\n\t\t\t\t\tthis.resources = response.load;\r\n\t\t\t\t\tif(response.load.length > 0) {\r\n\t\t\t\t\t\tthis.selectResource(response.load[0])\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingResources = false;\r\n\t\t\t},\r\n\t\t\terror: _ => this.loadingResources = false\r\n\t\t})\r\n\t}\r\n\r\n \r\n onSave(){\r\n this.dialogRef.close();\r\n }\r\n\r\n onClose(){\r\n this.dialogRef.close();\r\n }\r\n\r\n\tselectResource(resource:Resource ){\r\n\t\tthis.selectedResource = resource;\r\n\t\tthis.loadActions();\r\n\t}\r\n\r\n\tloadActions(){\r\n\t\tthis.loadingActions = true;\r\n\t\tthis.securityService.getActions(this.role.id, this.selectedResource.id).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200){\r\n\t\t\t\t\tthis.actions = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingActions = false;\r\n\t\t\t},\r\n\t\t\terror: _ => this.loadingActions = false\r\n\t\t})\r\n\t}\r\n\r\n\tisSelected(resource: Resource) {\r\n\t\treturn this.selectedResource.id === resource.id ? 'selected': '';\r\n\t}\r\n\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"dialog-header\">\r\n <div class=\"title-container\">\r\n <i class=\"menu-info\"></i>\r\n <span>{{'More information' | translate}} - {{role.name}}</span>\r\n </div>\r\n <div class=\"buttons-container\">\r\n <button class=\"ghost\" (click)=\"onClose()\"><i class=\"menu-close\"></i></button>\r\n </div>\r\n</div>\r\n\r\n<div [attr.data-theme]=\"theme\" class=\"content\">\r\n <!-- <lib-items-viewer [showPaginator]=\"false\" [showSearch]=\"false\" [title]=\"'Recursos'\" [theme]=\"theme\" [items]=\"resources?? []\"></lib-items-viewer> -->\r\n <div class=\"list-container\">\r\n\t\t<div class=\"list-header\">{{'Resources' | translate}}</div>\r\n\t\t<div class=\"list-content\">\r\n\t\t\t<lib-loader type=\"bar\" [loading]=\"loadingResources\" [theme]=\"theme\"></lib-loader>\r\n\t\t\t<span *ngIf=\"showPlaceholder\" class=\"placeholder\">{{'No assigned resources' | translate}}</span>\r\n\t\t\t<div *ngFor=\"let resource of resources\" (click)=\"selectResource(resource)\">\r\n\t\t\t\t<div [class]=\"['resource', isSelected(resource)]\">\r\n\t\t\t\t\t{{resource.name}}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div [attr.data-theme]=\"theme\" class=\"list-container\">\r\n <span class=\"list-header\">{{'Actions' | translate}}</span>\r\n <div class=\"list-content\">\r\n\t\t\t<lib-loader type=\"bar\" [loading]=\"loadingActions\" [theme]=\"theme\"></lib-loader>\r\n <div *ngFor=\"let action of actions\" class=\"action\">\r\n <div class=\"action-info\">\r\n <span>{{action.name}}</span>\r\n <span class=\"sub-info\"><b>Clave </b>{{action.key}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RoleInfoComponent } from '../role-info/role-info.component';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\n\r\n@Component({\r\n selector: 'lib-role-card',\r\n templateUrl: './role-card.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './role-card.component.scss']\r\n})\r\nexport class RoleCardComponent {\r\n @Input() object: any;\r\n @Input() infoButton: boolean = false;\r\n @Input() actions: any[] = [];\r\n @Input() theme: string ='default'\r\n get resources() {\r\n\t\treturn (this.object.resources?.map((resource: any) => resource.name)?.join(', ') || \"No asignados\");\r\n\t}\r\n\r\n constructor(public dialog: MatDialog, private securityAdminService:SecurityAdminService) {\r\n\r\n }\r\n\r\n openInfo() {\r\n this.dialog.open(RoleInfoComponent, {data: {\r\n role: this.object,\r\n theme: this.securityAdminService.theme ?? this.theme\r\n }}).afterClosed().subscribe(result=>{\r\n \r\n })\r\n }\r\n}\r\n","<div class=\"role-content\">\r\n <span class=\"role-name\">\r\n {{object.name}}\r\n </span>\r\n <div class=\"info\">\r\n <span class=\"role-type-label\">{{'Type' | translate}} -</span>\r\n <span class=\"role-type highlight\">{{object.type}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"highlight\">{{'Resources' | translate}}: </span>\r\n <span>{{resources}}</span>\r\n </div>\r\n</div>\r\n<div class=\"options\">\r\n <!-- <i class=\"menu-horizontal-options\"></i> -->\r\n <button class=\"primary\" (click)=\"openInfo()\"><i class=\"menu-info\"></i>Ver</button>\r\n <button class=\"ghost\" *ngFor=\"let action of actions\" (click)=\"action.callback?.(object)\"><i [class]=\"action.icon\"></i></button>\r\n</div>","import { CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { Component, Inject, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { RoleCardComponent } from '../role-card/role-card.component';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { RequestDetails } from '../interfaces/interfaces';\r\nimport { FormControl } from '@angular/forms';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\ninterface Entity {\r\n\tid: number,\r\n\tname: string,\r\n\tentityType: \"Customer\" | \"User\"\r\n}\r\n\r\nconst entityNames = {\r\n\tCustomer: \"Empresa\",\r\n\tUser: \"Usuario\"\r\n}\r\n\r\n@Component({\r\n\tselector: 'lib-assign-roles',\r\n\ttemplateUrl: './assign-roles.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './assign-roles.component.scss']\r\n})\r\nexport class AssignRolesComponent {\r\n\ttheme: string = 'default';\r\n\troles: any[] = [];\r\n\tdropHover: boolean = false;\r\n\tassigned: Set<string | number> = new Set([]);\r\n\tsearch = new FormControl<string>('');\r\n\tloadingOptions: boolean = false;\r\n\tloadingSelection: boolean = false;\r\n\tentity: Entity = { id: -1, name: '', entityType: \"User\" };\r\n\t@ViewChild('dropItemsList') dropItemsList1: any = CdkDropList;\r\n\t@ViewChild('dragOptionsList') dragOptionsList1: any = CdkDropList;\r\n\tget dragOptions() { return this.roles.filter(role => !this.assigned.has(role.id)) ?? []; }\r\n\tget droppedItems() { return this.roles.filter(role => this.assigned.has(role.id)) ?? []; }\r\n\tget entityName() { return ` - ${entityNames[this.entity.entityType]}` }\r\n\r\n\tremoveRole(role: any) {\r\n\t\tthis.assigned.delete(role.id);\r\n\t}\r\n\r\n\tuiActions = [{ icon: 'menu-bin', callback: (role: any) => this.removeRole(role) }]\r\n\r\n\r\n\tdrop(event: CdkDragDrop<any[]>) {\r\n\r\n\t\tif (!(event.previousContainer === event.container)) {\r\n\r\n\t\t\tthis.assigned.add(event.item.data?.id);\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField.control.value?.push?.(event.item.data))\r\n\t\t}\r\n\t\tthis.setDropHover(false);\r\n\t}\r\n\r\n\tsetDropHover(value: boolean) {\r\n\t\tthis.dropHover = value;\r\n\t}\r\n\r\n\tconstructor(public dialogRef: MatDialogRef<AssignRolesComponent>,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: { theme: string, entityType: \"Customer\" | \"User\" },\r\n\t\tprivate securityAdminService: SecurityAdminService,\r\n\t\tprivate snackbar: SnackbarService) {\r\n\t\tthis.theme = data.theme;\r\n\t\tlet selectedItem = this.securityAdminService.selectedItem;\r\n\t\tthis.entity = { ...selectedItem, entityType: data.entityType, name: [selectedItem?.name, selectedItem?.lastname ?? ''].join(' ') };\r\n\t\tthis.loadRoleOptions();\r\n\t\tthis.loadAssignedRoles();\r\n\t}\r\n\r\n\tloadAssignedRoles() {\r\n\t\tthis.loadingSelection = true;\r\n\r\n\t\tthis.securityAdminService.getAssignedRoles(this.entity.id, this.entity.entityType).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.assigned = new Set(response.load.map((role: any) => role.id));\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingSelection = false;\r\n\t\t\t} ,\r\n\t\t\terror: () => this.loadingSelection = false\r\n\t\t})\r\n\t}\r\n\r\n\tloadRoleOptions() {\r\n\t\tthis.loadingOptions = true;\r\n\t\tthis.securityAdminService.getRoles().subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tlet completeRoles: any[] = [];\r\n\t\t\t\t\tif (response.load.length < 1) {\r\n\t\t\t\t\t\tthis.loadingOptions = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (let role of response.load) {\r\n\t\t\t\t\t\tthis.securityAdminService.getResourcesByRole(role.id).subscribe({\r\n\t\t\t\t\t\t\tnext: (roleResponse: any) => {\r\n\t\t\t\t\t\t\t\tif (roleResponse.responseCode === 200) {\r\n\t\t\t\t\t\t\t\t\tcompleteRoles.push({ ...role, resources: roleResponse.load });\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tcompleteRoles.push(role);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (completeRoles.length === response.load.length) {\r\n\t\t\t\t\t\t\t\t\tthis.roles = completeRoles.sort((a, b) => a.name.localeCompare(b.name));\r\n\t\t\t\t\t\t\t\t\tthis.loadingOptions = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\terror: () => {\r\n\t\t\t\t\t\t\t\tcompleteRoles.push(role);\r\n\t\t\t\t\t\t\t\tif (completeRoles.length === response.load.length) {\r\n\t\t\t\t\t\t\t\t\tthis.roles = completeRoles.sort((a, b) => a.name.localeCompare(b.name));\r\n\t\t\t\t\t\t\t\t\tthis.loadingOptions = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.loadingOptions = false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: () => this.loadingOptions = false\r\n\t\t});\r\n\t}\r\n\r\n\tonSave() {\r\n\t\tthis.snackbar.info('Guardando...')\r\n\t\tthis.securityAdminService.assignRoles(this.entity.id, this.droppedItems, this.entity.entityType).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Roles Actualizados')\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar roles');\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: (response: any) => {\r\n\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar roles');\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tonClose() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\troleActions = [\r\n\t\t{ icon: 'menu-bin', callback: (role: any) => { this.assigned.delete(role.id) } }\r\n\t]\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"dialog-header\">\r\n\t<div class=\"title-container\">\r\n\t\t<i class=\"menu-gear\"></i>\r\n\t\t<div class=\"title\">\r\n\t\t\t<span class=\"title-label\">{{'Assign/Remove' | translate}} {{'roles' | translate}} {{entityName}}</span>\r\n\t\t\t<span class=\"title-name\">{{entity.name}}</span>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"buttons-container\">\r\n\t\t<button class=\"primary\" (click)=\"onSave()\">{{'Save' | translate}}</button>\r\n\t\t<button class=\"ghost\" (click)=\"onClose()\"><i class=\"menu-close\"></i></button>\r\n\t</div>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" class=\"dialog-content\">\r\n\t<div class=\"available\">\r\n\t\t<lib-input ngDefaultControl [formControl]=\"search\" name=\"search\" [label]=\"'Search...' | translate\" [clearButton]=\"true\"\r\n\t\t\ticon=\"menu-search\" [theme]=\"theme\"></lib-input>\r\n\t\t<lib-loader type=\"bar\" [loading]=\"loadingOptions\" [theme]=\"theme\"></lib-loader>\r\n\t\t<div class=\"drag-items\" cdkDropList cdkDropListSortingDisabled #dragOptionsList=\"cdkDropList\"\r\n\t\t\t[cdkDropListData]=\"dragOptions\" [cdkDropListConnectedTo]=\"dropItemsList1\">\r\n\t\t\t<lib-role-card [attr.data-theme]=\"theme\" [theme]=\"theme\" *ngFor=\"let role of dragOptions\" [object]=\"role\" [infoButton]=\"true\" cdkDrag [cdkDragData]=\"role\"></lib-role-card>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"assigned-area\">\r\n\t\t<span class=\"assigned-area-label\">Roles Asignados</span>\r\n\t\t<lib-loader type=\"bar\" [theme]=\"theme\" [loading]=\"loadingSelection\"></lib-loader>\r\n\t\t<div class=\"dropped-items-area\">\r\n\t\t\t<div class=\"drop-area-container\">\r\n\t\t\t\t<div [class]=\"[ dropHover?'drop-area-hover':'', 'drop-area']\">\r\n\t\t\t\t\t<span class=\"drop-area-label\">Arrastrar Roles Aquí</span>\r\n\t\t\t\t\t<div class=\"drop-list\" cdkDropList #dropItemsList=\"cdkDropList\" [cdkDropListData]=\"droppedItems\"\r\n\t\t\t\t\t\t[cdkDropListConnectedTo]=\"dragOptionsList1\" (cdkDropListDropped)=\"drop($event)\"\r\n\t\t\t\t\t\t(cdkDropListEntered)=\"setDropHover(true)\" (cdkDropListExited)=\"setDropHover(false)\"\r\n\t\t\t\t\t\tcdkDropListSortingDisabled></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"drop-items\">\r\n\t\t\t\t<lib-role-card *ngFor=\"let role of droppedItems\" [object]=\"role\" [infoButton]=\"true\" [theme]=\"theme\" [actions]=\"uiActions\"></lib-role-card>\r\n\t\t\t</div>\r\n\r\n\t\t</div>\r\n\t</div>\r\n\r\n</div>","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\n\r\ninterface TreeNode {\r\n\tid: number | null,\r\n\tparentId: number | null;\r\n\tancestorIds:(number|null)[];\r\n\tlabel?: string,\r\n\tname?: string,\r\n\tchildren: TreeNode[];\r\n\tlevel?: number;\r\n}\r\n\r\n@Component({\r\n\tselector: 'lib-tree',\r\n\ttemplateUrl: './tree.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './tree.component.scss']\r\n})\r\nexport class TreeComponent implements OnChanges {\r\n\t@Input() tree: TreeNode[] = [];\r\n\t@Input() theme: string = '';\r\n\t@Output() nodeSelected = new EventEmitter<TreeNode>();\r\n\r\n\teditedTree: TreeNode[] = [];\r\n\tselectedNode: TreeNode = { id: -1, parentId: null, label: '', children: [], ancestorIds:[] };\r\n\texpandedNodes = new Set();\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tlet { tree } = changes;\r\n\t\tif (tree) {\r\n\t\t\tthis.editedTree = flattenTree(tree.currentValue, completeNode);\r\n\t\t}\r\n\t}\r\n\r\n\tget stringfy() {\r\n\t\treturn JSON.stringify(this.tree);\r\n\t}\r\n\r\n\tselectedClass(node: TreeNode) {\r\n\t\treturn node.id === this.selectedNode.id ? 'selected' : '';\r\n\t}\r\n\r\n\tisSelected(node: TreeNode) {\r\n\t\treturn this.selectedNode.id === node.id;\r\n\t}\r\n\r\n\tselectNode(node: TreeNode) {\r\n\t\tthis.selectedNode = node;\r\n\t\tthis.nodeSelected.emit(node);\r\n\t}\r\n\r\n\tisExpanded(node: TreeNode) {\r\n\t\treturn this.expandedNodes.has(node.id);\r\n\t}\r\n\r\n\tgetLevel(node: TreeNode) {\r\n\t\treturn 1;\r\n\t}\r\n\r\n\ttoggleNode(node: TreeNode) {\r\n\t\tthis.expandedNodes.has(node.id) ? this.expandedNodes.delete(node.id) : this.expandedNodes.add(node.id);\r\n\t}\r\n\r\n\thasChildren(node: TreeNode) {\r\n\t\treturn node.children.length > 0;\r\n\t}\r\n\r\n\tnodeContainerStyle(node: TreeNode) {\r\n\t\treturn { 'padding-left': `${20 * (node.level ?? 0)}px` }\r\n\t}\r\n\r\n\thideNode(node: TreeNode) {\r\n\t\treturn (node.parentId !== null) && (!(node.ancestorIds.every(nodeId => this.expandedNodes.has(nodeId))));\r\n\t}\r\n\r\n}\r\n\r\nconst completeNode = (node: TreeNode, level: number, prevAncestors: (number | null)[]) => ({\r\n\t...node,\r\n\tlevel: level,\r\n\tancestorIds: (node.parentId === null) ? [] : [...prevAncestors],\r\n})\r\n\r\nfunction flattenTree(tree: TreeNode[], mapNode: Function = (node: TreeNode) => node, level: number = 0, prevAncestors: (number | null)[] = []) {\r\n\tlet response: TreeNode[] = tree.flatMap(node => [mapNode(node, level, prevAncestors), ...flattenTree(node.children ?? [], mapNode, level + 1, [...prevAncestors, node.id])])\r\n\treturn response;\r\n}\r\n\r\n","<div [attr.data-theme]=\"theme\" *ngFor=\"let node of editedTree\" [class]=\"['node-container', hideNode(node) ? 'hide' : '']\" [style]=\"nodeContainerStyle(node)\">\r\n\t<div [class]=\"['node', selectedClass(node)]\" (click)=\"selectNode(node)\">\r\n\t\t<button *ngIf=\"hasChildren(node)\" (click)=\"toggleNode(node)\"\r\n\t\t\t[class]=\"['tree-toggle', isExpanded(node) ? '': 'rotated']\">\r\n\t\t\t<i [class]=\"['menu-arrow-down']\"></i>\r\n\t\t</button>\r\n\t\t<button *ngIf=\"!hasChildren(node)\" class=\"tree-toggle\">\r\n\r\n\t\t</button>\r\n\t\t<div class=\"tree-node\">\r\n\t\t\t<div class=\"input-container\">\r\n\t\t\t\t<!-- <input #nodeNameInput ngDefaultControl [(ngModel)]=\"node.label\" /> -->\r\n\t\t\t\t<span class=\"tree-name\">{{node.label}}</span>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"node-options\">\r\n\t\t\t\t<!-- <lib-checkbox [theme]=\"theme\" [checked]=\"isSelected(node)\"></lib-checkbox> -->\r\n\t\t\t\t <lib-radio-button [active]=\"isSelected(node)\" [theme]=\"theme\"></lib-radio-button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TreeNode } from '../interfaces/interfaces';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\n@Component({\r\n\tselector: 'lib-move-menu-option',\r\n\ttemplateUrl: './move-menu-option.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './move-menu-option.component.scss']\r\n})\r\nexport class MoveMenuOptionComponent {\r\n\r\n\toption: any;\r\n\ttheme: string = 'default';\r\n\ttree: TreeNode[] = [];\r\n\tselectedNode: TreeNode = { id: -1, label: '', parentId: null, children: [], ancestorIds: [] };\r\n\tget noSelection() {\r\n\t\treturn !((this.selectedNode?.id ?? -2) > -1)\r\n\t}\r\n\tconstructor(public dialogRef: MatDialogRef<MoveMenuOptionComponent>,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: { option: any, tree: TreeNode[] },\r\n\t\tprivate securityAdminService: SecurityAdminService,\r\n\t\tprivate snackbar: SnackbarService\r\n\t) {\r\n\t\tthis.option = data.option;\r\n\t\tthis.tree = data.tree;\r\n\t\tthis.theme = this.securityAdminService.theme;\r\n\t}\r\n\r\n\tselectNode(node: TreeNode) {\r\n\t\tthis.selectedNode = node;\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.dialogRef.close({ reload: false });\r\n\t}\r\n\r\n\tmoveConfirm() {\r\n\t\tthis.snackbar.info(`Moviendo ${this.option.label}`)\r\n\t\tthis.securityAdminService.saveMenuOption({ ...this.option, parentId: this.selectedNode.id }).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tswitch (response.responseCode) {\r\n\t\t\t\t\tcase 200:\r\n\t\t\t\t\t\tthis.snackbar.success(`Se ha movido \"${this.option.label}\" a \"${this.selectedNode.label}\"`)\r\n\t\t\t\t\t\tthis.dialogRef.close({ reload: true })\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tthis.snackbar.warning(`Ocurrió un error al mover la opción`)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: _ => this.snackbar.warning(`Ocurrió un error al mover la opción`)\r\n\r\n\t\t});\r\n\t}\r\n\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"header\">\r\n\t<div class=\"title\">\r\n\t\t<i class=\"menu-folder-send\"></i>\r\n\t\t<span class=\"title-label\">{{option.label ?? option.name ?? option ?? 'Move option'}}</span>\r\n\t</div>\r\n\t<div class=\"buttons\">\r\n\t\t<button (click)=\"moveConfirm()\" class=\"primary\">\r\n\t\t\t<i class=\"menu-folder-send\"></i>\r\n\t\t\t<span>Mover</span>\r\n\t\t</button>\r\n\t\t<button (click)=\"close()\" class=\"ghost\">\r\n\t\t\t<i class=\"menu-close\"></i>\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n<div class=\"sub-header\">\r\n\t<span class=\"move-label\">Mover a: </span>\r\n\t<span *ngIf=\"noSelection\" class=\"option-label\">Seleccionar</span>\r\n\t<span *ngIf=\"!noSelection\" class=\"option-label\">{{selectedNode?.label ?? selectedNode?.name ?? ''}}</span>\r\n</div>\r\n<div class=\"tree\">\r\n\t<lib-tree (nodeSelected)=\"selectNode($event)\" [theme]=\"theme\" [tree]=\"tree\"></lib-tree>\r\n\r\n</div>","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\ninterface Option {label:string, callback:Function, type?:string}\r\n\r\n@Component({\r\n selector: 'lib-multi-option-dialog',\r\n templateUrl: './multi-option-dialog.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './multi-option-dialog.component.scss']\r\n})\r\nexport class MultiOptionDialogComponent {\r\n\r\n\tmessage: string = '';\r\n\toptions: Option[] = [];\r\n\ttheme: string = 'default';\r\n\tconstructor(public dialogRef: MatDialogRef<MultiOptionDialogComponent>, @Inject(MAT_DIALOG_DATA) public data:{message: string, options:Option[], theme?:string}){\r\n\t\tthis.message = data.message;\r\n\t\tthis.options = data.options;\r\n\t\tthis.theme = data.theme ?? this.theme;\r\n\t}\r\n\r\n\toptionClick(option: Option){\r\n\t\toption.callback?.();\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"message\">{{message}}</div>\r\n<div [attr.data-theme]=\"theme\" class=\"options\">\r\n\t<button (click)=\"optionClick(option)\" [class]=\"['option', option.type]\" *ngFor=\"let option of options\">\r\n\t\t{{option.label}}\r\n\t</button>\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MultiOptionDialogComponent } from '../multi-option-dialog/multi-option-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogService {\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n\tmultiOption(config:{message: string, options:{label:string, callback:Function, type?: string}[], theme?: string}) {\r\n\t\tthis.dialog.open(MultiOptionDialogComponent, {data: {\r\n message:config.message,\r\n options:config.options,\r\n\t\t\ttheme: config.theme\r\n }}).afterClosed().subscribe(result=>{\r\n })\r\n\t}\r\n}\r\n","import { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\nimport { FormField } from '../interfaces/interfaces';\r\nimport { CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\nimport { debounceTime, lastValueFrom, Subject } from 'rxjs';\r\nimport { DialogService } from '../services/dialog.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MoveMenuOptionComponent } from '../move-menu-option/move-menu-option.component';\r\n\r\n\r\ninterface TreeNode {\r\n\tid: number | null,\r\n\tparentId: number | null;\r\n\tancestorIds: (number | null)[];\r\n\tlabel?: string,\r\n\tname?: string,\r\n\tchildren: TreeNode[];\r\n\tlevel?: number;\r\n}\r\n\r\n\r\ninterface NodeForm {\r\n\ttitle: { text: string, style?: { [key: string]: string } },\r\n\tfields: FormField[]\r\n};\r\n\r\n\r\n@Component({\r\n\tselector: 'lib-menu-admin',\r\n\ttemplateUrl: './menu-admin.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './menu-admin.component.scss']\r\n})\r\nexport class MenuAdminComponent implements OnInit {\r\n\t@Input() theme: string = 'default';\r\n\ttreeData: any[] = [];\r\n\tunflattenedTree: any[] = [];\r\n\tsearch = new FormControl<string>('');\r\n\tloadingStatus: boolean = false;\r\n\teditedTree: TreeNode[] = [];\r\n\tselectedNode: TreeNode = { id: -1, parentId: null, label: '', children: [], ancestorIds: [] };\r\n\texpandedNodes = new Set();\r\n\tfilterNodes = new Set();\r\n\tget menuOptionFormComponent() { return this.securityAdminService.menuOptionFormComponent }\r\n\r\n\r\n\tconstructor(private http: HttpClient, private securityAdminService: SecurityAdminService, private snackbar: SnackbarService, private dialogService: DialogService, private dialog: MatDialog) {\r\n\t\tthis.search.valueChanges.pipe(debounceTime(300)).subscribe({\r\n\t\t\tnext: (newSearch) => {\r\n\t\t\t\tlet newFiltered = new Set();\r\n\t\t\t\tthis.editedTree.forEach(node => {\r\n\t\t\t\t\tif (node.label?.toLowerCase().includes(newSearch?.toLowerCase() ?? '')) {\r\n\t\t\t\t\t\t[...(node.ancestorIds ?? []), node.id].forEach(nodeId => newFiltered.add(nodeId))\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.filterNodes = newFiltered;\r\n\t\t\t\tif (Boolean(newSearch)) {\r\n\t\t\t\t\tthis.expandedNodes = new Set(Array.from(newFiltered));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.expandedNodes = new Set();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tonKeyUp ($event: any) {\r\n\t}\r\n\r\n\tloadTree() {\r\n\t\tthis.loadingStatus = true;\r\n\t\tthis.securityAdminService.getMenuTree().subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.search.setValue('');\r\n\t\t\t\t\tthis.treeData = flattenTree(response.load)\r\n\t\t\t\t\tthis.editedTree = flattenTree(response.load, completeNode);\r\n\t\t\t\t\tthis.unflattenedTree = response.load;\r\n\t\t\t\t\t// this.dataSource.data = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t},\r\n\t\t\terror: () => {\r\n\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tnewNodeId: number = -2;\r\n\tnewNodeIdSubject = new Subject<number>();\r\n\tngOnInit() {\r\n\t\tthis.loadTree();\r\n\t\tthis.newNodeIdSubject.subscribe({ next: (value: number) => this.newNodeId = value })\r\n\t}\r\n\r\n\taddNodeToCurrent() {\r\n\t\tlet newNode: TreeNode = { id: this.newNodeId, label: 'Nuevo', parentId: null, ancestorIds: [], children: [] }\r\n\t\tif (this.selectedNode.id === -1) {\r\n\t\t\tthis.editedTree = [newNode, ...this.editedTree]\r\n\t\t} else {\r\n\t\t\tlet foundIdx = this.editedTree.findIndex(node => node.id === this.selectedNode.id);\r\n\t\t\tthis.editedTree = [\r\n\t\t\t\t...this.editedTree.slice(0, foundIdx + 1),\r\n\t\t\t\t{\r\n\t\t\t\t\t...newNode,\r\n\t\t\t\t\tparentId: this.selectedNode.id,\r\n\t\t\t\t\tlevel: (this.selectedNode.level ?? 0) + 1,\r\n\t\t\t\t\tancestorIds: [...(this.selectedNode.ancestorIds ?? []), this.selectedNode.id ?? null]\r\n\t\t\t\t},\r\n\t\t\t\t...this.editedTree.slice(foundIdx + 1)\r\n\t\t\t]\r\n\t\t}\r\n\t\tthis.newNodeIdSubject.next(this.newNodeId - 1);\r\n\t\tthis.filterNodes.add(newNode.id);\r\n\t\tthis.expandedNodes.add(this.selectedNode.id);\r\n\t}\r\n\r\n\tvalidSuccess(successMessage: string, errorMessage: string, successCount: number, failCount: number, targetCount: number, target?: any) {\r\n\t\tif ((successCount + failCount) === targetCount) {\r\n\t\t\tif (failCount > 0) {\r\n\t\t\t\tthis.snackbar.warning(errorMessage)\r\n\t\t\t} else {\r\n\t\t\t\tthis.snackbar.success(successMessage)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tasync saveChanges() {\r\n\t\tthis.snackbar.info('Guardando...');\r\n\t\tlet changes = changedItems(this.treeData, this.editedTree)\r\n\t\tlet successCount = 0;\r\n\t\tlet errorCount = 0;\r\n\t\tfor (let i = 0; i < changes.length; i++) {\r\n\t\t\tlet option = changes[i];\r\n\t\t\ttry {\r\n\t\t\t\tlet parentTempId = option['id'];\r\n\t\t\t\tlet response: any = await lastValueFrom(this.securityAdminService.saveMenuOption(option));\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tsuccessCount++;\r\n\t\t\t\t\tchanges = changes.map(opt => ({ ...opt, parentId: opt['parentId'] === parentTempId ? response.load.id : opt['parentId'] }))\r\n\t\t\t\t} else {\r\n\t\t\t\t\terrorCount--;\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\terrorCount--;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.validSuccess(\"Cambios Guardados\", \"Ocurrió un error al guardar los cambios\", successCount, errorCount, changes.length)\r\n\r\n\r\n\r\n\t\t// changes.forEach((option, index) => {\r\n\t\t// \tthis.securityAdminService.saveMenuOption(option).subscribe({\r\n\t\t// \t\tnext: (response: any) => {\r\n\t\t// \t\t\tlet parentRelation = option['id'];\r\n\t\t// \t\t\tif (response.responseCode === 200) {\r\n\t\t// \t\t\t\tchanges = changes.map(opt => ({ ...opt, parentId: opt['parentId'] === parentRelation ? response.load.id : opt['parentId'] }))\r\n\t\t// \t\t\t\tsuccessCount++;\r\n\t\t// \t\t\t} else {\r\n\t\t// \t\t\t\terrorCount++;\r\n\t\t// \t\t\t}\r\n\t\t// \t\t\tthis.validSuccess(\"Cambios Guardados\", \"Ocurrió un error al guardar los cambios\", successCount, errorCount, changes.length)\r\n\t\t// \t\t},\r\n\t\t// \t\terror: () => {\r\n\t\t// \t\t\terrorCount++;\r\n\t\t// \t\t\tthis.validSuccess(\"Cambios Guardados\", \"Ocurrió un error al guardar los cambios\", successCount, errorCount, changes.length)\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// })\r\n\r\n\t}\r\n\r\n\tdeleteOption(option: TreeNode) {\r\n\t\tthis.snackbar.info('Eliminando...')\r\n\t\tif (this.editedTree.some(node => ((node.id ?? - 2) > -1) && node.parentId === option.id)) {\r\n\t\t\tthis.snackbar.warning(`No se puede eliminar \"${option.label}\" porque contiene más opciones`, 5000);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.securityAdminService.deleteMenuOption(option).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tswitch (response.responseCode) {\r\n\t\t\t\t\tcase 200:\r\n\t\t\t\t\t\tthis.editedTree = this.editedTree.filter(node => (node.id !== option.id) && (!node.ancestorIds.includes(option.id)))\r\n\t\t\t\t\t\tthis.snackbar.success(`Opción \"${option.label}\" eliminada`);\r\n\t\t\t\t\t\tthis.resetSelectedNode()\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 207:\r\n\t\t\t\t\t\tthis.snackbar.warning(`No se puede eliminar \"${option.label}\" porque contiene más opciones`, 5000)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tthis.snackbar.warning(\"Ocurrió un error al eliminar la opción\")\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: _ => this.snackbar.warning(\"Ocurrió un error al eliminar la opción\")\r\n\t\t});\r\n\t}\r\n\r\n\tdeleteCurrentNode() {\r\n\t\tif (this.selectedNode.id !== -1) {\r\n\t\t\tif ((this.selectedNode.id ?? -1) > -1) {\r\n\t\t\t\tthis.dialogService.multiOption({\r\n\t\t\t\t\tmessage: `¿Deseas eliminar \"${this.selectedNode.label}\"?`,\r\n\t\t\t\t\ttheme: this.securityAdminService.theme,\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: 'Eliminar', callback: () => this.deleteOption(this.selectedNode), type: 'primary' },\r\n\t\t\t\t\t\t{ label: 'Cancelar', callback: () => { }, type: 'secondary' }\r\n\t\t\t\t\t]\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.editedTree = this.editedTree.filter(node => (node.id !== this.selectedNode.id) && (!node.ancestorIds.includes(this.selectedNode.id)))\r\n\t\t\t\tthis.resetSelectedNode()\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tselectedClass(node: TreeNode) {\r\n\t\treturn node.id === this.selectedNode.id ? 'selected' : '';\r\n\t}\r\n\r\n\tselectNode(node: TreeNode) {\r\n\t\tthis.selectedNode = node;\r\n\t}\r\n\r\n\tresetSelectedNode() {\r\n\t\tthis.selectNode({ id: -1, parentId: null, label: '', children: [], ancestorIds: [] });\r\n\t}\r\n\r\n\tisExpanded(node: TreeNode) {\r\n\t\treturn this.expandedNodes.has(node.id);\r\n\t}\r\n\r\n\tgetLevel(node: TreeNode) {\r\n\t\treturn node.ancestorIds.length;\r\n\t}\r\n\r\n\ttoggleNode(node: TreeNode) {\r\n\t\tthis.expandedNodes.has(node.id) ? this.expandedNodes.delete(node.id) : this.expandedNodes.add(node.id);\r\n\t}\r\n\r\n\thasChildren(node: TreeNode) {\r\n\t\treturn this.editedTree.filter(node_ => node_.parentId === node.id).length > 0;\r\n\t}\r\n\r\n\tnodeContainerStyle(node: TreeNode) {\r\n\t\treturn { 'padding-left': `${20 * (node.level ?? 0)}px` }\r\n\t}\r\n\r\n\thideNode(node: TreeNode) {\r\n\t\treturn (node.parentId !== null) && (!(node.ancestorIds.every(nodeId => this.expandedNodes.has(nodeId)))) || !(this.filterNodes.has(node.id));\r\n\t}\r\n\r\n\tget formComponentInputs() {\r\n\t\treturn {\r\n\t\t\toption: this.selectedNode,\r\n\t\t}\r\n\t}\r\n\r\n\tmoveOption(node: TreeNode) {\r\n\t\tthis.dialog.open(MoveMenuOptionComponent,{\r\n\t\t\tdata:{\r\n\t\t\t\toption: node,\r\n\t\t\t\ttree: this.unflattenedTree\r\n\t\t\t}\r\n\t\t}).afterClosed().subscribe({\r\n\t\t\tnext: (value) => {\r\n\t\t\t\tif (value?.reload) {\r\n\t\t\t\t\tthis.loadTree();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n}\r\n\r\nfunction changedItems(previous: { [key: string]: any }[], current: { [key: string]: any }[]) {\r\n\tlet changed: { [key: string]: any; }[] = [];\r\n\tcurrent.forEach((item, index) => {\r\n\t\tlet previousItem = previous.find(i => i['id'] === item['id']);\r\n\t\t//console.error(' for loop', previousItem, item);\r\n\t\tif (previousItem) {\r\n\t\t\tfor (let key in previousItem) {\r\n\t\t\t\tif (previousItem[key] !== item[key]) {\r\n\t\t\t\t\tchanged.push(item);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tchanged.push(item);\r\n\t\t}\r\n\r\n\t})\r\n\treturn changed;\r\n}\r\n\r\nconst completeNode = (node: TreeNode, level: number, prevAncestors: (number | null)[]) => ({\r\n\t...node,\r\n\tlevel: level,\r\n\tancestorIds: (node.parentId === null) ? [] : [...prevAncestors],\r\n})\r\n\r\nfunction flattenTree(tree: TreeNode[], mapNode: Function = (node: TreeNode) => node, level: number = 0, prevAncestors: (number | null)[] = []) {\r\n\tlet response: TreeNode[] = tree.flatMap(node => [mapNode(node, level, prevAncestors), ...flattenTree(node.children ?? [], mapNode, level + 1, [...prevAncestors, node.id])])\r\n\treturn response;\r\n}\r\n\r\n\r\nfunction unFlatten(flatTree: TreeNode[]) {\r\n\r\n\tlet response: TreeNode[] = flatTree.reduce((acc, current) => [...acc,], [])\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"list\">\r\n\t<div class=\"title-info-header\">\r\n\t\t<div class=\"title-info\">\r\n\t\t\t<i class=\"menu-list\"></i>\r\n\t\t\t<span class=\"title\">{{'Menu' | translate}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"buttons-section\">\r\n\t\t\t<button (click)=\"addNodeToCurrent()\"><i class=\"menu-plus\"></i></button>\r\n\t\t\t<button (click)=\"deleteCurrentNode()\"><i class=\"menu-minus\"></i></button>\r\n\t\t\t<button (click)=\"saveChanges()\"><i class=\"menu-save\"></i></button>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"search-contianer-notification\">\r\n\t\t<lib-input ngDefaultControl [formControl]=\"search\" name=\"search\" [label]=\"'Search...' | translate\" [clearButton]=\"true\"\r\n\t\t\ticon=\"menu-search\" [theme]=\"theme\"></lib-input>\r\n\t</div>\r\n\t<lib-loader [theme]=\"theme\" [type]=\"'bar'\" [loading]=\"loadingStatus\"></lib-loader>\r\n\t<div class=\"tree-container\">\r\n\t\t<!-- <lib-tree [tree]=\"treeData\"></lib-tree> -->\r\n\t\t<div *ngFor=\"let node of editedTree\" [class]=\"['node-container', hideNode(node) ? 'hide' : '']\"\r\n\t\t\t[style]=\"nodeContainerStyle(node)\">\r\n\t\t\t<div [class]=\"['node', selectedClass(node)]\" (click)=\"selectNode(node)\">\r\n\t\t\t\t<div *ngIf=\"hasChildren(node)\" (click)=\"toggleNode(node)\"\r\n\t\t\t\t\t[class]=\"['tree-toggle', isExpanded(node) ? '': 'rotated']\">\r\n\t\t\t\t\t<i [class]=\"['menu-arrow-down']\"></i>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div *ngIf=\"!hasChildren(node)\" class=\"tree-toggle\">\r\n\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tree-node\">\r\n\t\t\t\t\t<div class=\"input-container\">\r\n\t\t\t\t\t\t<input #nodeNameInput ngDefaultControl [(ngModel)]=\"node.label\" />\r\n\t\t\t\t\t\t<span class=\"tree-name\" (click)=\"nodeNameInput.focus()\">{{node.label}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div *ngIf=\"getLevel(node) > 0\" class=\"node-options\">\r\n\t\t\t\t\t\t<span (click)=\"moveOption(node)\">\r\n\t\t\t\t\t\t\t<i class=\"menu-folder-send\" *ngIf=\"getLevel(node) > 0\"></i>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<!-- <span>\r\n\t\t\t\t\t\t\t<i class=\"menu-move\"></i>\r\n\t\t\t\t\t\t</span> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" class=\"editor-panel\">\r\n\t<div class=\"editor-title\">\r\n\t\t<span class=\"title-label\">Editar Opción</span>\r\n\t\t<span class=\"title-name\">{{selectedNode.label ?? selectedNode.name ?? ''}}</span>\r\n\t</div>\r\n\t<!-- {{currentNode.name ?? currentNode.label}} -->\r\n\t<ng-container *ngIf=\"menuOptionFormComponent\">\r\n\t\t<ng-container *ngComponentOutlet=\"menuOptionFormComponent; inputs: formComponentInputs\">\r\n\r\n\t\t</ng-container>\r\n\r\n\t</ng-container>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./checkbox.component.scss']\r\n})\r\nexport class CheckboxComponent {\r\n @Input() checked: boolean = false;\r\n @Output() inputChange = new EventEmitter<any>(); \r\n @Input() name: string = '';\r\n @Input() label: string = '';\r\n @Input() theme: string = 'default';\r\n\r\n}\r\n","<div class=\"checkbox-container\">\r\n <input ngDefaultControl [name]=\"name\" class=\"custom-checkbox\" type=\"checkbox\" [checked]=\"checked\" (change)=\"inputChange.emit($event)\"/>\r\n <span class=\"checkmark\"></span>\r\n</div>","import { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges, Type } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { BasicItemComponent } from '../basic-item/basic-item.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { debounceTime, isObservable, map, of, Subject, switchMap } from 'rxjs';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\nimport { RequestDetails, SecurityEndpoint } from '../interfaces/interfaces';\r\nimport { defaultMapper, defaultSwitchMapper } from '../utils/utils';\r\nimport { TranslatePipe } from '../pipes/translate.pipe';\r\n\r\nconst defaultFilter = (item: any) => [item?.name ?? JSON.stringify(item)];\r\n\r\n@Component({\r\n\tselector: 'lib-items-viewer',\r\n\ttemplateUrl: './items-viewer.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './items-viewer.component.scss']\r\n})\r\nexport class ItemsViewerComponent implements OnInit, OnChanges {\r\n\r\n\t@Input() icon: string = '';\r\n\t@Input() theme: string = 'default';\r\n\t@Input() title: string = '';\r\n\t@Input() itemIcon: string = '';\r\n\t@Input() items: any[] = [];\r\n\t@Input() entityUiComponent: Type<any> | null = null;\r\n\t@Input() uiComponentInputs: { [key: string]: any } = {};\r\n\t// @Input() searchBy: string[] = ['name'];\r\n\t@Input() searchFilter?: Function;\r\n\t@Input() showCreateButton: boolean = false;\r\n\t@Input() showOrderButtons: boolean = false;\r\n\t@Input() selectedItem: any = null;\r\n\t@Input() selectionIds: Set<string | number> = new Set([]);\r\n\t@Input() multipleSelection: boolean = false;\r\n\t@Input() showSelectedAtTop: boolean = false;\r\n\t@Input() itemControls: { [key: number | string]: any } = {};\r\n\t@Input() showPaginator: boolean = true;\r\n\t@Input() draggableItems: boolean = false;\r\n\t@Input() showSearch: boolean = true;\r\n\t@Input() listEndpoint: string = '';\r\n\t@Input() itemsEndpoint: SecurityEndpoint = {url: ''};\r\n\t@Input() listRequestMapping: any = (response: any) => of(response);\r\n\t@Input() endpointParams: string = '';\r\n\t@Input() reloadSubject?: Subject<boolean>;\r\n\t@Input() externalLoading: boolean = false;\r\n\t@Input() orderProperties: { property: string, ascIcon: string, descIcon: string, tooltip?: string }[] = [];\r\n\t@Input() emptyPlaceholder: string = 'Not Found 2';\r\n\t@Input() itemLabelMap: any = (item: any) => item.name;\r\n\t@Output() selectItem = new EventEmitter<any>();\r\n\t@Output() toggleItem = new EventEmitter<any>();\r\n\t@Output() addClick = new EventEmitter<any>();\r\n\t@Output() itemsLoaded = new EventEmitter<any>();\r\n\t@HostBinding('style') hostStyle: any;\r\n\r\n\torderPropertyIcon: { [property: string]: string } = { name: 'menu-alphabet-asc' };\r\n\tcurrentOrder: { property: string, asc: boolean } = { property: 'name', asc: true };\r\n\torderItems: Subject<any> = new Subject();\r\n\tsearch = new FormControl<string>('');\r\n\tcurrentPage = 1;\r\n\t@Input() pageSize = 50;\r\n\tpageIndexUsers = 1;\r\n\tlengthUsers = 10;\r\n\tpageEvent: any = '';\r\n\tfilterItems: Set<number> = new Set([]);\r\n\tloadedItems: any[] = [];\r\n\tloadingStatus: boolean = false;\r\n\tget hasTitle() { return Boolean(this.title) }\r\n\tget hasIcon() { return Boolean(this.icon) }\r\n\tget hasOrderButtons() { return this.orderProperties.length > 0 }\r\n\tget loading() { return this.loadingStatus || this.externalLoading }\r\n\r\n\tget isDynamic() { return Boolean(this.listEndpoint) }\r\n\t@Input() set style(styleInput: { [key: string]: any }) {\r\n\t\tthis.hostStyle = styleInput;\r\n\t};\r\n\r\n\tget isEmpty() {\r\n\t\treturn this.listItems.length < 1\r\n\t}\r\n\r\n\tget emptyLabel() {\r\n\t\treturn Boolean(this.search.value) ? \"Not Found 1\" : this.emptyPlaceholder;\r\n\t}\r\n\r\n\tgetItemClass(item: any) {\r\n\t\treturn ['filter-item', this.multipleSelection ? (this.selectionIds.has(item.id) ? 'selected-item' : '') : (this.isItemSelected(item) ? 'selected-item' : ''), (this.multipleSelection && this.isItemSelected(item)) ? 'second-selection' : '', this.multipleSelection ? 'checkbox-margin' : '']\r\n\t}\r\n\r\n\r\n\tget listItems() {\r\n\t\t// return (Boolean(this.listEndpoint) ? this.loadedItems : this.items).filter((item: any) => this.searchBarProperties.some(property => item[property]?.includes(this.search.value?.toLowerCase() ?? '')))\r\n\t\t// \t.sort((a, b) => a.name.localeCompare(b.name));\r\n\t\treturn this.loadedItems\r\n\t}\r\n\r\n\tgetOrderIcon(property: string) {\r\n\t\treturn this.orderPropertyIcon[property];\r\n\t}\r\n\r\n\tconstructor(private http: HttpClient, private snackbar: SnackbarService, private translate: TranslatePipe) {\r\n\t\tthis.orderItems.subscribe({\r\n\t\t\tnext: (newOrderProperty) => {\r\n\t\t\t\tthis.currentOrder = { property: newOrderProperty.property, asc: !this.currentOrder.asc }\r\n\t\t\t\tthis.loadedItems = alphabetSort(this.loadedItems, newOrderProperty.property, this.currentOrder.asc);\r\n\t\t\t\tthis.orderPropertyIcon[newOrderProperty.property] = this.currentOrder.asc ? newOrderProperty.ascIcon : newOrderProperty.descIcon;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tisItemSelected(item: any) { return this.selectedItem?.id === item.id }\r\n\r\n\r\n\r\n\tloadItems() {\r\n\t\tthis.loadingStatus = true;\r\n\t\tif (this.listEndpoint) {this.http.get(this.showPaginator ? `${this.listEndpoint}?page=${this.currentPage}&pageSize=${this.pageSize}&${this.endpointParams}` : this.listEndpoint)\r\n\t\t\t.pipe(switchMap(this.listRequestMapping ?? defaultSwitchMapper)).subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.loadedItems = response.load;\r\n\t\t\t\t\t\tthis.itemsLoaded.emit(response.load);\r\n\t\t\t\t\t\tthis.lengthUsers = response.totalRecords;\r\n\t\t\t\t\t\tthis.search.setValue('');\r\n\t\t\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.error(response);\r\n\t\t\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t\t\t\tthis.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.[response.responseCode] ?? 'Something went wrong'));\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: (error) => {\r\n\t\t\t\t\tconsole.error(error);\r\n\t\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t\t\tthis.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.['default'] ?? 'Something went wrong'));\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t}\r\n\t\t\t});}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (Boolean(this.listEndpoint)) {\r\n\t\t\t// this.loadItems();\r\n\t\t\tthis.reloadSubject?.subscribe({ next: () => this.loadItems() });\r\n\t\t}\r\n\t\tthis.search.valueChanges.pipe(debounceTime(300)).subscribe({\r\n\t\t\tnext: (newSearch) => {\r\n\t\t\t\tthis.filterItems = new Set(this.loadedItems.filter(\r\n\t\t\t\t\titem => (this.searchFilter ?? defaultFilter)(item).filter((value: any) => Boolean(value)).some((value: string) => { return value.toLowerCase?.().includes(newSearch?.toLowerCase() ?? '') })\r\n\t\t\t\t).map(item => item.id));\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tlet { listEndpoint, items, orderProperties } = changes;\r\n\t\tif (Boolean(listEndpoint) && (listEndpoint?.previousValue !== listEndpoint?.currentValue)) {\r\n\t\t\tthis.loadItems();\r\n\t\t} else {\r\n\t\t\tif (items) {\r\n\t\t\t\tthis.loadedItems = items.currentValue;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!Boolean(this.listEndpoint) && items?.currentValue) {\r\n\t\t\tthis.search.setValue('');\r\n\t\t}\r\n\t\tif (orderProperties?.currentValue) {\r\n\t\t\tthis.orderPropertyIcon = orderProperties.currentValue.reduce((acc: any, curr: any) => ({ ...acc, [curr.property]: curr.ascIcon }), {})\r\n\t\t}\r\n\t}\r\n\r\n\tsetOrder(property: any) {\r\n\t\tthis.orderItems.next(property);\r\n\t}\r\n\r\n\tselectUser(user: any) { }\r\n\r\n\tgetServerDataUsers(event: any) {\r\n\t\tthis.currentPage = event.pageIndex + 1\r\n\t\tthis.loadItems();\r\n\t}\r\n\r\n\tgetUiComponentInputs(item: any) {\r\n\t\treturn ({ ...this.uiComponentInputs, object: item });\r\n\t}\r\n\r\n\r\n\thasFormControl(item: any) {\r\n\t\treturn Boolean(this.itemControls[item.id]) ?? false;\r\n\t}\r\n\r\n\titemControl(item: any) {\r\n\t\treturn this.itemControls[item.id];\r\n\t}\r\n\r\n\tcheckboxChange(event: any, id: number) {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.toggleItem.emit({ id, checked: event.target.checked });\r\n\t}\r\n\r\n}\r\n\r\n\r\n\r\nfunction getNestedProperty(obj: any, property: string) {\r\n\treturn property.split('.').reduce((acc, part) => acc && acc[part], obj);\r\n}\r\n\r\nfunction alphabetSort(array: any[], property: string, asc: boolean) {\r\n\treturn array.sort((a, b) => {\r\n\t\tconst aValue = getNestedProperty(a, property) ?? '';\r\n\t\tconst bValue = getNestedProperty(b, property) ?? '';\r\n\r\n\t\tif (aValue < bValue) {\r\n\t\t\treturn asc ? -1 : 1;\r\n\t\t}\r\n\t\tif (aValue > bValue) {\r\n\t\t\treturn asc ? 1 : -1;\r\n\t\t}\r\n\t\treturn 0;\r\n\t});\t\r\n}\r\n\r\nfunction switchMapper (mapper: Function) : any {\r\n\treturn (value: any) => {\r\n\t\treturn mapper(value)}\r\n}","<div [attr.data-theme]=\"theme\" class=\"title-info-header\"\r\n\t*ngIf=\"hasIcon || hasTitle || showCreateButton || showOrderButtons\">\r\n\t<div class=\"title-info\" *ngIf=\"hasIcon || hasTitle || showCreateButton\">\r\n\t\t<i *ngIf=\"hasIcon\" [class]=\"[icon]\"></i>\r\n\t\t<span class=\"title\" *ngIf=\"hasTitle\">{{title | translate}}</span>\r\n\t\t<div *ngIf=\"showCreateButton\" class=\"add-button-user\" matTooltip=\"Nuevo Usuario\" (click)=\"addClick.emit($event)\">\r\n\t\t\t<i class=\"menu-plus\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\t<!-- <div *ngIf=\"showOrderButtons\" class=\"buttons-filter-section\">\r\n\t\t<div class=\"alphabetic-user-filter-button\" [class.active]=\"orderBy.name == 'name'\" (click)=\"setOrder('name')\"\r\n\t\t\tmatTooltip=\"Order By Name\" matTooltipClass=\"pulse-tooltip\">\r\n\t\t\t<div class=\"icon-button-filter\">\r\n\t\t\t\t<div class=\"icon-button-filter\" [ngClass]=\"\r\n orderBy.name == 'name' && orderBy.orderDirection == 'DESC'\r\n ? 'menu-alphabet-asc'\r\n : 'menu-alphabet-desc'\r\n \">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"alphabetic-user-filter-button\" [class.active]=\"orderBy.name == 'secondname'\"\r\n\t\t\t(click)=\"setOrder('lastname')\" matTooltip=\"Order By Last Name\" matTooltipClass=\"pulse-tooltip\">\r\n\t\t\t<div class=\"icon-button-filter\" [ngClass]=\"\r\n orderBy.name == 'secondname' && orderBy.orderDirection == 'DESC'\r\n ? 'menu-user-left'\r\n : 'menu-user-right'\r\n \"></div>\r\n\t\t</div>\r\n\t\t<div class=\"alphabetic-user-filter-button\" [class.active]=\"orderBy.name == 'customer'\"\r\n\t\t\t(click)=\"setOrder('customer.name')\" matTooltip=\"Order By Customer\" matTooltipClass=\"pulse-tooltip\">\r\n\t\t\t<div class=\"icon-button-filter\" [ngClass]=\"\r\n orderBy.name == 'customer' && orderBy.orderDirection == 'DESC'\r\n ? 'meun-customer-asc'\r\n : 'menu-customer-desc'\r\n \"></div>\r\n\t\t</div>\r\n\t</div> -->\r\n\t<div *ngIf=\"hasOrderButtons\" class=\"buttons-filter-section\">\r\n\t\t<div *ngFor=\"let order of orderProperties\" class=\"alphabetic-user-filter-button\"\r\n\t\t\t[class.active]=\"currentOrder.property === order.property\" (click)=\"setOrder(order)\"\r\n\t\t\t[matTooltip]=\"order.tooltip ?? ''\">\r\n\t\t\t<div class=\"icon-button-filter\">\r\n\t\t\t\t<div class=\"icon-button-filter\" [class]=\"[orderPropertyIcon[order.property]]\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t</div>\r\n</div>\r\n\r\n<!-- <div [attr.data-theme]=\"theme\" class=\"filter-item selected-item\" *ngIf=\"selectedItem && showSelectedAtTop\">\r\n\t<ng-container *ngComponentOutlet=\"entityUiComponent; inputs:getUiComponentInputs(selectedItem)\">\r\n\r\n\t</ng-container>\r\n\r\n</div> -->\r\n\r\n\r\n<lib-input ngDefaultControl [formControl]=\"search\" name=\"search\" [label]=\"'Search...' | translate\" [clearButton]=\"true\"\r\n\ticon=\"menu-search\" [theme]=\"theme\" *ngIf=\"showSearch\"></lib-input>\r\n\r\n\r\n<div class=\"list-item-container\">\r\n\t<lib-loader [theme]=\"theme\" [type]=\"'bar'\" [loading]=\"loading\"></lib-loader>\r\n\t<span class=\"placeholder\" *ngIf=\"!loading && isEmpty\">{{emptyLabel | translate\r\n\t\t}}</span>\r\n\t<ng-container *ngFor=\"let item of listItems\">\r\n\t\t<ng-container *ngIf=\"filterItems.has(item.id)\">\r\n\t\t\t<div *ngIf=\"draggableItems\" cdkDrag [cdkDragData]=\"item\">\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n\t\t\t</div>\r\n\t\t\t<div *ngIf=\"!draggableItems\">\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n\t\t\t</div>\r\n\t\t\t<ng-template #itemTemplate>\r\n\t\t\t\t\r\n\t\t\t\t<div [attr.data-theme]=\"theme\"\r\n\t\t\t\t\t[class]=\"getItemClass(item)\"\r\n\t\t\t\t\t(click)=\"selectItem.emit(item)\">\r\n\t\t\t\t\t<lib-checkbox *ngIf=\"multipleSelection\" [checked]=\"selectionIds.has(item.id)\"\r\n\t\t\t\t\t\t(inputChange)=\"checkboxChange($event, item.id)\" />\r\n\t\t\t\t\t<ng-container *ngIf=\"entityUiComponent\">\r\n\t\t\t\t\t\t<ng-container *ngComponentOutlet=\"entityUiComponent; inputs:getUiComponentInputs(item)\"></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<div class=\"simple-item\" *ngIf=\"!entityUiComponent\">\r\n\t\t\t\t\t\t{{itemLabelMap(item) ?? item.name}}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t</div>\r\n\t\t\t\t<!-- <div [attr.data-theme]=\"theme\"\r\n [class]=\"['filter-item', selectionIds.has(item.id) ? 'selected-item': '', multipleSelection ? 'checkbox-margin' : '']\"\r\n (click)=\"selectItem.emit(item)\">\r\n <lib-checkbox *ngIf=\"multipleSelection\" [checked]=\"selectionIds.has(item.id)\"\r\n (inputChange)=\"checkboxChange($event, item.id)\" />\r\n <ng-container *ngComponentOutlet=\"entityUiComponent; inputs:getUiComponentInputs(item)\"></ng-container>\r\n \t</div> -->\r\n\t\t\t</ng-template>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</div>\r\n<mat-paginator *ngIf=\"showPaginator && isDynamic\" #paginator hidePageSize showFirstLastButtons [pageSize]=\"pageSize\"\r\n\t[pageIndex]=\"currentPage - 1\" [length]=\"lengthUsers\" (page)=\"pageEvent = getServerDataUsers($event)\"\r\n\tclass=\"msf-paginator-mapping msf-paginator-Style\">\r\n\r\n</mat-paginator>\r\n<!-- \r\n<mat-paginator\r\n *ngIf=\"!isLoadingTypeFilters\"\r\n #paginator\r\n hidePageSize\r\n showFirstLastButtons\r\n [pageSize]=\"pageSizeUsers\"\r\n [pageIndex]=\"pageIndexUsers\"\r\n [length]=\"lengthUsers\"\r\n (page)=\"pageEvent = getServerDataUsers($event)\"\r\n class=\"msf-paginator-mapping msf-paginator-Style\"\r\n >\r\n</mat-paginator> -->","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { SecurityEndpoint } from '../interfaces/interfaces';\r\nimport { Subject, switchMap } from 'rxjs';\r\nimport { defaultSwitchMapper } from '../utils/utils';\r\n\r\n@Component({\r\n\tselector: 'lib-items-selector',\r\n\ttemplateUrl: './items-selector.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './items-selector.component.scss']\r\n})\r\nexport class ItemsSelectorComponent implements OnInit {\r\n\t@Input() items: any[] = [];\r\n\t@Input() listTitle: string = '';\r\n\t@Input() theme: string = 'default';\r\n\t@Input() selectionTitle: string = '';\r\n\t@Input() initialSelection: any[] = [];\r\n\t@Input() listEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() reloadSelectionSubject?: Subject<any>;\r\n\t@Input() itemLabelMap: any = (item: any) => item.name;\r\n\t// @Input() selectionEndpoint: string = '';\r\n\t@Input() selectionEndpoint?: SecurityEndpoint = { url: '' };\r\n\t@Input() showPaginator: boolean = true;\r\n\t@Output() saveClick = new EventEmitter<any[]>();\r\n\t@Input() hidden: boolean = false;\r\n\t@HostBinding('style.display') get display() { return this.hidden ? 'none' : 'flex' }\r\n\tselectionIds: Set<number | string> = new Set([]);\r\n\tloadedItems: any[] = [];\r\n\tloadingSelection: boolean = false;\r\n\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.reloadSelectionSubject?.subscribe({\r\n\t\t\tnext: (newValue: any) => {\r\n\t\t\t\tif(Boolean(newValue)) {this.loadingSelection = true;\r\n\t\t\t\tthis.http.get(`${this.selectionEndpoint?.url}${this.selectionEndpoint?.queryParams?.(newValue)}`).pipe(switchMap(this.selectionEndpoint?.responseMapping ?? defaultSwitchMapper)).subscribe({\r\n\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\t\tthis.selectionIds = new Set(response.load);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.loadingSelection = false;\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: () => this.loadingSelection = false\r\n\t\t\t\t})}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleItem({ id, checked }: { id: number, checked: boolean }) {\r\n\r\n\t\tchecked ? this.selectionIds.add(id) : this.selectionIds.delete(id);\r\n\t}\r\n\r\n\tselectItem(item: any) {\r\n\t\tthis.toggleItem({ id: item.id, checked: !this.selectionIds.has(item.id) });\r\n\t}\r\n\r\n\tloadItems(newItems: any) {\r\n\t\tthis.loadedItems = newItems;\r\n\t}\r\n\r\n\tget selectionItems() {\r\n\t\treturn (Boolean(this.listEndpoint) ? this.loadedItems : this.items).filter(item => this.selectionIds.has(item.id));\r\n\t}\r\n\r\n\tsave() {\r\n\t\tthis.saveClick.emit(this.selectionItems);\r\n\t}\r\n\r\n}\r\n","<lib-items-viewer [listEndpoint]=\"listEndpoint.url\" [listRequestMapping]=\"listEndpoint.responseMapping\" [multipleSelection]=\"true\" [items]=\"items\" [title]=\"listTitle\"\r\n\t[theme]=\"theme\" [selectionIds]=\"selectionIds\" (toggleItem)=\"toggleItem($event)\"\r\n\t(selectItem)=\"selectItem($event)\" [itemLabelMap]=\"itemLabelMap\" (itemsLoaded)=\"loadItems($event)\" [showPaginator]=\"showPaginator\"></lib-items-viewer>\r\n<div [attr.data-theme]=\"theme\" class=\"selection-container\">\r\n\t<div class=\"selection-header\">\r\n\t\t<span class=\"selection-title\">{{selectionTitle}}</span>\r\n\t\t<button class=\"primary\" (click)=\"save()\">{{'Save' | translate}}</button>\r\n\t</div>\r\n\t<lib-loader [theme]=\"theme\" [type]=\"'bar'\" [loading]=\"loadingSelection\"></lib-loader>\r\n\t<div class=\"selection-content\">\r\n\t\t<div class=\"selection-list\">\r\n\t\t\t<div *ngFor=\"let item of selectionItems\" class=\"selection-item\">{{itemLabelMap(item) ?? item.name ?? ''}} <i class=\"menu-close\"\r\n\t\t\t\t\t(click)=\"toggleItem({id: item.id, checked: false})\"></i></div>\r\n\t\t</div>\r\n\t</div>\r\n</div>","import { HttpClient } from '@angular/common/http';\r\nimport { Component, ElementRef, HostBinding, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\n@Component({\r\n selector: 'lib-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './select.component.scss']\r\n})\r\nexport class SelectComponent implements OnInit {\r\n @Input() name: string = 'input';\r\n @Input() label: string = '';\r\n @Input() icon?: string = '';\r\n @Input() iconPosition?: string = 'left';\r\n @Input() className?: string = '';\r\n @Input() formControl!: FormControl;\r\n @Input() theme: string = 'default';\r\n @Input() options: any[] = [];\r\n\t@Input() optionsEndpoint: string = '';\r\n @ViewChild(\"t\") menuTrigger?: MatMenuTrigger;\r\n searchControl = new FormControl<string>('');\r\n @HostBinding('style') hostStyle: any;\r\n\tloadedItems: any[] = [];\r\n\tloadingStatus: boolean = false;\r\n\r\n @Input() set style(styleInput :{[key: string]: any}) {\r\n this.hostStyle = styleInput;\r\n };\r\n\r\n get hasIcon() {\r\n return Boolean(this.icon);\r\n }\r\n\tconstructor(private http: HttpClient, private snackbar: SnackbarService) { }\r\n\r\n\tloadItems() {\r\n\t\tthis.loadingStatus = true;\r\n\t\tthis.http.get(`${this.optionsEndpoint}?page=${1}&pageSize=${100}`).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\t\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.loadedItems = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t},\r\n\t\t\terror: () => {\r\n\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (Boolean(this.optionsEndpoint)) {\r\n\t\t\tthis.loadItems();\r\n\t\t\t// this.reloadSubject?.subscribe({ next: () => this.loadItems()});\r\n\t\t}\r\n\t}\r\n\r\n\r\n get filteredOptions() {\r\n return (Boolean(this.optionsEndpoint) ? this.loadedItems : this.options).filter(option => (option.name ?? option.label)?.toLowerCase().includes(this.searchControl.value?.toLowerCase() ?? ''))\r\n }\r\n\r\n\tget selectOptions () {\r\n\t\treturn Boolean(this.optionsEndpoint) ? this.loadedItems : this.options;\r\n\t}\r\n\r\n get noOptions() {\r\n return this.selectOptions.length < 1;\r\n }\r\n \r\n inputClick() {\r\n this.searchControl.setValue('');\r\n }\r\n\r\n selectOption(option: any) {\r\n this.formControl.setValue(option);\r\n }\r\n\r\n} \r\n","<div [attr.data-theme]=\"theme\" [class]=\"['wrapper', iconPosition]\">\r\n <input ngDefaultControl (click)=\"inputClick()\" [matMenuTriggerFor]=\"menu\" readonly [class]=\"[icon ? iconPosition : '', t.menuOpen ? 'opened' : '']\" [name]=\"name\"\r\n [value]=\"formControl.value?.name ?? formControl.value?.label ?? ''\" placeholder=\"\" autocomplete=\"off\" \r\n #t=\"matMenuTrigger\"/>\r\n <i [class]=\"[icon, iconPosition]\" *ngIf=\"hasIcon\"></i>\r\n <div class=\"border\">\r\n <div class=\"left-border\"></div>\r\n <div class=\"label-border\">\r\n <div class=\"border-top\"></div>\r\n <label [class]=\"[icon ? iconPosition : '']\" [for]=\"name\">{{ label }}</label>\r\n <div class=\"border-bottom\"></div>\r\n </div>\r\n <div class=\"right-border\"></div>\r\n </div>\r\n <i [class]=\"['menu-arrow-down', 'select-arrow', iconPosition]\" *ngIf=\"iconPosition === 'left'\"></i>\r\n <mat-menu #menu=\"matMenu\" yPosition=\"below\">\r\n <div *ngIf=\"selectOptions.length > 0\" [attr.data-theme]=\"theme\" class=\"menu-content\">\r\n <div *ngIf=\"selectOptions.length > 5\" class=\"search-container\" (click)=\"$event.stopPropagation()\">\r\n <i class=\"menu-search\"></i>\r\n <input [name]=\"'search'\" ngDefaultControl [formControl]=\"searchControl\" [placeholder]=\"'Search...' | translate\" />\r\n </div>\r\n <option (click)=\"selectOption(option)\" *ngFor=\"let option of filteredOptions\">{{option.name ?? option.label ?? option}}</option>\r\n <div *ngIf=\"filteredOptions.length < 1\" class=\"placeholder\"> {{'Not Found 1' | translate}} </div>\r\n </div>\r\n <div [attr.data-theme]=\"theme\" class=\"placeholder\" *ngIf=\"noOptions\">{{'No options found' | translate}}</div>\r\n </mat-menu>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './radio-group.component.scss']\r\n})\r\nexport class RadioGroupComponent {\r\n @Input() name: string = 'input';\r\n @Input() label: string = '';\r\n @Input() icon?: string = '';\r\n @Input() className?: string = '';\r\n @Input() formControl!: FormControl;\r\n @Input() groupDirection: string = 'row';\r\n @Input() theme: string = 'default';\r\n @Input() options: any[] = [];\r\n @Input() optionClass: string = '';\r\n\r\n get hasLabel() {\r\n return Boolean(this.label);\r\n }\r\n\r\n selectOption(option: any) {\r\n this.formControl.setValue(option);\r\n }\r\n\r\n optionLabel(option: any) {\r\n return (typeof (option) === 'string') ? option : option.label ;\r\n }\r\n\r\n isActive(option: any) {\r\n return (typeof (option) === 'string') ? (option === this.formControl.value ): (option.value === this.formControl.value?.value);\r\n }\r\n\r\n get hasIcon() {\r\n return Boolean(this.icon);\r\n }\r\n}\r\n","<div *ngIf=\"hasLabel\" class=\"label\">\r\n <i *ngIf=\"hasIcon\" [class]=\"[icon]\"></i>\r\n <span>{{label}}</span>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" [class]=\"['buttons', groupDirection]\">\r\n <div [class]=\"[optionClass]\" *ngFor=\"let option of options\" (click)=\"selectOption(option)\">\r\n <lib-radio-button [active]=\"isActive(option)\"></lib-radio-button>\r\n <span>{{optionLabel(option) | translate}}</span>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-checkbox-field',\r\n templateUrl: './checkbox-field.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './checkbox-field.component.scss']\r\n})\r\nexport class CheckboxFieldComponent {\r\n @Input() control!: FormControl;\r\n @Input() theme: string = 'default';\r\n @Input() label: string = '';\r\n @Input() name: string = '';\r\n\r\n checkboxChange($event: any){\r\n \r\n this.control?.setValue($event.target.checked);\r\n }\r\n}\r\n","<lib-checkbox [label]=\"label\" [name]=\"name\" [theme]=\"theme\" [checked]=\"control?.value === true\" (inputChange)=\"checkboxChange($event)\"></lib-checkbox>\r\n","import { CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, Type, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FormField } from '../interfaces/interfaces';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n\tselector: 'lib-form',\r\n\ttemplateUrl: './form.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './form.component.scss']\r\n})\r\nexport class FormComponent implements OnInit, OnChanges {\r\n\t@Input() form: FormField[] = [];\r\n\t@Input() formControls: any;\r\n\t@Input() formActions: any[] = [];\r\n\t@Input() theme: string = 'default';\r\n\t@Input() title: string = '';\r\n\t@Input() icon: string = '';\r\n\t@Input() entityObject: any;\r\n\t@Output() saveClick = new EventEmitter<any>();\r\n\t@ViewChild('dropItemsList') dropItemsList1: any;\r\n\t@ViewChild('dragOptionsList') dragOptionsList1: any;\r\n\t@ViewChild('dropItemsListMO') dropItemsListMO: any;\r\n\t@ViewChild('dragOptionsListMO') dragOptionsListMO: any;\r\n\tassigned: Set<string | number> = new Set([]);\r\n\tassignedMO: Set<string | number> = new Set([]);\r\n\tdropHover: boolean = false;\r\n\tdropHoverMO: boolean = false;\r\n\tloadingDragOptions: boolean = false;\r\n\tloadingMenuOptionsDragOptions: boolean = false;\r\n\tloadedDragOptions: any[] = [];\r\n\tloadedMenuOptionsDragOptions: any[] = [];\r\n\tloadingDroppedOptions: boolean = false;\r\n\tloadingDroppedOptionsMO: boolean = false;\r\n\tget hasRadioButtons() { return this.form.some(field => field.type === 'radiobutton'); }\r\n\tget hasCheckBoxes() { return this.form.some(field => field.type === 'checkbox'); }\r\n\tget hasDragAndDrop() { return this.form.some(field => field.type === 'dragdrop') }\r\n\tget hasMenuOptionsDragAndDrop() { return this.form.some(field => field.type === 'dragdropMenuOptions') }\r\n\tget dragDropField() { return this.form.find(field => field.type === 'dragdrop'); }\r\n\tget dragDropFieldOptions() { return Boolean(this.dragDropField?.optionsEndpoint) ? this.loadedDragOptions : this.dragDropField?.options }\r\n\tget dragOptions() { return this.dragDropFieldOptions?.filter(option => !this.assigned.has(option.id)) ?? []; }\r\n\tget droppedItems() { return this.dragDropFieldOptions?.filter(option => this.assigned.has(option.id)) ?? []; }\r\n\tget dragMenuOptionsDropField() { return this.form.find(field => field.type === 'dragdropMenuOptions'); }\r\n\tget dragMenuOptionsDropFieldOptions() { return Boolean(this.dragMenuOptionsDropField?.optionsEndpoint) ? this.loadedMenuOptionsDragOptions : this.dragMenuOptionsDropField?.options }\r\n\tget dragMenuOptionsOptions() { return this.dragMenuOptionsDropFieldOptions?.filter(option => !this.assignedMO.has(option.id)) ?? []; }\r\n\tget droppedItemsMenuOptions() { return this.dragMenuOptionsDropFieldOptions?.filter(option => this.assignedMO.has(option.id)) ?? []; }\r\n\tget isCreating() { return this.entityObject?.id === null}\r\n\tget dropItemSetupUi() { return this.dragDropField?.setupUi }\r\n\r\n\tentityFormInputs(types: string[]) {\r\n\t\treturn this.form.filter(field => types.includes(field.type));\r\n\t}\r\n\r\n\tshowField(field: FormField) {\r\n\t\treturn field.creationRequired ? (this.entityObject?.id !== null ? false: true ) : true;\r\n\t}\r\n\r\n\tsaveButtonClick(event: any){\r\n\t\tthis.saveClick.emit(this.formControls);\r\n\t}\r\n\r\n\tcheckboxChange(checkbox:FormField) {\r\n\t\tlet control = this.getFormControl(checkbox);\r\n\t\tif (control) control.setValue(!control.value);\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\r\n\t\tconst { entityObject } = changes;\r\n\t\tif ((typeof (entityObject.currentValue.id) === 'number') && Boolean(this.dragDropField?.selectionEndpoint)) {\r\n\t\t\tthis.loadingDroppedOptions = true;\r\n\t\t\tthis.http.get(`${this.dragDropField?.selectionEndpoint?.url}${this.dragDropField?.selectionEndpoint?.queryParams?.(entityObject.currentValue)}`).subscribe({\r\n\t\t\t\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.assigned = new Set(response.load.map((item: any) => item.id));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loadingDroppedOptions = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: () => this.loadingDroppedOptions = false\r\n\t\t\t})\r\n\t\t\t// this.http.get(this.dragDropField!.selectionEndpoint! + '?roledId=' + entityObject.currentValue.id).subscribe({\r\n\t\t\t// \tnext: (response: any) => {\r\n\t\t\t// \t\tif (response.responseCode === 200) {\r\n\t\t\t// \t\t\tthis.assigned = new Set(response.load.map((item: any) => item.id));\r\n\t\t\t// \t\t}\r\n\t\t\t// \t\tthis.loadingDroppedOptions = false;\r\n\t\t\t// \t},\r\n\t\t\t// \terror: () => this.loadingDroppedOptions = false\r\n\t\t\t// })\r\n\t\t}\r\n\r\n\t\tif ((typeof (entityObject.currentValue.id) === 'number') && Boolean(this.dragMenuOptionsDropField?.selectionEndpoint)) {\r\n\t\t\tthis.loadingDroppedOptionsMO = true;\r\n\t\t\tthis.http.get(`${this.dragMenuOptionsDropField?.selectionEndpoint?.url}${this.dragMenuOptionsDropField?.selectionEndpoint?.queryParams?.(entityObject.currentValue)}`).subscribe({\r\n\t\t\t\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.assignedMO = new Set(response.load.map((item: any) => item.id));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loadingDroppedOptionsMO = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: () => this.loadingDroppedOptionsMO = false\r\n\t\t\t})\r\n\t\t\t// this.http.get(this.dragDropField!.selectionEndpoint! + '?roledId=' + entityObject.currentValue.id).subscribe({\r\n\t\t\t// \tnext: (response: any) => {\r\n\t\t\t// \t\tif (response.responseCode === 200) {\r\n\t\t\t// \t\t\tthis.assigned = new Set(response.load.map((item: any) => item.id));\r\n\t\t\t// \t\t}\r\n\t\t\t// \t\tthis.loadingDroppedOptions = false;\r\n\t\t\t// \t},\r\n\t\t\t// \terror: () => this.loadingDroppedOptions = false\r\n\t\t\t// })\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (Boolean(this.dragDropField?.optionsEndpoint?.url)) {\r\n\t\t\tthis.loadingDragOptions = true;\r\n\t\t\tthis.http.get(this.dragDropField?.optionsEndpoint?.url ?? '').subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.loadedDragOptions = response.load;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loadingDragOptions = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: () => this.loadingDragOptions = false\r\n\t\t\t})\r\n\r\n\t\t}\r\n\t\tif (Boolean(this.dragMenuOptionsDropField?.optionsEndpoint?.url)) {\r\n\t\t\tthis.loadingMenuOptionsDragOptions = true;\r\n\t\t\tthis.http.get(this.dragMenuOptionsDropField?.optionsEndpoint?.url ?? '').subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.loadedMenuOptionsDragOptions = response.load;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loadingMenuOptionsDragOptions = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: () => this.loadingMenuOptionsDragOptions = false\r\n\t\t\t})\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tdrop(event: CdkDragDrop<any[]>) {\r\n\r\n\t\tif (!(event.previousContainer === event.container)) {\r\n\r\n\t\t\tthis.assigned.add(event.item.data?.id);\r\n\t\t\tthis.getFormControl(this.dragDropField)?.setValue(this.dragDropFieldOptions?.filter(option => this.assigned.has(option.id)) ?? [])\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField.control.value?.push?.(event.item.data))\r\n\t\t}\r\n\t\tthis.setDropHover(false);\r\n\t}\r\n\r\n\tdropMO(event: CdkDragDrop<any[]>) {\r\n\r\n\t\tif (!(event.previousContainer === event.container)) {\r\n\r\n\t\t\tthis.assignedMO.add(event.item.data?.id);\r\n\t\t\tthis.getFormControl(this.dragMenuOptionsDropField)?.setValue(this.dragMenuOptionsDropFieldOptions?.filter(option => this.assignedMO.has(option.id)) ?? [])\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField.control.value?.push?.(event.item.data))\r\n\t\t}\r\n\t\tthis.setDropHoverMO(false);\r\n\t}\r\n\r\n\tsetDropHover(value: boolean) {\r\n\r\n\t\tthis.dropHover = value;\r\n\t}\r\n\r\n\tsetDropHoverMO(value: boolean) {\r\n\r\n\t\tthis.dropHoverMO = value;\r\n\t}\r\n\r\n\tremoveDroppedItem(item: any) {\r\n\t\tthis.assigned.delete(item.id);\r\n\t\tthis.getFormControl(this.dragDropField)?.setValue(this.dragDropFieldOptions?.filter(option => this.assigned.has(option.id)) ?? [])\r\n\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t// \r\n\t}\r\n\r\n\tremoveDroppedItemMO(item: any) {\r\n\t\tthis.assignedMO.delete(item.id);\r\n\t\tthis.getFormControl(this.dragMenuOptionsDropField)?.setValue(this.dragMenuOptionsDropFieldOptions?.filter(option => this.assignedMO.has(option.id)) ?? [])\r\n\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t// \r\n\t}\r\n\r\n\tsetupItem(item: any) {\r\n\t\tif (this.dropItemSetupUi) {\r\n\t\t\tthis.dialog.open(this.dropItemSetupUi, {\r\n\t\t\t\tdata: { item, theme: this.theme, entityObject: this.entityObject }\r\n\t\t\t}).afterClosed().subscribe(result => {\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tconstructor(public dialog: MatDialog, private http: HttpClient) {\r\n\r\n\t}\r\n\r\n\tgetFormControl(field: any) {\r\n\t\treturn this.formControls[field.name];\r\n\t}\r\n\r\n\tisActive(checkbox: FormField){\r\n\t\treturn this.getFormControl(checkbox).value;\r\n\t}\r\n\r\n\r\n}\r\n\r\n\r\n","<div class=\"content-header\">\r\n\t<div class=\"section-title\">\r\n\t\t<i [class]=\"icon\"></i>\r\n\t\t<span>{{title}}</span>\r\n\t</div>\r\n\t<div>\r\n\t\t<ng-container *ngIf=\"!isCreating\">\r\n\t\t\t<button (click)=\"action.callback?.()\" *ngFor=\"let action of formActions\">{{action.label | translate}}</button>\r\n\t\t</ng-container>\r\n\t\t<button class=\"primary\" (click)=\"saveClick.emit($event)\">{{'Save' | translate}}</button>\r\n\t</div>\r\n</div>\r\n<div class=\"content\">\r\n\t<div class=\"content-form\">\r\n\t\t<div *ngIf=\"hasRadioButtons\">\r\n\t\t\t<ng-container *ngFor=\"let radio of entityFormInputs(['radiobutton'])\">\r\n\t\t\t\t<ng-container *ngIf=\"showField(radio)\">\r\n\t\t\t\t\t<div class=\"radio\">\r\n\t\t\t\t\t\t<lib-radio-group ngDefaultControl [theme]=\"theme\" [label]=\"radio.label\"\r\n\t\t\t\t\t\t\t[formControl]=\"getFormControl(radio)\" [options]=\"radio.options ?? []\"></lib-radio-group>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"form inputsForm\">\r\n\t\t\t<ng-container *ngFor=\"let input of entityFormInputs(['text', 'select'])\">\r\n\t\t\t\t<ng-container *ngIf=\"showField(input)\">\r\n\t\t\t\t\t<div [style]=\"input.style\">\r\n\t\t\t\t\t\t<ng-container [ngSwitch]=\"input.type\">\r\n\t\t\t\t\t\t\t<lib-input *ngSwitchCase=\"'text'\" ngDefaultControl [name]=\"input.name\" [label]=\"input.label\"\r\n\t\t\t\t\t\t\t\t[theme]=\"theme\" [formControl]=\"getFormControl(input)\" [disabled]=\"input.readOnly ?? false\" [type]=\"input.inputType ?? 'text'\"></lib-input>\r\n\t\t\t\t\t\t\t<lib-select *ngSwitchCase=\"'select'\" ngDefaultControl [name]=\"input.name\" [label]=\"input.label\"\r\n\t\t\t\t\t\t\t\t[theme]=\"theme\" [formControl]=\"getFormControl(input)\" [options]=\"input.options ?? []\"\r\n\t\t\t\t\t\t\t\t[optionsEndpoint]=\"input.optionsEndpoint?.url ?? ''\"></lib-select>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div *ngIf=\"hasCheckBoxes\" class=\"form\">\r\n\t\t\t<ng-container *ngFor=\"let checkbox of entityFormInputs(['checkbox'])\">\r\n\t\t\t\t<ng-container *ngIf=\"showField(checkbox)\">\r\n\r\n\t\t\t\t\t<div [attr.data-theme]=\"theme\"\r\n\t\t\t\t\t\t[class]=\"['checkbox', isActive(checkbox) ? 'active':'']\" (click)=\"checkboxChange(checkbox)\">\r\n\t\t\t\t\t\t<span>{{checkbox.label}}</span>\r\n\t\t\t\t\t\t<!-- <lib-checkbox-field [name]=\"checkbox.name\" [formControl]=\"checkbox.control\"></lib-checkbox-field> -->\r\n\t\t\t\t\t\t<!-- <mat-checkbox [checked]=\"checkbox.control.value\"></mat-checkbox> -->\r\n\t\t\t\t\t\t<lib-checkbox-field [name]=\"checkbox.name\" [control]=\"getFormControl(checkbox)\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"drag-drop-field\" *ngIf=\"hasDragAndDrop\">\r\n\t\t\t<div class=\"drop-area-container\">\r\n\t\t\t\t<div [class]=\"[ dropHover?'drop-area-hover':'', 'drop-area']\">\r\n\t\t\t\t\t<span class=\"drop-area-label\">{{(dragDropField?.dropLabel ?? '') | translate}}</span>\r\n\t\t\t\t\t<div class=\"drop-list\" cdkDropList #dropItemsList=\"cdkDropList\" [cdkDropListData]=\"droppedItems\"\r\n\t\t\t\t\t\t[cdkDropListConnectedTo]=\"dragOptionsList1\" (cdkDropListDropped)=\"drop($event)\"\r\n\t\t\t\t\t\t(cdkDropListEntered)=\"setDropHover(true)\" (cdkDropListExited)=\"setDropHover(false)\"\r\n\t\t\t\t\t\tcdkDropListSortingDisabled></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"drop-items\" *ngIf=\"hasDragAndDrop\">\r\n\t\t\t\t<lib-loader [theme]=\"theme\" type=\"bar\" [loading]=\"loadingDroppedOptionsMO\"></lib-loader>\r\n\t\t\t\t<div *ngFor=\"let dropItem of droppedItems\" class=\"drop-item\">\r\n\t\t\t\t\t<span>{{dropItem.name ?? dropItem}}</span>\r\n\t\t\t\t\t<div class=\"drop-item-buttons\">\r\n\t\t\t\t\t\t<i class=\"menu-gear\" (click)=\"setupItem(dropItem)\"></i>\r\n\t\t\t\t\t\t<i class=\"menu-bin\" (click)=\"removeDroppedItem(dropItem)\"></i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"drag-drop-field\" *ngIf=\"hasMenuOptionsDragAndDrop\">\r\n\t\t\t<div class=\"drop-area-container\">\r\n\t\t\t\t<div [class]=\"[ dropHoverMO?'drop-area-hover':'', 'drop-area']\">\r\n\t\t\t\t\t<span class=\"drop-area-label\">{{(dragMenuOptionsDropField?.dropLabel ?? '') | translate}}</span>\r\n\t\t\t\t\t<div class=\"drop-list\" cdkDropList #dropItemsListMO=\"cdkDropList\" [cdkDropListData]=\"droppedItemsMenuOptions\"\r\n\t\t\t\t\t\t[cdkDropListConnectedTo]=\"dragOptionsListMO\" (cdkDropListDropped)=\"dropMO($event)\"\r\n\t\t\t\t\t\t(cdkDropListEntered)=\"setDropHoverMO(true)\" (cdkDropListExited)=\"setDropHoverMO(false)\"\r\n\t\t\t\t\t\tcdkDropListSortingDisabled></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"drop-items\" *ngIf=\"hasMenuOptionsDragAndDrop\">\r\n\t\t\t\t<lib-loader [theme]=\"theme\" type=\"bar\" [loading]=\"loadingDroppedOptions\"></lib-loader>\r\n\t\t\t\t<div *ngFor=\"let dropItem of droppedItemsMenuOptions\" class=\"drop-item\">\r\n\t\t\t\t\t<span>{{dropItem.label ?? dropItem}}</span>\r\n\t\t\t\t\t<div class=\"drop-item-buttons\">\t\t\t\t\t\t\r\n\t\t\t\t\t\t<i class=\"menu-bin\" (click)=\"removeDroppedItemMO(dropItem)\"></i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"bottom-spacer\">\r\n\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"hasDragAndDrop\" class=\"drag-container\">\r\n\t\t<div class=\"drag-area\">\r\n\t\t\t<span class=\"drag-area-label\">{{(dragDropField?.dragTitle ?? '') | translate}}</span>\r\n\t\t\t<ng-container *ngIf=\"!loadingDragOptions\">\r\n\t\t\t\t<div cdkDropList #dragOptionsList=\"cdkDropList\" [cdkDropListData]=\"dragOptions\"\r\n\t\t\t\t\t[cdkDropListConnectedTo]=\"[dropItemsList1]\" cdkDropListSortingDisabled class=\"drag-options\">\r\n\t\t\t\t\t<div [attr.data-theme]=\"theme\" *ngFor=\"let option of dragOptions\" class=\"drag-option\" cdkDrag\r\n\t\t\t\t\t\t[cdkDragData]=\"option\">\r\n\t\t\t\t\t\t<i class=\"menu-move\"></i>\r\n\t\t\t\t\t\t{{option.name ?? option}}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\t\t\t<div *ngIf=\"loadingDragOptions\" class=\"placeholder\">\r\n\t\t\t\t<lib-loader type=\"spinner\" [theme]=\"theme\" [loading]=\"loadingDragOptions\"></lib-loader>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"hasMenuOptionsDragAndDrop\" class=\"drag-container\">\r\n\t\t<div class=\"drag-area\">\r\n\t\t\t<span class=\"drag-area-label\">{{(dragMenuOptionsDropField?.dragTitle ?? '') | translate}}</span>\r\n\t\t\t<ng-container *ngIf=\"!loadingMenuOptionsDragOptions\">\r\n\t\t\t\t<div cdkDropList #dragOptionsListMO=\"cdkDropList\" [cdkDropListData]=\"dragMenuOptionsOptions\"\r\n\t\t\t\t\t[cdkDropListConnectedTo]=\"[dropItemsListMO]\" cdkDropListSortingDisabled class=\"drag-options\">\r\n\t\t\t\t\t<div [attr.data-theme]=\"theme\" *ngFor=\"let option of dragMenuOptionsOptions\" class=\"drag-option\" cdkDrag\r\n\t\t\t\t\t\t[cdkDragData]=\"option\">\r\n\t\t\t\t\t\t<i class=\"menu-move\"></i>\r\n\t\t\t\t\t\t{{option.label ?? option}}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\t\t\t<div *ngIf=\"loadingMenuOptionsDragOptions\" class=\"placeholder\">\r\n\t\t\t\t<lib-loader type=\"spinner\" [theme]=\"theme\" [loading]=\"loadingMenuOptionsDragOptions\"></lib-loader>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<!-- <ng-template>\r\n\t<div class=\"drop-list\" cdkDropList #dropItemsList=\"cdkDropList\" [cdkDropListData]=\"droppedItems\"\r\n\t\t[cdkDropListConnectedTo]=\"[dragOptionsList]\" (cdkDropListDropped)=\"drop($event)\"\r\n\t\t(cdkDropListEntered)=\"setDropHover(true)\" (cdkDropListExited)=\"setDropHover(false)\" cdkDropListSortingDisabled>\r\n\t</div>\r\n\t<div cdkDropList #dragOptionsList=\"cdkDropList\" [cdkDropListData]=\"dragOptions\"\r\n\t\t[cdkDropListConnectedTo]=\"[dropItemsList]\" cdkDropListSortingDisabled class=\"drag-options\">\r\n\t\t<div [attr.data-theme]=\"theme\" *ngFor=\"let option of dragOptions\" class=\"drag-option\" cdkDrag\r\n\t\t\t[cdkDragData]=\"option\">\r\n\t\t\t<i class=\"menu-move\"></i>\r\n\t\t\t{{option.name ?? option}}\r\n\t\t</div>\r\n\t</div>\r\n</ng-template> -->","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { map, Subject, switchMap } from 'rxjs';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SecurityEndpoint } from '../interfaces/interfaces';\r\nimport { defaultMapper, defaultSwitchMapper, removeArrayDuplicates } from '../utils/utils';\r\n\r\n@Component({\r\n\tselector: 'lib-nested-items-selector',\r\n\ttemplateUrl: './nested-items-selector.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './nested-items-selector.component.scss']\r\n})\r\nexport class NestedItemsSelectorComponent implements OnChanges, OnInit {\r\n\t// @Input() items: any[] = [];\r\n\t@Input() theme: string = 'default';\r\n\t@Input() listTitle: string = '';\r\n\t@Input() secondListTitle: string = '';\r\n\t@Input() selectionTitle: string = '';\r\n\t@Input() listEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() secondListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() selectionEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() secondSelectionEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() reloadSelectionSubject?: Subject<any>;\r\n\t@Output() saveClick = new EventEmitter<any>();\r\n\t@Input() hidden: boolean = false;\r\n\t@HostBinding('style.display') get display() { return this.hidden ? 'none' : 'flex' }\r\n\r\n\tselectedItem: any;\r\n\tselectedItemSubject = new Subject<any>;\r\n\tselectionIds: Set<number | string> = new Set([]);\r\n\tsecondSelection: { [id: number]: Set<number> } = {};\r\n\tloadingSecondItems: boolean = false;\r\n\tloadedItems: any[] = [];\r\n\tloadedSecondItems: any[] = [];\r\n\tloadedSecondItemsById: { [id: number]: any[] } = {};\r\n\tcurrentSecondSelection: Set<number> = new Set([]);\r\n\tcurrentSecondItems: any[] = [];\r\n\tloadingSelection: boolean = false;\r\n\r\n\r\n\r\n\tconstructor(private http: HttpClient, private securityAdminService: SecurityAdminService) { }\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.reloadSelectionSubject?.subscribe({\r\n\t\t\tnext: (newUser: any) => {\r\n\t\t\t\tthis.http.get(`${this.selectionEndpoint.url}${this.selectionEndpoint.queryParams?.(newUser)}`).pipe(switchMap(this.selectionEndpoint.responseMapping ?? defaultSwitchMapper)).subscribe(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\t\t\tconsole.warn('first response in subj reload', response, this.loadedItems);\r\n\t\t\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\t\t\tthis.selectionIds = new Set(response.load);\r\n\t\t\t\t\t\t\t\tthis.http.get(`${this.secondSelectionEndpoint.url}${this.secondSelectionEndpoint.queryParams?.(newUser)}`).pipe(switchMap(this.secondSelectionEndpoint.responseMapping ?? defaultSwitchMapper)).subscribe(\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tnext: (response2: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\tconsole.warn('second response in subj reload', response, this.loadedSecondItems);\r\n\t\t\t\t\t\t\t\t\t\t\tif (response2.responseCode === 200) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tObject.entries(this.secondSelection).forEach((entry: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.secondSelection[entry[0]] = response2.load[entry[0]] ?? new Set();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.currentSecondSelection = this.secondSelection[this.selectedItem.id]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (response.load.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet loadedItem = this.loadedItems.find(i => i.id === response.load[0]);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (loadedItem) this.selectItem(loadedItem);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t// this.secondSelectionIds = new Set(response.load);\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\t// if (selectionEndpoint.currentValue) {\r\n\t\t// \tthis.http.get(selectionEndpoint.currentValue.url).subscribe({\r\n\t\t// \t\tnext: (response:any) => {\r\n\t\t// \t\t\tif (response.responseCode === 200) {\r\n\t\t// \t\t\t\tthis.selectionIds = new Set(response.load.map((item: any) => item.id));\r\n\t\t// \t\t\t\tif (response.load?.length > 0) this.selectItem(response.load[0]);\r\n\t\t// \t\t\t}\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// }\r\n\t}\r\n\r\n\r\n\tinSelection(item: any) {\r\n\t\treturn this.selectionIds.has(item.id);\r\n\t}\r\n\r\n\tinSecondSelection(item: any) {\r\n\t\t// return true;\r\n\t\treturn Object.values(this.secondSelection).some(set => set.has(item.id));\r\n\t\t// return this.secondSelectionIds.has(item.id);\r\n\t}\r\n\r\n\ttoggleItem({ id, checked }: { id: number, checked: boolean }) {\r\n\t\tif (checked) {\r\n\t\t\tthis.selectionIds.add(id)\r\n\t\t} else {\r\n\t\t\tthis.selectionIds.delete(id);\r\n\t\t\tthis.secondSelection[this.selectedItem.id] = new Set([]);\r\n\t\t\tthis.currentSecondSelection = this.secondSelection[this.selectedItem.id];\r\n\t\t}\r\n\r\n\t}\r\n\r\n\ttoggleSecondItem({ id, checked }: { id: number, checked: boolean }) {\r\n\t\t// checked ? this.secondSelectionIds.add(id) : this.secondSelectionIds.delete(id);\r\n\t\tif (checked) this.selectionIds.add(this.selectedItem.id);\r\n\t\tchecked ? this.secondSelection[this.selectedItem.id]?.add(id) : this.secondSelection[this.selectedItem.id]?.delete(id);\r\n\t\tthis.currentSecondSelection = this.secondSelection[this.selectedItem.id];\r\n\t}\r\n\r\n\tselectSecondItem(item: any) {\r\n\t\t// this.toggleSecondItem({ id: item.id, checked: !this.selectionIds.has(item.id) });\r\n\t\t// this.selectedItemSubject.next(item);\r\n\t}\r\n\r\n\tshowSecondOptions(item: any) {\r\n\t\tthis.loadingSecondItems = true;\r\n\t\tthis.currentSecondItems = this.loadedSecondItemsById[item.id];\r\n\t\tthis.currentSecondSelection = this.secondSelection[item.id];\r\n\t\tsetTimeout(() => this.loadingSecondItems = false, 2000)\r\n\t\t// this.loadingSecondItems = false;\r\n\t}\r\n\r\n\tselectItem(item: any) {\r\n\t\tthis.selectedItem = item;\r\n\t\tthis.showSecondOptions(item);\r\n\t}\r\n\r\n\tloadItems(newItems: any) {\r\n\t\tconsole.warn('loaded items', newItems);\r\n\t\tthis.loadedItems = newItems;\r\n\t\tthis.loadedSecondItems = [];\r\n\t\tthis.loadedSecondItemsById = newItems.reduce((acc: any, curr: any) => ({ ...acc, [curr.id]: [] }), {});\r\n\t\tthis.secondSelection = newItems.reduce((acc: any, curr: any) => ({ ...acc, [curr.id]: new Set([]) }), {});\r\n\t\tthis.selectItem(this.selectedItem ?? this.loadedItems[0]);\r\n\t\tthis.currentSecondSelection = this.secondSelection[this.selectedItem.id]\r\n\t\tthis.loadedItems.forEach(mainItem => {\r\n\t\t\tthis.loadingSecondItems = true;\r\n\t\t\tthis.http.request(this.secondListEndpoint.method ?? 'GET', this.secondListEndpoint.url, {\r\n\t\t\t\tbody: this.secondListEndpoint.requestBodyMapping?.(mainItem) ?? mainItem\r\n\t\t\t}).pipe(switchMap(switchMapper(this.secondListEndpoint.responseMapping ?? defaultSwitchMapper))).subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tthis.loadedSecondItemsById[mainItem.id] = response.responseCode === 200 ? response.load : [];\r\n\t\t\t\t\tthis.loadedSecondItems = removeArrayDuplicates(Object.values(this.loadedSecondItemsById).flat());\r\n\t\t\t\t\tthis.showSecondOptions(this.selectedItem);\r\n\t\t\t\t\tthis.loadingSecondItems = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: _ => this.loadingSecondItems = false\r\n\t\t\t})\r\n\t\t});\r\n\t}\r\n\r\n\tsave() {\r\n\t\t// let secondaryItems = \r\n\t\tthis.saveClick.emit({\r\n\t\t\tprimaryItems: this.loadedItems.filter(item => this.selectionIds.has(item?.id)),\r\n\t\t\tsecondaryItems: Object.fromEntries(Object.entries(this.secondSelection).map((entry: any) => [entry[0], Array.from(entry[1]).map(item2Id => this.loadedSecondItemsById[entry[0]].find(x => x.id === item2Id))]))\r\n\t\t\t// secondaryItems: Object.values(this.loadedSecondItemsById).flat().filter(item => this.secondSelectionIds.has(item.id))\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\nfunction switchMapper(mapper: Function): any {\r\n\treturn (value: any) => {\r\n\t\treturn mapper(value)\r\n\t}\r\n}","<ng-container>\r\n\t<lib-items-viewer [listEndpoint]=\"listEndpoint.url\" [listRequestMapping]=\"listEndpoint.responseMapping\"\r\n\t\t[multipleSelection]=\"true\" [title]=\"listTitle\" [theme]=\"theme\" [selectionIds]=\"selectionIds\"\r\n\t\t(toggleItem)=\"toggleItem($event)\" (selectItem)=\"selectItem($event)\" (itemsLoaded)=\"loadItems($event)\"\r\n\t\t[showPaginator]=\"false\" [selectedItem]=\"selectedItem\"></lib-items-viewer>\r\n\t<lib-items-viewer *ngIf=\"selectedItem\" [items]=\"currentSecondItems\" [multipleSelection]=\"true\"\r\n\t\t[title]=\"secondListTitle\" [theme]=\"theme\" [selectionIds]=\"currentSecondSelection\"\r\n\t\t(toggleItem)=\"toggleSecondItem($event)\" (selectItem)=\"selectSecondItem($event)\" [showPaginator]=\"false\"\r\n\t\t[externalLoading]=\"loadingSecondItems\"></lib-items-viewer>\r\n\t<div [attr.data-theme]=\"theme\" class=\"selection-container\">\r\n\t\t<div class=\"selection-header\">\r\n\t\t\t<!-- <span class=\"selection-title\">{{selectionTitle}}</span> -->\r\n\t\t\t<button class=\"primary\" (click)=\"save()\">{{'Save' | translate}}</button>\r\n\t\t</div>\r\n\t\t<lib-loader [theme]=\"theme\" [type]=\"'bar'\" [loading]=\"loadingSelection\"></lib-loader>\r\n\t\t<div class=\"selection-content\">\r\n\t\t\t<div class=\"selection-list\">\r\n\t\t\t\t<ng-container *ngFor=\"let item of loadedItems\">\r\n\t\t\t\t\t<div *ngIf=\"inSelection(item)\" class=\"selection-item\">{{item.name ?? ''}} <i class=\"menu-close\"\r\n\t\t\t\t\t\t\t(click)=\"toggleItem({id: item.id, checked: false})\"></i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<ng-container *ngFor=\"let item of loadedSecondItems\">\r\n\t\t\t\t\t<div *ngIf=\"inSecondSelection(item)\" class=\"selection-item\">{{item.name ?? ''}} <i class=\"menu-close\"\r\n\t\t\t\t\t\t\t(click)=\"toggleSecondItem({id: item.id, checked: false})\"></i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Type, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { RoleCardComponent } from '../role-card/role-card.component';\r\nimport { CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { Observable, of, Subject } from 'rxjs';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\nimport { FormField, SecurityEndpoint } from '../interfaces/interfaces';\r\nimport { TranslatePipe } from '../pipes/translate.pipe';\r\nimport { removeArrayDuplicates } from '../utils/utils';\r\n\r\nconst nameOrder = { property: 'name', ascIcon: 'menu-alphabet-asc', descIcon: 'menu-alphabet-desc', tooltip: 'Ordenar por nombre' };\r\nconst customerOrder = { property: 'customer.name', ascIcon: 'menu-customer-asc', descIcon: 'menu-customer-desc', tooltip: 'Ordenar por empresa' };\r\nconst lastname = { property: 'lastname', ascIcon: 'menu-user-right', descIcon: 'menu-user-left', tooltip: 'Ordenar por apellido' }\r\n\r\n\r\n@Component({\r\n\tselector: 'lib-users-admin',\r\n\ttemplateUrl: './entity-admin.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './entity-admin.component.scss'],\r\n\tproviders: [TranslatePipe]\r\n})\r\nexport class EntityAdminComponent implements OnInit {\r\n\t@Input() theme: string = 'default';\r\n\t@Input() listTitle: string = '';\r\n\t@Input() listIcon: string = '';\r\n\t@Input() listItemIcon: string = '';\r\n\t@Input() entity: \"User\" | \"Customer\" | \"Role\" = \"User\";\r\n\t@Input() entityName: string = '';\r\n\t@Input() entityActions: any[] = [];\r\n\t@Input() entityForm: FormField[] = [];\r\n\t@Input() entityListEndpoint: string = '';\r\n\t@Input() entityItemsEndpoint: SecurityEndpoint = { url: ''};\r\n\t@Input() entityList: any[] = [];\r\n\t@Input() entityUiComponent: Type<any> | null = null;\r\n\t@Input() uiComponentInputs: { [key: string]: any } = {};\r\n\t@Input() searchFilter?: Function;\r\n\t@Input() customerList: any[] = [];\r\n\t@Input() roleList: any[] = [];\r\n\t@Input() userList: any[] = [];\r\n\t@Input() customerListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() agencyListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() roleListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() userListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() saveEntityEndpoint: string = '';\r\n\t@Input() entityListRequestMapping: Function = (response: any) => of(response);\r\n\t@Input() usersByCustomerEndpoint: string = '';\r\n\t@Input() reloadSubject?: Subject<boolean>;\r\n\t@Input() itemSelected: Function = () => { };\r\n\t@Input() resetItemSelected?: Subject<boolean>;\r\n\troleCard = RoleCardComponent;\r\n\tformControls: { [key: string]: FormControl } = {};\r\n\tselectedItem: any = { id: null };\r\n\tselectedUser: any;\r\n\tloadingUserRoles: boolean = false;\r\n\tloadingUserCustomerRoles: boolean = false;\r\n\tget userSubject() { return this.securityAdminService.selectedUserSubject }\r\n\tget customerSubject() { return this.securityAdminService.selectedCustomerSubject }\r\n\tget roleSubject() { return this.securityAdminService.selectedRoleSubject }\r\n\tget disableCreation() { return this.securityAdminService.blockCreationFor.has(this.entity) }\r\n\tget disableForm() { return !this.isItemSelected && this.disableCreation }\r\n\r\n\tget userAssignedRoles() { return this.selectedUser?.roles ?? [] }\r\n\tget userCustomerAssignedRoles() { return this.selectedUser?.customerRoles ?? [] }\r\n\tget mainListOrderProperties() {\r\n\t\tswitch (this.entity) {\r\n\t\t\tcase 'User':\r\n\t\t\t\treturn [nameOrder, lastname];\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn [nameOrder];\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(private securityAdminService: SecurityAdminService, private snackbar: SnackbarService, private translatePipe: TranslatePipe) {\r\n\r\n\t}\r\n\r\n\tget formTitle() { return `${this.translatePipe.transform(this.selectedItem.id ? \"Edit\" : \"Create\")} ${this.translatePipe.transform(this.entityName)}` }\r\n\r\n\r\n\tagencyEndpointParams: Function = (customer: any) => `customerId=${customer.id}`\r\n\r\n\tget isItemSelected() {\r\n\t\treturn typeof (this.selectedItem?.id) === 'number';\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.formControls = this.entityForm.reduce((object, field) => ({ ...object, [field.name]: new FormControl<any>(field.defaultValue ?? null) }), {})\r\n\t\tthis.securityAdminService.subjects[this.entity].subscribe({\r\n\t\t\tnext: (item) => {\r\n\t\t\t\tthis.selectedItem = item;\r\n\t\t\t\tObject.entries(this.formControls).forEach(([name, control]) => {\r\n\t\t\t\t\tlet field = this.entityForm.find(x => x.name === name);\r\n\t\t\t\t\tcontrol.patchValue(parseType(item[name], field?.type));\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.securityAdminService.selectedUserSubject.subscribe({\r\n\t\t\tnext: (user) => {\r\n\t\t\t\tthis.selectedUser = user;\r\n\t\t\t\tif (user.id !== null) {\r\n\t\t\t\t\tthis.loadingUserRoles = true;\r\n\t\t\t\t\tthis.securityAdminService.getAssignedRoles(user.id, \"User\").subscribe({\r\n\t\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\t\t\tthis.loadingUserCustomerRoles = true;\r\n\t\t\t\t\t\t\t\tthis.securityAdminService.getUserRolesByCustomers(user).subscribe({\r\n\t\t\t\t\t\t\t\t\tnext: (customerResponse: any) => {\r\n\t\t\t\t\t\t\t\t\t\tif (customerResponse.responseCode === 200) {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.selectedUser = { ...user, roles: response.load, customerRoles: removeArrayDuplicates(customerResponse.load) }\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.selectedUser = { ...user, roles: response.load }\r\n\t\t\t\t\t\t\t\t\t\t\tthis.loadingUserRoles = false;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tthis.loadingUserCustomerRoles = false;\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\terror: () => this.loadingUserCustomerRoles = false\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t// if (user.customer?.id) {\r\n\t\t\t\t\t\t\t\t// \tthis.loadingUserCustomerRoles = true;\r\n\t\t\t\t\t\t\t\t// \tthis.securityAdminService.getAssignedRoles(user.customer.id, \"Customer\").subscribe({\r\n\t\t\t\t\t\t\t\t// \t\tnext: (customerResponse: any) => {\r\n\t\t\t\t\t\t\t\t// \t\t\tif (customerResponse.responseCode === 200) {\r\n\t\t\t\t\t\t\t\t// \t\t\t\tthis.selectedUser = { ...user, roles: response.load, customerRoles: customerResponse.load }\r\n\t\t\t\t\t\t\t\t// \t\t\t}\r\n\t\t\t\t\t\t\t\t// \t\t\tthis.loadingUserCustomerRoles = false;\r\n\t\t\t\t\t\t\t\t// \t\t},\r\n\t\t\t\t\t\t\t\t// \t\terror: _ => this.loadingUserCustomerRoles = false\r\n\t\t\t\t\t\t\t\t// \t})\r\n\t\t\t\t\t\t\t\t// } else {\r\n\t\t\t\t\t\t\t\t// \tthis.selectedUser = { ...user, roles: response.load }\r\n\t\t\t\t\t\t\t\t// \tthis.loadingUserRoles = false;\r\n\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.selectedUser = { ...user, roles: response.load }\r\n\t\t\t\t\t\t\t\tthis.loadingUserRoles = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.loadingUserRoles = false;\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\terror: () => this.loadingUserRoles = false\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.resetItemSelected?.subscribe({\r\n\t\t\tnext: () => {\r\n\t\t\t\tthis.resetForm();\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tselectItem(newItem: any) {\r\n\t\tswitch (this.entity) {\r\n\t\t\tcase \"User\":\r\n\t\t\t\tthis.securityAdminService.selectUser(newItem);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Customer\":\r\n\t\t\t\tthis.securityAdminService.selectCustomer(newItem);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Role\":\r\n\t\t\t\tthis.securityAdminService.selectRole(newItem);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tsaveItem() {\r\n\t\tthis.snackbar.info(\"Guardando...\", 3000);\r\n\t\tlet newInfo = this.entityForm.reduce((acc, field) => field.requiresNewValue ?\r\n\t\t\t(Boolean(this.formControls[field.name].value) ? { ...acc, [field.name]: this.formControls[field.name].value } : { ...acc }) :\r\n\t\t\t({ ...acc, [field.name]: this.formControls[field.name].value }),\r\n\t\t\t{}\r\n\t\t);\r\n\t\tconsole.warn('entityForm', this.entityForm, this.formControls, newInfo);\r\n\t\tthis.selectedItem = { id: this.selectedItem.id, ...newInfo };\r\n\t\tthis.securityAdminService.saveItem(this.saveEntityEndpoint, { id: this.selectedItem.id, ...newInfo }).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tif (this.entity === 'Role') {\r\n\t\t\t\t\t\tif (this.selectedItem.resources != null) {\r\n\t\t\t\t\t\t\tthis.securityAdminService.assignResource(this.selectedItem.id, this.selectedItem.resources).subscribe({\r\n\t\t\t\t\t\t\t\tnext: (assignResponse: any) => {\r\n\t\t\t\t\t\t\t\t\tif (assignResponse.reponseCode === 200) {\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tthis.selectItem(response.load);\r\n\t\t\t\t\t\t\t\t\tthis.snackbar.success(`${this.translatePipe.transform(this.entityName)} ${this.selectedItem.id === null ? 'Creado' : 'Guardado'}`);\r\n\t\t\t\t\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.selectedItem.menuOptions != null) {\r\n\t\t\t\t\t\t\tthis.securityAdminService.assignOptions(this.selectedItem.id, this.selectedItem.menuOptions).subscribe({\r\n\t\t\t\t\t\t\t\tnext: (assignResponse: any) => {\r\n\t\t\t\t\t\t\t\t\tif (assignResponse.reponseCode === 200) {\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tthis.selectItem(response.load);\r\n\t\t\t\t\t\t\t\t\tthis.snackbar.success(`${this.translatePipe.transform(this.entityName)} ${this.selectedItem.id === null ? 'Creado' : 'Guardado'}`);\r\n\t\t\t\t\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.selectItem(response.load);\r\n\t\t\t\t\t\tthis.snackbar.success(`${this.translatePipe.transform(this.entityName)} ${this.selectedItem.id === null ? 'Creado' : 'Guardado'}`);\r\n\t\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: (error) => {\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\tthis.snackbar.warning('Ha ocurrido un error al guardar');\r\n\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t}\r\n\t\t});;\r\n\t}\r\n\r\n\tget userLabel() {\r\n\t\treturn (item: any) => `${item.name} ${item.lastname ?? ''}`\r\n\t}\r\n\r\n\tresetForm(event?: any) {\r\n\t\tthis.selectItem({ id: null, ...this.entityForm.reduce((acc: any, curr: any) => curr.defaultValue !== undefined ? ({ ...acc, [curr.name]: curr.defaultValue }) : ({ ...acc }), {}) });\r\n\t}\r\n\r\n\tget currentCustomerUsers() {\r\n\t\treturn this.selectedItem.users ?? [];\r\n\t}\r\n\r\n\tget userCustomersEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.customersByUser ?? { url: '' };\r\n\t}\r\n\r\n\tget userAgenciesEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.agenciesByUser ?? { url: '' };\r\n\t}\r\n\r\n\tget customerUsersEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.usersByCustomer;\r\n\t}\r\n\r\n\tget customerRolesEndpoint() {\r\n\t\treturn (typeof(this.selectedItem.id) === 'number') ? this.securityAdminService.endpoints.rolesByCustomer?.url + '?customerId=' + this.selectedItem.id : '';\r\n\t}\r\n\r\n\tget agencyListEndpoint2() {\r\n\t\treturn this.securityAdminService.endpoints.listAllAgencies ?? { url: '' };\r\n\t}\r\n\r\n\r\n\tget roleUsersEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.usersByRole;\r\n\t}\r\n\r\n\tget roleCustomersEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.customersByRole;\r\n\t}\r\n\r\n\tassignCustomerToUser(customer: any) {\r\n\t\tthis.selectItem({ ...this.selectedItem, customer });\r\n\t}\r\n\r\n\tassignCustomersAndAgencies(items: { primaryItems: any[], secondaryItems: any[] }) {\r\n\t\tthis.snackbar.info('Guardando...');\r\n\t\tthis.securityAdminService.assignUserCustomerAndAgencies(this.selectedItem.id, items.primaryItems, items.secondaryItems).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Empresas/agencias actualizadas');\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar Empresas')\r\n\t\t\t\t}\r\n\t\t\t}, error: () => this.snackbar.warning('Ocurrió un error al asignar Empresas')\r\n\r\n\t\t})\r\n\t\t// let customers = items.primaryItems;\r\n\t\t// let agencies = items.secondaryItems;\r\n\t\t// console.log('try to save', customers, agencies, this.selectedItem);\r\n\t\t// let successCustomers = false;\r\n\t\t// this.snackbar.info('Guardando...');\r\n\t\t// this.securityAdminService.assignUserCustomers(this.selectedItem.id, customers).subscribe({\r\n\t\t// \tnext: (response: any) => {\r\n\t\t// \t\tif (response.responseCode === 200) {\r\n\t\t// \t\t\tif (agencies?.length > 0) {\r\n\t\t// \t\t\t\tthis.securityAdminService.assignUserAgencies(this.selectedItem.id, agencies).subscribe({\r\n\t\t// \t\t\t\t\tnext: (response: any) => {\r\n\t\t// \t\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t// \t\t\t\t\t\t\tthis.snackbar.success('Empresas y agencias asignadas');\r\n\t\t// \t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t},\r\n\t\t// \t\t\t\t\terror: _=> this.snackbar.warning('Ha ocurrido un error al asignar Agencias')\r\n\t\t// \t\t\t\t});\r\n\t\t// \t\t\t} else {\r\n\r\n\t\t// \t\t\t}\r\n\t\t// \t\t} else {\r\n\t\t// \t\t\tthis.snackbar.warning('Ha ocurrido un error al asignar Empresas')\r\n\t\t// \t\t}\r\n\t\t// \t}, error: _=> this.snackbar.warning('Ha ocurrido un error al asignar Empresas')\r\n\t\t// });\r\n\t}\r\n\r\n\tassignUsersToCustomer(users: any[]) {\r\n\t\t// this.selectedItem = { ...this.selectedItem, users: users };\r\n\t\t// this.saveItem();\r\n\t\tthis.snackbar.info('Guardando...');\r\n\t\tthis.securityAdminService.assignCustomerUsers(this.selectedItem, users).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Usuarios asignados');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ha ocurrido un error al asignar usuarios')\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: () => this.snackbar.warning('Ha ocurrido un error al asignar usuarios')\r\n\t\t})\r\n\t}\r\n\r\n\tassignUsersToRole(users: any[]) {\r\n\t\tthis.snackbar.info('Guardando...')\r\n\t\tthis.securityAdminService.assignRoleUsers(this.selectedItem.id, users).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Usuarios asignados');\r\n\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar usuarios.');\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: () => this.snackbar.warning('Ocurrió un error al asignar usuarios.')\r\n\t\t});\r\n\t}\r\n\r\n\tassignCustomersToRole(customers: any[]) {\r\n\t\tthis.snackbar.info('Guardando...')\r\n\t\tthis.securityAdminService.assignRoleCustomers(this.selectedItem.id, customers).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Empresas asignadas');\r\n\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar empresas.');\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: () => this.snackbar.warning('Ocurrió un error al asignar empresas.')\r\n\t\t});\r\n\t}\r\n\tget mainTabTitle() { return `Edit ${this.listTitle}` }\r\n\r\n\r\n}\r\n\r\nfunction parseType(value: any, type?: string) {\r\n\tswitch (type) {\r\n\t\tcase 'checkbox':\r\n\t\t\treturn String(value).toLowerCase() === \"true\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\treturn value\r\n\t}\r\n}\r\n","<lib-items-viewer [listEndpoint]=\"entityListEndpoint\" [itemsEndpoint]=\"entityItemsEndpoint\" [listRequestMapping]=\"entityListRequestMapping\"\r\n\t(selectItem)=\"selectItem($event)\" [showOrderButtons]=\"true\" [showCreateButton]=\"!disableCreation\"\r\n\t[uiComponentInputs]=\"uiComponentInputs\" [entityUiComponent]=\"entityUiComponent\" [items]=\"entityList\"\r\n\t[title]=\"listTitle\" [icon]=\"listIcon\" [theme]=\"theme\" [itemIcon]=\"listItemIcon\" [reloadSubject]=\"reloadSubject\"\r\n\t(addClick)=\"resetForm($event)\" [selectedItem]=\"selectedItem\" [searchFilter]=\"searchFilter\"\r\n\t[orderProperties]=\"mainListOrderProperties\" [pageSize]=\"50\">\r\n</lib-items-viewer>\r\n<div [attr.data-theme]=\"theme\" class=\"tabs-container\">\r\n\t<mat-tab-group>\r\n\t\t<mat-tab [label]=\"mainTabTitle | translate\">\r\n\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t<ng-container *ngIf=\"disableForm\">\r\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a customer to edit'}\">\r\n\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<lib-form *ngIf=\"!disableForm\" [form]=\"entityForm\" [formControls]=\"formControls\"\r\n\t\t\t\t\t[formActions]=\"entityActions\" [theme]=\"theme\" [title]=\"formTitle\" (saveClick)=\"saveItem()\" icon=\"menu-edit\"\r\n\t\t\t\t\t[entityObject]=\"selectedItem\"></lib-form>\r\n\t\t\t</div>\r\n\t\t</mat-tab>\r\n\t\t<ng-container [ngSwitch]=\"entity\">\r\n\t\t\t<ng-container *ngSwitchCase=\"'User'\">\r\n\t\t\t\t<mat-tab [label]=\"'Customers' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!isItemSelected\">\r\n\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t*ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a user to assign customers'}\">\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t<lib-nested-items-selector [hidden]=\"!isItemSelected\" [selectionEndpoint]=\"userCustomersEndpoint\"\r\n\t\t\t\t\t\t\t\t\t[secondSelectionEndpoint]=\"userAgenciesEndpoint\" [reloadSelectionSubject]=\"userSubject\"\r\n\t\t\t\t\t\t\t\t\t[listEndpoint]=\"customerListEndpoint\" [listTitle]=\"'Available Customers' | translate\"\r\n\t\t\t\t\t\t\t\t\t[secondListEndpoint]=\"agencyListEndpoint\" [secondListTitle]=\"'Available Agencies' | translate\"\r\n\t\t\t\t\t\t\t\t\t[theme]=\"theme\" [selectionTitle]=\"'Empresas y agencias'\"\r\n\t\t\t\t\t\t\t\t\t(saveClick)=\"assignCustomersAndAgencies($event)\">\r\n\t\t\t\t\t\t\t\t</lib-nested-items-selector>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t</mat-tab>\r\n\t\t\t\t<mat-tab [label]=\"'Roles' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<lib-items-viewer [showPaginator]=\"false\" [externalLoading]=\"loadingUserRoles\"\r\n\t\t\t\t\t\t\t\t\t[entityUiComponent]=\"roleCard\" [items]=\"userAssignedRoles\" [theme]=\"theme\"\r\n\t\t\t\t\t\t\t\t\t[title]=\"'Assigned Roles (User)' | translate\" [showPaginator]=\"false\"></lib-items-viewer>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<lib-items-viewer [showPaginator]=\"false\" [externalLoading]=\"loadingUserCustomerRoles\"\r\n\t\t\t\t\t\t\t\t\t[entityUiComponent]=\"roleCard\" [items]=\"userCustomerAssignedRoles\" [theme]=\"theme\"\r\n\t\t\t\t\t\t\t\t\t[title]=\"'Assigned Roles (Customer)' | translate\" [showPaginator]=\"false\"></lib-items-viewer>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-container *ngSwitchCase=\"'Customer'\">\r\n\t\t\t\t<mat-tab [label]=\"'Users' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!isItemSelected\">\r\n\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t*ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a customer to assign users'}\">\r\n\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t<lib-items-selector *ngIf=\"!isItemSelected\" [hidden]=\"!isItemSelected\" [selectionEndpoint]=\"customerUsersEndpoint\"\r\n\t\t\t\t\t\t\t\t\t[listEndpoint]=\"userListEndpoint\" [items]=\"userList\" [reloadSelectionSubject]=\"customerSubject\"\r\n\t\t\t\t\t\t\t\t\t[listTitle]=\"'Available Users' | translate\" [theme]=\"theme\" [itemLabelMap]=\"userLabel\"\r\n\t\t\t\t\t\t\t\t\t[selectionTitle]=\"'Selected Users' | translate\" (saveClick)=\"assignUsersToCustomer($event)\">\r\n\t\t\t\t\t\t\t\t</lib-items-selector>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t\t<mat-tab [label]=\"'Roles' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<lib-items-viewer [listEndpoint]=\"customerRolesEndpoint\" [entityUiComponent]=\"roleCard\"\r\n\t\t\t\t\t\t\t\t\t[items]=\"roleList\" [theme]=\"theme\" [title]=\"'Assigned Roles' | translate\"\r\n\t\t\t\t\t\t\t\t\t[showPaginator]=\"false\"></lib-items-viewer>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-container *ngSwitchCase=\"'Role'\">\r\n\t\t\t\t<mat-tab [label]=\"'Users' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!isItemSelected\">\r\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a role to assign users'}\">\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t<lib-items-selector *ngIf=\"!isItemSelected\" [hidden]=\"!isItemSelected\" [reloadSelectionSubject]=\"roleSubject\"\r\n\t\t\t\t\t\t\t\t\t[listEndpoint]=\"userListEndpoint\" [selectionEndpoint]=\"roleUsersEndpoint\"\r\n\t\t\t\t\t\t\t\t\t[listTitle]=\"'Available Users' | translate\" [theme]=\"theme\"\r\n\t\t\t\t\t\t\t\t\t[itemLabelMap]=\"userLabel\"\r\n\t\t\t\t\t\t\t\t\t[selectionTitle]=\"'Selected Users' | translate\" (saveClick)=\"assignUsersToRole($event)\">\r\n\r\n\t\t\t\t\t\t\t\t</lib-items-selector>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t\t<mat-tab [label]=\"'Customers' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!isItemSelected\">\r\n\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t*ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a role to assign customers'}\">\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t<lib-items-selector *ngIf=\"!isItemSelected\" [hidden]=\"!isItemSelected\" [reloadSelectionSubject]=\"roleSubject\"\r\n\t\t\t\t\t\t\t\t\t[listEndpoint]=\"customerListEndpoint\" [selectionEndpoint]=\"roleCustomersEndpoint\"\r\n\t\t\t\t\t\t\t\t\t[listTitle]=\"'Available Customers' | translate\" [theme]=\"theme\"\r\n\t\t\t\t\t\t\t\t\t[selectionTitle]=\"'Selected Customers' | translate\" (saveClick)=\"assignCustomersToRole($event)\">\r\n\t\t\t\t\t\t\t\t</lib-items-selector>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t</ng-container>\r\n\r\n\t\t</ng-container>\r\n\t</mat-tab-group>\r\n\r\n</div>\r\n\r\n<ng-template #placeholder let-msg>\r\n\t<div class=\"placeholder\">\r\n\t\t<i class=\"menu-info\"></i>\r\n\t\t<span>{{msg | translate}}</span>\r\n\t</div>\r\n</ng-template>","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormField } from '../interfaces/interfaces';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { debounceTime } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'lib-form-2',\r\n\ttemplateUrl: './form-2.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './form-2.component.scss']\r\n})\r\nexport class Form2Component implements OnInit, OnChanges {\r\n\t@Input() form: FormField[] = [];\r\n\t@Input() editElement: any;\r\n\tcontrols: {[key:string]:FormControl} = {};\r\n\tgroup?: FormGroup;\r\n\t@Output() formChange = new EventEmitter<FormGroup>;\r\n\tget hasRadioButtons() { return this.form.some(field => field.type === 'radiobutton'); }\r\n\tget hasCheckBoxes() { return this.form.some(field => field.type === 'checkbox'); }\r\n\t@Input() theme: string = 'default';\r\n\r\n\tngOnInit(){\r\n\t\tthis.controls = this.form.reduce((object, field) => ({ ...object, [field.name]: new FormControl<any>(null) }), {})\r\n\t\tthis.group = new FormGroup(this.controls);\r\n\t\tthis.group.valueChanges.pipe(debounceTime(300)).subscribe(newValue => {\r\n\t\t\tthis.formChange.emit(newValue);\r\n\t\t})\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tlet {editElement} = changes;\r\n\t\tif (editElement.currentValue){\r\n\t\t\tfor (let key in editElement.currentValue) {\r\n\t\t\t\tthis.controls[key]?.patchValue(editElement.currentValue[key]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetFormInputs(types: string[]) {\r\n\t\treturn this.form.filter(field => types.includes(field.type));\r\n\t}\r\n\r\n\tgetFormControl(field: any) {\r\n\t\treturn this.controls[field.name];\r\n\t}\r\n\r\n\thtmlEditorConfig: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: false,\r\n placeholder: \"\",\r\n translate: \"no\",\r\n defaultFontName: \"Roboto\",\r\n defaultFontSize: \"2\",\r\n fonts: [\r\n { class: \"roboto\", name: \"Roboto\" },\r\n { class: \"arial\", name: \"Arial\" },\r\n { class: \"times-new-roman\", name: \"Times New Roman\" },\r\n { class: \"calibri\", name: \"Calibri\" },\r\n { class: \"comic-sans-ms\", name: \"Comic Sans MS\" },\r\n ],\r\n customClasses: [\r\n {\r\n name: \"Primary Font Theme Color\",\r\n class: \"primary-font-color\",\r\n },\r\n {\r\n name: \"Title Text\",\r\n class: \"title-text\",\r\n tag: \"h3\",\r\n },\r\n ],\r\n };\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"form\">\r\n\t<div *ngIf=\"hasRadioButtons\">\r\n\t\t<div *ngFor=\"let radio of getFormInputs(['radiobutton'])\" class=\"radio\">\r\n\t\t\t<lib-radio-group ngDefaultControl [theme]=\"theme\" [label]=\"radio.label\" [formControl]=\"getFormControl(radio)\"\r\n\t\t\t\t[options]=\"radio.options ?? []\"></lib-radio-group>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div [style]=\"input.style\" *ngFor=\"let input of getFormInputs(['text', 'select'])\">\r\n\t\t<ng-container [ngSwitch]=\"input.type\">\r\n\t\t\t<lib-input *ngSwitchCase=\"'text'\" ngDefaultControl [name]=\"input.name\" [label]=\"input.label\" [theme]=\"theme\"\r\n\t\t\t\t[formControl]=\"getFormControl(input)\"></lib-input>\r\n\t\t\t<lib-select *ngSwitchCase=\"'select'\" ngDefaultControl [name]=\"input.name\" [label]=\"input.label\" [theme]=\"theme\"\r\n\t\t\t\t[formControl]=\"getFormControl(input)\" [options]=\"input.options ?? []\"\r\n\t\t\t\t[optionsEndpoint]=\"input.optionsEndpoint?.url ?? ''\"></lib-select>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"editor-container\" [style]=\"input.style\" *ngFor=\"let input of getFormInputs(['editor'])\">\r\n\t\t<div class=\"editor-wrapper\">\r\n\t\t\t<span>{{input.label}}</span>\r\n\t\t\t<angular-editor ngDEfaultControl [formControl]=\"getFormControl(input)\" [config]=\"htmlEditorConfig\"></angular-editor>\r\n\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<div *ngIf=\"hasCheckBoxes\" class=\"form\">\r\n\t<div *ngFor=\"let checkbox of getFormInputs(['checkbox'])\" [attr.data-theme]=\"theme\" class=\"checkbox\">\r\n\t\t<span>{{checkbox.label}}</span>\r\n\t\t<!-- <lib-checkbox-field [name]=\"checkbox.name\" [formControl]=\"checkbox.control\"></lib-checkbox-field> -->\r\n\t\t<!-- <mat-checkbox [checked]=\"checkbox.control.value\"></mat-checkbox> -->\r\n\t\t<lib-checkbox-field [name]=\"checkbox.name\" [control]=\"getFormControl(checkbox)\" />\r\n\t</div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { FormField } from '../interfaces/interfaces';\r\nimport { FormControl } from '@angular/forms';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\ninterface Module {\r\n\tid: number | null,\r\n\tname: string,\r\n\ticon?: string,\r\n\tdescription: string,\r\n\twelcomeMessage?: string,\r\n}\r\n\r\nconst moduleForm: FormField[] = [\r\n\t{ type: 'text', label: 'Nombre', name: 'name', style: { \"grid-column\": \"span 4\" } },\r\n\t{ type: 'text', label: 'Descripción', name: 'description', style: { \"grid-column\": \"span 4\" } },\r\n\t{ type: 'editor', label: 'Texto de bienvenida', name: 'welcomeMessage', style: { \"grid-column\": \"span 4\" } },\r\n]\r\n\r\n@Component({\r\n\tselector: 'lib-modules-admin',\r\n\ttemplateUrl: './modules-admin.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './modules-admin.component.scss']\r\n})\r\nexport class ModulesAdminComponent implements OnInit {\r\n\r\n\t@Input() theme: string = 'default';\r\n\tselectedModule: Module = { id: null, name: '', description: '' };\r\n\tloading: boolean = false;\r\n\tmodules: Module[] = [];\r\n\r\n\tmoduleForm = moduleForm;\r\n\tformValues: { [key: string]: any } = {};\r\n\r\n\tconstructor(private securityAdminService: SecurityAdminService, private snackbar: SnackbarService) {\r\n\t\t// this.theme = this.securityAdminService.theme;\r\n\t}\r\n\r\n\tloadModules() {\r\n\t\tthis.loading = true;\r\n\t\tthis.securityAdminService.getAppModules().subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.modules = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t},\r\n\t\t\terror: _ => { this.loading = false }\r\n\t\t})\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\t// this.formControls = this.moduleForm.reduce((object, field) => ({ ...object, [field.name]: new FormControl<any>(null) }), {});\r\n\t\tthis.loadModules();\r\n\t}\r\n\r\n\tactiveModule(module: Module) {\r\n\t\treturn module.id === this.selectedModule.id ? 'selected' : '';\r\n\t}\r\n\r\n\tget selectedModuleName() { return this.noSelection ? '' : `- ${this.selectedModule.name}` }\r\n\r\n\tget noSelection() { return this.selectedModule.id === null || this.selectedModule.id < 0 }\r\n\r\n\tget title() { return this.noSelection ? 'Create' : 'Edit' }\r\n\r\n\tselectModule(module: Module) {\r\n\t\tthis.selectedModule = module;\r\n\t\t// for (let key in module) {\r\n\t\t// \tthis.formControls[key].patchValue(module[key as keyof Module]);\r\n\t\t// }\r\n\t}\r\n\r\n\tnewModule() {\r\n\t\tthis.selectModule({ id: null, name: '', description: '', welcomeMessage: '' })\r\n\t}\r\n\r\n\tformChange(newValues: any) {\r\n\t\tthis.formValues = newValues;\r\n\t}\r\n\r\n\tsave() {\r\n\t\t// let newInfo: any = {}\r\n\t\tthis.snackbar.info('Guardando...');\r\n\t\t// for(let key in this.formControls) {\r\n\t\t// \tnewInfo [key] = this.formControls[key].value;\r\n\t\t// }\r\n\t\tthis.securityAdminService.saveModule({ ...this.selectedModule, ...this.formValues }).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.selectModule(response.load);\r\n\t\t\t\t\tthis.snackbar.success(`Módulo \"${this.formValues['name']}\" Guardado`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al guardar el módulo');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.loadModules();\r\n\r\n\t\t\t},\r\n\t\t\terror: (error) => this.snackbar.warning('Ocurrió un error al guardar el módulo')\r\n\t\t});\r\n\t}\r\n\r\n\tmoduleIcon(module: Module){\r\n\t\treturn Boolean(module.icon) ? module.icon : 'menu-default';\r\n\t}\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"list\">\r\n\t<div class=\"list-header\">\r\n\t\t<i class=\"menu-default\"></i>\r\n\t\t<span>{{'Modules' | translate}}</span>\r\n\t\t<button (click)=\"newModule()\">\r\n\t\t\t<i class=\"menu-plus\"></i>\r\n\t\t</button>\r\n\t</div>\r\n\t<div class=\"list-content\">\r\n\t\t<lib-loader type=\"bar\" [theme]=\"theme\" [loading]=\"loading\"></lib-loader>\r\n\t\t<span class=\"placeholder\" *ngIf=\"!(modules.length > 0)\"> No hay elementos </span>\r\n\t\t<div [class]=\"['module', activeModule(module)]\" *ngFor=\"let module of modules\" (click)=\"selectModule(module)\">\r\n\t\t\t<i [class]=\"[moduleIcon(module)]\"></i>\r\n\t\t\t<span class=\"module-name\">{{module.name}}</span>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" class=\"module-editor\">\r\n\t<div [class]=\"['editor-content', 'show']\">\r\n\t\t<div class=\"module-header\">\r\n\t\t\t<div class=\"module-title\">\r\n\t\t\t\t<i class=\"menu-edit\"></i>\r\n\t\t\t\t<span>{{title | translate}} {{'module' | translate}} {{selectedModuleName}}</span>\r\n\t\t\t</div>\r\n\t\t\t<button (click)=\"save()\" class=\"primary\">\r\n\t\t\t\t{{'Save' | translate}}\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div class=\"form\">\r\n\t\t\t<lib-form-2 [editElement]=\"selectedModule\" [theme]=\"theme\" [form]=\"moduleForm\" (formChange)=\"formChange($event)\"></lib-form-2>\r\n\t\t\t<!-- <lib-form [form]=\"moduleForm\" [theme]=\"theme\"></lib-form> -->\r\n\t\t</div>\r\n\t</div>\r\n\t<!-- <ng-container *ngIf=\"noSelection\">\r\n\t\t<div class=\"placeholder\">\r\n\t\t\t<i class=\"menu-info\"></i>\r\n\t\t\t<span>Selecciona un módulo para ver su configuración</span>\r\n\t\t</div>\r\n\t</ng-container> -->\r\n</div>","import { Component, Inject, Input, LOCALE_ID, OnInit, Type } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { BasicItemComponent } from '../basic-item/basic-item.component';\r\nimport { ResourceActionsComponent } from '../resource-actions/resource-actions.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AssignRolesComponent } from '../assign-roles/assign-roles.component';\r\nimport { FormField, SecurityEndpoints } from '../interfaces/interfaces';\r\nimport { MenuAdminComponent } from '../menu-admin/menu-admin.component';\r\nimport { EntityAdminComponent } from '../entity-admin/entity-admin.component';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\nimport { Subject } from 'rxjs';\r\nimport { ModulesAdminComponent } from '../modules-admin/modules-admin.component';\r\nimport { TranslatePipe } from '../translate.pipe';\r\n\r\nconst defaultUserForm = [\r\n\t{ label: 'Name', control: new FormControl<string>(''), name: 'name', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Last Name', control: new FormControl<string>(''), name: 'lastName', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Address', control: new FormControl<string>(''), name: 'address', type: 'text', style: { \"grid-column\": \"span 4\" } },\r\n\t{ label: 'Country', control: new FormControl<string>(''), name: 'country', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'City', control: new FormControl<string>(''), name: 'city', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Postal Code', control: new FormControl<string>(''), name: 'postalCode', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Email', control: new FormControl<string>(''), name: 'email', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Phone Indicative', control: new FormControl<string>(''), name: 'phoneIndicative', type: 'select', options: [...Array.from({ length: 5 }).map((_, i) => ({ label: `phone ${i}` }))], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Client', control: new FormControl<string>(''), name: 'proposedCustomer', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Company Name', control: new FormControl<string>(''), name: 'companyName', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Active', control: new FormControl<boolean>(false), name: 'active', type: 'checkbox', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Two Factor Authentication', control: new FormControl<boolean>(false), name: 'twoFactorAuthentication', type: 'checkbox', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Token Expires', control: new FormControl<boolean>(false), name: 'tokenExpires', type: 'checkbox', style: { \"grid-column\": \"span 2\" } }\r\n];\r\n\r\nconst defaultCustomerForm = [\r\n\t{ label: 'Name', control: new FormControl<string>(''), name: 'name', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Short Name', control: new FormControl<string>(''), name: 'shortName', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Customer Code', control: new FormControl<string>(''), name: 'customerCode', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Contact Full Name', control: new FormControl<string>(''), name: 'contactFullName', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Type', control: new FormControl<string>(''), name: 'type', type: 'select', options: [], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Contact Email', control: new FormControl<string>(''), name: 'contactEmail', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Country', control: new FormControl<string>(''), name: 'country', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'State', control: new FormControl<string>(''), name: 'state', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'City', control: new FormControl<string>(''), name: 'city', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Zip Code', control: new FormControl<string>(''), name: 'zipCode', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Address 1', control: new FormControl<string>(''), name: 'address1', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Address 2', control: new FormControl<string>(''), name: 'address2', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'License Type', control: new FormControl<string>(''), name: 'licenseType', type: 'select', options: [], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'License Number', control: new FormControl<string>(''), name: 'licenseNumber', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Payment Type', control: new FormControl<string>(''), name: 'paymentType', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Start Date', control: new FormControl<string>(''), name: 'startDate', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'End Date', control: new FormControl<string>(''), name: 'endDate', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Status', control: new FormControl<string>(''), name: 'status', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Terms', control: new FormControl<string>(''), name: 'terms', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n];\r\n\r\nconst defaultRoleForm = [\r\n\t{ label: 'Role Type', control: new FormControl<any>(''), type: 'radiobutton', name: 'roleType', options: ['Básico', 'Admin', 'Super Admin'] },\r\n\t{ label: 'Role Name', control: new FormControl<string>(''), name: 'name', type: 'text', style: { \"grid-column\": \"span 4\" } },\r\n\t{ label: 'Role Description', control: new FormControl<string>(''), name: 'description', type: 'text', style: { \"grid-column\": \"span 4\" } },\r\n]\r\n\r\n\r\n@Component({\r\n\tselector: 'lib-security-admin',\r\n\ttemplateUrl: './security-admin.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './security-admin.component.scss'],\r\n})\r\nexport class SecurityAdminComponent implements OnInit {\r\n\ttitle: string = \"security\";\r\n\t@Input() theme: string = 'default';\r\n\t@Input() securityEndpoints: SecurityEndpoints = {};\r\n\t@Input() language: string = 'en';\r\n\t@Input() menuOptionFormComponent?: Type<any>;\r\n\t@Input() userUiComponent: Type<any> = BasicItemComponent;\r\n\t@Input() customerUiComponent = BasicItemComponent;\r\n\t@Input() roleUiComponent = BasicItemComponent;\r\n\t@Input() userForm: FormField[] = defaultUserForm;\r\n\t@Input() customerForm: FormField[] = defaultCustomerForm;\r\n\t@Input() roleForm: FormField[] = defaultRoleForm;\r\n\torderViewBy: FormControl = new FormControl<any>({ value: localStorage.getItem(\"/security/lastView\") ?? 'USERS' });\r\n\tresourcesField = { label: '', dropLabel: 'Drag Resources Here', name: 'resources', type: 'dragdrop', dragTitle: 'Resources', setupUi: ResourceActionsComponent, optionsEndpoint: this.securityEndpoints.listResources ?? '' };\r\n\tmenuOptionsField = { label: '', dropLabel: 'Drag Menu Options Here', name: 'menuOptions', type: 'dragdropMenuOptions', dragTitle: 'Menu Options', setupUi: ResourceActionsComponent, optionsEndpoint: this.securityEndpoints.parentoptions ?? '' };\r\n\tresetItemSelected = new Subject<boolean>;\r\n\r\n\tassignRoles = (entityType: \"Customer\" | \"User\") => {\r\n\t\tthis.dialog.open(AssignRolesComponent, {\r\n\t\t\tdata: { theme: this.theme, entityType }\r\n\t\t}).afterClosed().subscribe(result => {\r\n\t\t});\r\n\t}\r\n\r\n\tuserActions = [{ label: 'Assign Roles', callback: () => this.assignRoles(\"User\") }]\r\n\tcustomerActions = [{ label: 'Assign Roles', callback: () => this.assignRoles(\"Customer\") }];\r\n\troleActions = [];\r\n\tviewOptions: any[] = [];\r\n\r\n\tsetupAdminSevice(){\r\n\t\tthis.securityAdminService.setSecurityEndpoints(this.securityEndpoints);\r\n\t\tthis.securityAdminService.setTheme(this.theme);\r\n\t\tthis.securityAdminService.setMenuOptionFormComponent(this.menuOptionFormComponent);\r\n\t\tthis.securityAdminService.setLanguage(this.language);\r\n\t\tthis.snackbar.setTheme(this.theme);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.setupAdminSevice();\r\n\t\tlet commonInputs = {\r\n\t\t\troleListEndpoint: this.securityEndpoints.listRoles ?? {url: ''},\r\n\t\t\tcustomerListEndpoint: this.securityEndpoints.listCustomers ?? {url: ''},\r\n\t\t\tuserListEndpoint: this.securityEndpoints.listUsers ?? {url: ''},\r\n\t\t\tagencyListEndpoint: this.securityEndpoints.agencyList ?? {url:''},\r\n\t\t\t// userList: this.userList,\r\n\t\t\t// customerList: this.customerList,\r\n\t\t\t// roleList: this.roleList,\r\n\t\t\tresetItemSelected: this.resetItemSelected\r\n\t\t}\r\n\t\tthis.viewOptions = [\r\n\t\t\t{\r\n\t\t\t\tlabel: \"USERS\", value: 'USERS', ui: EntityAdminComponent, inputs: {\r\n\t\t\t\t\t...commonInputs,\r\n\t\t\t\t\tlistTitle: \"Users\",\r\n\t\t\t\t\tentityName: \"User\",\r\n\t\t\t\t\tentity: \"User\",\r\n\t\t\t\t\tentityForm: this.userForm,\r\n\t\t\t\t\tentityActions: this.userActions,\r\n\t\t\t\t\tlistIcon: \"menu-users\",\r\n\t\t\t\t\tlistItemIcon: \"menu-user\",\r\n\t\t\t\t\tentityListEndpoint: this.securityEndpoints.listUsers?.url ?? '',\r\n\t\t\t\t\tentityItemsEndpoint: this.securityEndpoints.listUsers,\r\n\t\t\t\t\tentityUiComponent: this.userUiComponent,\r\n\t\t\t\t\tsaveEntityEndpoint: this.securityEndpoints.saveUser?.url ?? '',\r\n\t\t\t\t\treloadSubject: this.securityAdminService.userReload,\r\n\t\t\t\t\tsearchFilter: (user: any) => { return [user.name, user.lastname, user.customer?.name, user.email] }\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: \"CLIENTS\", value: 'CUSTOMERS', ui: EntityAdminComponent, inputs: {\r\n\t\t\t\t\t...commonInputs,\r\n\t\t\t\t\tlistTitle: \"Customers\",\r\n\t\t\t\t\tentityName: \"Customer\",\r\n\t\t\t\t\tentity: \"Customer\",\r\n\t\t\t\t\tentityForm: this.customerForm,\r\n\t\t\t\t\tentityActions: this.customerActions,\r\n\t\t\t\t\tlistIcon: \"menu-domain\",\r\n\t\t\t\t\tentityListEndpoint: this.securityEndpoints.listCustomers?.url ?? '',\r\n\t\t\t\t\tentityItemsEndpoint: this.securityEndpoints.listCustomers,\r\n\t\t\t\t\tentityUiComponent: this.customerUiComponent,\r\n\t\t\t\t\tentityListRequestMapping: this.securityAdminService.endpoints.listCustomers?.responseMapping,\r\n\t\t\t\t\tsaveEntityEndpoint: this.securityEndpoints.saveCustomer?.url ?? '',\r\n\t\t\t\t\treloadSubject: this.securityAdminService.customerReload\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: \"ROLES\", value: 'ROLES', ui: EntityAdminComponent, inputs: {\r\n\t\t\t\t\t...commonInputs,\r\n\t\t\t\t\tlistTitle: \"Roles\",\r\n\t\t\t\t\tentityName: \"Role\",\r\n\t\t\t\t\tentity: \"Role\",\r\n\t\t\t\t\tentityForm: [...this.roleForm, { ...this.resourcesField, optionsEndpoint: this.securityEndpoints.listResources ?? '', selectionEndpoint: this.securityEndpoints.resourcesByRole ?? '' },\r\n\t\t\t\t\t\t{ ...this.menuOptionsField, optionsEndpoint: this.securityEndpoints.parentoptions ?? '', selectionEndpoint: this.securityEndpoints.optionsbyrole ?? '' }\r\n\t\t\t\t\t],\r\n\t\t\t\t\tentityActions: this.roleActions,\r\n\t\t\t\t\tlistIcon: \"menu-roles\",\r\n\t\t\t\t\tentityListEndpoint: this.securityEndpoints.listRoles?.url ?? '',\r\n\t\t\t\t\tentityItemsEndpoint: this.securityEndpoints.listRoles,\r\n\t\t\t\t\tentityUiComponent: this.roleUiComponent,\r\n\t\t\t\t\tsaveEntityEndpoint: this.securityEndpoints.saveRole?.url ?? '',\r\n\t\t\t\t\treloadSubject: this.securityAdminService.roleReload,\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{ label: \"MENU\", value: 'MENU', ui: MenuAdminComponent, inputs: {} },\r\n\t\t\t{ label: \"MODULES\", value: 'MODULES', ui: ModulesAdminComponent, inputs: {} },\r\n\t\t];\r\n\t}\r\n\r\n\tgetViewInputs(view: any) {\r\n\t\treturn { ...view.inputs, theme: this.theme }\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic dialog: MatDialog,\r\n\t\tprivate securityAdminService: SecurityAdminService,\r\n\t\tprivate snackbar: SnackbarService) {\r\n\t\tthis.orderViewBy.valueChanges.subscribe(newValue => {\r\n\t\t\tthis.resetItemSelected.next(true);\r\n\t\t\tlocalStorage.setItem('/security/lastView', newValue.value);\r\n\t\t});\r\n\t}\r\n\r\n\tclearValueSelected($event: any) {\r\n\r\n\r\n\t}\r\n\r\n\r\n}\r\n","<div class=\"user-mapping-body\">\r\n <div class=\"header-user-title-config\">\r\n <!-- <span>{{title | translate}}</span> -->\r\n </div>\r\n <div class=\"order-view-options-container\">\r\n <!-- <div class=\"view-title\">\r\n <span>Ver por</span>\r\n </div> -->\r\n <div class=\"radio-container\">\r\n <lib-radio-group ngDefaultControl [formControl]=\"orderViewBy\" [theme]=\"theme\" [optionClass]=\"'white'\"\r\n [options]=\"viewOptions\"></lib-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"current-view-container\">\r\n\t\t<ng-container *ngFor=\"let view of viewOptions\">\r\n\t\t\t<ng-container *ngIf=\"orderViewBy.value.value===view.value\">\r\n\t\t\t\t<ng-container *ngComponentOutlet=\"view.ui; inputs: getViewInputs(view)\">\r\n\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n </div>\r\n</div>","export const menuData = {\r\n categories: [\r\n {\r\n id: 3,\r\n parentId: null,\r\n label: 'DOT Operations',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n parentId: null,\r\n label: 'DOT Operations 2',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 5,\r\n parentId: null,\r\n label: 'DOT Operations 2',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n parentId: null,\r\n label: 'DOT Operations 2',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 7,\r\n parentId: null,\r\n label: 'DOT Operations 2',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n};\r\n\r\nexport const dropdownRecentOptions = [\r\n {\r\n id: 0,\r\n label: 'dashboard',\r\n icon: 'brasilia-dashboard',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 1,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 2,\r\n label: 'dashboard',\r\n icon: 'brasilia-dashboard',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 3,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 4,\r\n label: 'dashboard',\r\n icon: 'brasilia-dashboard',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 5,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 6,\r\n label: 'dashboard',\r\n icon: 'brasilia-dashboard',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 7,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 8,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 9,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 10,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 11,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n];\r\n\r\nexport const dropdownNotificationOptions = [\r\n {\r\n id: 0,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 1,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 2,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 3,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 4,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 5,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 6,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n];\r\n\r\nexport const dropdownCompaniesOptions = [\r\n {\r\n id: 0,\r\n name: \"Expreso Brasilia\",\r\n icon: \"brasilia-seagull\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 1,\r\n name: \"Unitransco\",\r\n icon: \"brasilia-unitransco\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 2,\r\n name: \"Lorem\",\r\n icon: \"brasilia-lorem\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 3,\r\n name: \"Lorem\",\r\n icon: \"brasilia-lorem\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 4,\r\n name: \"Lorem\",\r\n icon: \"brasilia-lorem\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n }\r\n]","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class SecurityServices {\r\n\r\n static readonly HISTORY = '/security/secure/gethistory';\r\n static readonly MODULES = '/security/secure/modulesbyuser';\r\n static readonly MODULE_OPTION = '/security/secure/optionsbymodule';\r\n static readonly COMPANIES_INFO = '/security/secure/getCompaniesInfo';\r\n static readonly VERIFY_AUTH = '/security/secure/validatesession';\r\n static readonly RESOURCES_BY_USER = '/security/secure/resourcesbyuser';\r\n static readonly LOGOUT = '/security/secure/logOut';\r\n static readonly SAVE_HISTORY = '/security/secure/savehistory';\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n\r\n getHistory(baseUrl:string){\r\n return this.http.get(baseUrl + SecurityServices.HISTORY);\r\n }\r\n \r\n getModules(baseUrl:string){\r\n return this.http.get(baseUrl + SecurityServices.MODULES);\r\n }\r\n \r\n menuModuleSelected(baseUrl:string,appId: any) {\r\n const params = new URLSearchParams();\r\n params.append('appId', appId);\r\n return this.http.get(baseUrl + SecurityServices.MODULE_OPTION + '?' + params.toString());\r\n }\r\n\r\n getCompaniesInfo(baseUrl:string) {\r\n return this.http.get(baseUrl + SecurityServices.COMPANIES_INFO);\r\n }\r\n\r\n isAuthenticated(baseUrl:string){\r\n return this.http.get(baseUrl + SecurityServices.VERIFY_AUTH);\r\n }\r\n\r\n getResourcesByUser(baseUrl:string){\r\n return this.http.get(baseUrl + SecurityServices.RESOURCES_BY_USER);\r\n }\r\n\r\n logOut(baseUrl:string){\r\n return this.http.post(baseUrl + SecurityServices.LOGOUT,null);\r\n }\r\n\r\n saveHistory(baseUrl:string,option:any){\r\n return this.http.post(baseUrl + SecurityServices.SAVE_HISTORY,option);\r\n }\r\n\r\n }","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\r\n\r\nexport interface OptionDropdown {\r\n id: number;\r\n label: string;\r\n icon: string;\r\n date: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lib-recents-dropdown',\r\n templateUrl: './recents-dropdown.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./recents-dropdown.component.scss'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })), // Use 'visibility' to remove the element from interaction when not visible\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ]\r\n})\r\nexport class RecentsDropdownComponent implements OnInit {\r\n @Input() options: any[] = [];\r\n @Output() optionSelected: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n isOpen: boolean = false;\r\n selectedOption: OptionDropdown | null = null;\r\n fadeInOut: string = 'out';\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n \r\n ngOnInit(): void {\r\n this.selectedOption = {\r\n id: 0,\r\n label: 'Recientes',\r\n icon: 'brasilia-recents',\r\n date: '',\r\n };\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onClick(targetElement: HTMLElement) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.isOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n toggleDropdown(): void {\r\n this.isOpen = !this.isOpen;\r\n this.fadeInOut = this.isOpen ? 'in' : 'out';\r\n }\r\n\r\n selectOption(option: any): void {\r\n this.selectedOption = option;\r\n this.toggleDropdown();\r\n this.optionSelected.emit(option);\r\n }\r\n\r\n toggleOverlayHandler(event: MouseEvent): void {\r\n // Check if the click is outside the dropdown menu\r\n if (\r\n event.target instanceof Element &&\r\n !event.target.classList.contains('dropdown-menu')\r\n ) {\r\n this.toggleDropdown();\r\n }\r\n }\r\n\r\n handleDropdownClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n }\r\n\r\n}\r\n","<!-- dropdown.component.html -->\r\n<div class=\"dropdown\">\r\n <button class=\"dropdown-toggle\" (click)=\"toggleDropdown()\">\r\n <span class=\"selected-option\" *ngIf=\"selectedOption\">\r\n <span class=\"icon\" [ngClass]=\"selectedOption.icon\"></span>\r\n <span class=\"label\">{{ selectedOption.label }}</span>\r\n </span>\r\n <span\r\n class=\"arrows\"\r\n [ngClass]=\"isOpen ? 'brasilia-arrowUp1' : 'brasilia-arrowDown1'\"\r\n ></span>\r\n </button>\r\n\r\n <div\r\n class=\"dropdown-recent-overlay\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"toggleOverlayHandler($event)\"\r\n ></div>\r\n\r\n <div\r\n class=\"dropdown-menu\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"handleDropdownClick($event)\"\r\n >\r\n <div class=\"dropdown-recent\">\r\n <div class=\"notification-container\">\r\n <span class=\"brasilia-recents icon\"></span>\r\n <span>Recientes</span>\r\n </div>\r\n <span\r\n (click)=\"toggleDropdown()\"\r\n class=\"brasilia-close1 close-icon\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"options-container\">\r\n <div\r\n class=\"options\"\r\n *ngFor=\"let option of options; let i = index\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <div class=\"dropdown-content\">\r\n <span class=\"number\">{{ i + 1 }}</span>\r\n <span [ngClass]=\"option.icon\"></span>\r\n <div class=\"dropdown-option\">\r\n <span class=\"label\">{{ option.label }}</span>\r\n <span class=\"hour\">{{ option.lastTime }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-company-dropdown',\r\n templateUrl: './company-dropdown.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./company-dropdown.component.scss'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })), // Use 'visibility' to remove the element from interaction when not visible\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ]\r\n})\r\nexport class CompanyDropdownComponent {\r\n @Input() companies: any[] = [];\r\n @Output() optionSelected: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n isOpen: boolean = false;\r\n selectedOption: any;\r\n selectedAgency: any;\r\n fadeInOut: string = 'out';\r\n\r\n isCompanyOpen: boolean = true;\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onClick(targetElement: HTMLElement) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.isOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n toggleDropdownHandler(): void {\r\n this.isOpen = !this.isOpen;\r\n this.fadeInOut = this.isOpen ? 'in' : 'out';\r\n }\r\n\r\n selectCompany(option: any): void {\r\n this.selectedOption = option;\r\n //this.optionSelected.emit(option);\r\n }\r\n\r\n selectAgency(agency: any,company: any): void {\r\n this.selectedAgency = agency;\r\n localStorage.setItem('CCC', company.companyCode);\r\n localStorage.setItem('CAC', agency.agencyCode);\r\n this.optionSelected.emit(agency);\r\n }\r\n\r\n toggleOverlayHandler(event: MouseEvent): void {\r\n // Check if the click is outside the dropdown menu\r\n if (\r\n event.target instanceof Element &&\r\n !event.target.classList.contains('dropdown-menu')\r\n ) {\r\n this.toggleDropdownHandler();\r\n }\r\n }\r\n\r\n handleDropdownClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n }\r\n\r\n toggleCompaniesHandler(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.isCompanyOpen = !this.isCompanyOpen;\r\n }\r\n\r\n toggleSelectCompanysHandler(company: any, event: MouseEvent) {\r\n event.stopPropagation();\r\n \r\n\r\n company.isOpen = !company.isOpen;\r\n }\r\n\r\n isSelectedAgency(agency: any, company: any){\r\n if(!this.selectedAgency){\r\n const cac = localStorage.getItem('CAC');\r\n const ccc = localStorage.getItem('CCC');\r\n if(cac){\r\n if(agency.agencyCode == cac && company.companyCode == ccc){\r\n company.isOpen = true;\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n }else{\r\n return false;\r\n }\r\n }else{\r\n if(agency === this.selectedAgency){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n }\r\n \r\n }\r\n \r\n}\r\n","<div class=\"dropdown\" [ngClass]=\"isOpen ? 'dropdownOpen' : ''\">\r\n <span (click)=\"toggleDropdownHandler()\" class=\"brasilia-dots icons\"></span>\r\n <div\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"dropdown-company-overlay\"\r\n (click)=\"toggleOverlayHandler($event)\"\r\n ></div>\r\n <div\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"dropdown-menu\"\r\n (click)=\"handleDropdownClick($event)\"\r\n >\r\n <div class=\"dropdown-menu-options\">\r\n <div class=\"companies-container\">\r\n <span class=\"brasilia-dots icon\"></span>\r\n <span>Opciones de menú</span>\r\n </div>\r\n <span\r\n (click)=\"toggleDropdownHandler()\"\r\n class=\"brasilia-close1 close-icon\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"dropdown-menu-content\">\r\n <div class=\"company-dropdown\" (click)=\"toggleCompaniesHandler($event)\">\r\n <span class=\"brasilia-company company-icon\"></span>\r\n <span class=\"title\">Empresas</span>\r\n <span\r\n class=\"arrow\"\r\n [ngClass]=\"\r\n isCompanyOpen ? 'brasilia-arrowUp1' : 'brasilia-arrowDown1'\r\n \"\r\n ></span>\r\n </div>\r\n\r\n <div\r\n class=\"options\"\r\n *ngFor=\"let company of companies; let i = index\"\r\n (click)=\"selectCompany(company)\"\r\n >\r\n <div *ngIf=\"isCompanyOpen\">\r\n <div\r\n class=\"agency-container\"\r\n (click)=\"toggleSelectCompanysHandler(company, $event)\"\r\n [ngClass]=\"{ isOptionOpen: company.isOpen }\"\r\n >\r\n <span [ngClass]=\"company.icon\" class=\"agency-logo\"></span>\r\n <span class=\"title\">{{ company.companyName }}</span>\r\n\r\n <span\r\n class=\"arrow\"\r\n [ngClass]=\"\r\n company.isOpen ? 'brasilia-arrowUp1' : 'brasilia-arrowDown1'\r\n \"\r\n ></span>\r\n </div>\r\n <div class=\"agencies-container\" *ngIf=\"company.isOpen\">\r\n <div class=\"agency\" *ngFor=\"let agency of company.agencies\" \r\n (click)=\"selectAgency(agency,company)\"\r\n [ngClass]=\"{ isAgencySelected: isSelectedAgency(agency,company) }\">\r\n <span class=\"brasilia-agency\"></span>\r\n <span class=\"agency-name\">{{ agency.agencyName }}</span>\r\n <!-- <span class=\"brasilia-out\"></span> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { Component, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { SecurityServices } from '../utils/services/SecurityServicesDefault';\r\n\r\n@Component({\r\n selector: 'lib-user-dropdown',\r\n templateUrl: './user-dropdown.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./user-dropdown.component.scss'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })), // Use 'visibility' to remove the element from interaction when not visible\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ]\r\n})\r\nexport class UserDropdownComponent {\r\n @Input() baseUrl: string = '';\r\n @Input() isMobile: boolean = false;\r\n isUserDropdownOpen: boolean = false;\r\n fadeInOut: string = 'out';\r\n\r\n constructor(private elementRef: ElementRef,private services:SecurityServices) {}\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onClick(targetElement: HTMLElement) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.isUserDropdownOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n get username() {\r\n return localStorage.getItem('username');\r\n }\r\n\r\n openUserDropdownHandler(): void {\r\n this.isUserDropdownOpen = !this.isUserDropdownOpen;\r\n this.fadeInOut = this.isUserDropdownOpen ? 'in' : 'out';\r\n }\r\n\r\n logOut(){\r\n this.services.logOut(this.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data) {\r\n if(data.load){\r\n localStorage.clear();\r\n window.open('/', '_self');\r\n } \r\n \r\n } else {\r\n \r\n }\r\n },\r\n (err: any) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n goToHome(){\r\n if(this.isMobile){\r\n window.open('../index.html', '_self');\r\n }else{\r\n window.open('/home', '_self');\r\n }\r\n }\r\n}\r\n","<div class=\"header-user-container\" (click)=\"openUserDropdownHandler()\">\r\n <span *ngIf=\"username\">{{username[0]}}</span>\r\n <i *ngIf=\"!username\" class=\"brasilia-user\"></i>\r\n</div>\r\n\r\n<div\r\n class=\"user-overlay\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"openUserDropdownHandler()\"\r\n></div>\r\n\r\n<div [@fadeInOut]=\"fadeInOut\" class=\"header-user-dropdown-container\">\r\n <div (click)=\"goToHome()\" class=\"edit-profile user-options\">\r\n <span class=\"brasilia-agency\"></span>\r\n <span>Home</span>\r\n </div>\r\n <div (click)=\"logOut()\" class=\"logout user-options\">\r\n <span class=\"brasilia-out\"></span>\r\n <span>Cerrar sesión</span>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { dropdownCompaniesOptions, dropdownNotificationOptions, dropdownRecentOptions, menuData } from '../assets/menu-data/menuDataTest';\r\nimport { Data, Router } from '@angular/router';\r\nimport { ServicesConfig } from '../utils/models/ServicesConfig';\r\nimport { SecurityServices } from '../utils/services/SecurityServicesDefault';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nexport interface DropdownOptions {\r\n id: number;\r\n label: string;\r\n parentId: any;\r\n options: DropdownOptionCatergory[];\r\n}\r\n\r\nexport interface DropdownOptionCatergory {\r\n label: string;\r\n icon: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lib-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./header.component.scss']\r\n})\r\nexport class HeaderComponent {\r\n @Input() appLogo: string = '';\r\n @Input() theme: string = 'default';\r\n @Input() showBackButton: boolean = true;\r\n @Input() menuData: Data = {categories: []};\r\n @Input() recentOptions :any = [];\r\n @Input() companies :any = [];\r\n @Input() moduleList: any = [];\r\n @Input() auto: boolean = false;\r\n @Input() servicesConfig: ServicesConfig = {\r\n baseUrl: ''\r\n };\r\n @Input() isMobile: boolean = false;\r\n @Output() returnClick = new EventEmitter<any>();\r\n @Output() menuItemClick = new EventEmitter<string>();\r\n @Output() menuNavigate = new EventEmitter<any>();\r\n @Output() recentNavigate = new EventEmitter<any>(); \r\n @Output() moduleSelect = new EventEmitter<any>();\r\n @Output() lastOption = new EventEmitter<any>();\r\n \r\n isAuth$: Observable<boolean> | undefined;\r\n dropdownOptions = dropdownRecentOptions;\r\n notificationOptions = dropdownNotificationOptions;\r\n companiesDropdown = dropdownCompaniesOptions;\r\n selectedOption: any;\r\n dropdownOptionsMenu: DropdownOptions[] = [ \r\n {\r\n id: 0,\r\n label: 'Lorem Ipsum',\r\n parentId: null,\r\n options: [\r\n { label: 'Lorem Ipsum', icon: 'brasilia-configuration' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-bus-gaviota' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-satelite' },\r\n ]\r\n },\r\n {\r\n id: 0,\r\n label: 'Lorem Ipsum',\r\n parentId: null,\r\n options: [\r\n { label: 'Lorem Ipsum', icon: 'brasilia-video' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-rute' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-calendar' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-dashboard' }, \r\n ]\r\n }\r\n ];\r\n\r\n constructor(private services:SecurityServices,private router: Router){\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n if(this.auto){\r\n this.isAuth$ = this.isAuth();\r\n this.isAuth$.subscribe(isAuthenticated => {\r\n if (isAuthenticated) {\r\n this.checkResource();\r\n } else {\r\n window.open('/', '_self');\r\n }\r\n }); \r\n }\r\n }\r\n\r\n isAuth(){\r\n return this.services.isAuthenticated(this.servicesConfig.baseUrl).pipe(\r\n map(response => {\r\n if (response) {\r\n return true;\r\n } else { \r\n return false;\r\n }\r\n }),\r\n catchError(() => {\r\n return of(false);\r\n })\r\n );\r\n }\r\n\r\n handleOptionSelected(option: any): void {\r\n this.selectedOption = option;\r\n if(!this.auto){\r\n this.recentNavigate.emit(option);\r\n } \r\n }\r\n\r\n onItemClick(url: any) {\r\n if(!this.auto){\r\n this.menuNavigate.emit(url);\r\n }else{\r\n const urlObj = url.urlSend;\r\n const event = url.event;\r\n \r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n \r\n if(urlObj.url){\r\n this.services.saveHistory(this.servicesConfig.baseUrl,{optionId: urlObj.id}).subscribe(\r\n (data: any) => {\r\n if (urlObj.new === true) {\r\n if(this.isMobile){\r\n const newWindow = window.open(urlObj.urlMobile, '_blank');\r\n if (newWindow) {\r\n newWindow.opener = null; \r\n }\r\n }else{\r\n const newWindow = window.open(urlObj.url, '_blank');\r\n if (newWindow) {\r\n newWindow.opener = null; \r\n }\r\n }\r\n \r\n } else {\r\n if(this.isMobile){\r\n window.open(urlObj.urlMobile, '_self');\r\n }else{\r\n window.open(urlObj.url, '_self');\r\n }\r\n \r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n \r\n /*\r\n this.inboxService.saveHistory({optionId: urlObj.id}).subscribe(\r\n (data: any) => {\r\n },\r\n (err) => { \r\n }\r\n );\r\n */\r\n } \r\n }\r\n\r\n arrowClick($event: MouseEvent) {\r\n if(!this.auto){\r\n this.returnClick.emit($event);\r\n } \r\n }\r\n\r\n onItemModuleSelected(event: any){\r\n if(!this.auto){\r\n this.moduleSelect.emit(event.id);\r\n }else{\r\n this.currentModule(event.id);\r\n }\r\n \r\n }\r\n\r\n getCompanies(){\r\n this.services.getCompaniesInfo(this.servicesConfig.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data) {\r\n if(data.load){\r\n const cac = localStorage.getItem('CAC');\r\n const ccc = localStorage.getItem('CCC');\r\n if(cac && ccc){\r\n data.load.forEach((c: any) => {\r\n c.agencies.forEach((a: any) => {\r\n if(a.agencyCode == cac && c.companyCode == ccc){\r\n c.isOpen = true;\r\n }\r\n });\r\n });\r\n }\r\n this.companies = data.load;\r\n }\r\n } else {\r\n \r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n getHistory(){\r\n this.services.getHistory(this.servicesConfig.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data) {\r\n if(data.load){\r\n this.recentOptions = data.load;\r\n if(this.recentOptions.length > 0){\r\n console.log(\"last option emit\");\r\n this.lastOption.emit(this.recentOptions[0]);\r\n }\r\n } \r\n this.getModules();\r\n } else {\r\n \r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n checkResource(){\r\n this.services.getResourcesByUser(this.servicesConfig.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data) {\r\n if(data.load){\r\n console.log(data.load);\r\n this.getHistory();\r\n this.getCompanies();\r\n } \r\n \r\n } else {\r\n \r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n getModules(){\r\n this.services.getModules(this.servicesConfig.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data.load) {\r\n this.moduleList = data.load;\r\n }\r\n if (this.recentOptions && this.recentOptions.length > 0) {\r\n if(this.recentOptions[0].applicationId){\r\n this.currentModule(this.recentOptions[0].applicationId);\r\n }else{\r\n this.currentModule(this.moduleList[0].id)\r\n }\r\n \r\n } else {\r\n this.currentModule(this.moduleList[0].id)\r\n }\r\n },\r\n (err) => {\r\n \r\n }\r\n );\r\n /*\r\n if (this.recentData) {\r\n this.moduleSelect(this.recentData[0].applicationId);\r\n } else {\r\n console.log( this.dropdownOptionsMenu)\r\n // const firstOptionId = this.dropdownOptionsMenu?.[0]?.id;\r\n // if (firstOptionId !== undefined) {\r\n // this.moduleSelect(firstOptionId);\r\n // }\r\n }\r\n */\r\n \r\n }\r\n\r\n currentModule(event: any){\r\n this.services.menuModuleSelected(this.servicesConfig.baseUrl,event).subscribe(\r\n (data: any) => {\r\n if (data.load) {\r\n const menuData = {\r\n categories: \r\n data.load\r\n }\r\n\r\n this.menuData = menuData;\r\n } else {\r\n }\r\n },\r\n (err) => {\r\n \r\n }\r\n );\r\n }\r\n\r\n}\r\n","<header [attr.data-theme]=\"theme\" class=\"header-container\" (menuItemClick)=\"menuItemClick\">\r\n <div class=\"header-menu-dashboard-container\">\r\n <div *ngIf=\"showBackButton\" class=\"header-button\" (click)=\"arrowClick($event)\">\r\n <i class=\"menu-arrow-left\"></i>\r\n </div>\r\n <lib-menu class=\"header-menu-lib\" [data]=\"menuData\" [theme]=\"theme\"\r\n [dropdownOptions]=\"moduleList\" (menuItemClick)=\"onItemClick($event)\" (moduleSelected)=\"onItemModuleSelected($event)\"></lib-menu>\r\n </div>\r\n <div class=\"header-logo\">\r\n <span [class]=\"appLogo\"></span>\r\n </div>\r\n\r\n <div class=\"header-notifications-container\">\r\n <div class=\"menu-recents-container\">\r\n <lib-recents-dropdown [options]=\"recentOptions\"\r\n (optionSelected)=\"handleOptionSelected($event)\"></lib-recents-dropdown>\r\n </div>\r\n <!--\r\n <lib-notifications [options]=\"notificationOptions\"\r\n (optionSelected)=\"handleOptionSelected($event)\"></lib-notifications>\r\n -->\r\n \r\n\r\n <lib-company-dropdown [companies]=\"companies\"\r\n (optionSelected)=\"handleOptionSelected($event)\"></lib-company-dropdown>\r\n\r\n <lib-user-dropdown [baseUrl]=\"servicesConfig.baseUrl\" [isMobile]=\"isMobile\"></lib-user-dropdown>\r\n </div>\r\n</header>","import { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-notifications',\r\n templateUrl: './notifications.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./notifications.component.scss'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })), // Use 'visibility' to remove the element from interaction when not visible\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ]\r\n})\r\nexport class NotificationsComponent {\r\n @Input() options: any[] = [];\r\n @Output() optionSelected: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n isOpen: boolean = false;\r\n selectedOption: any;\r\n fadeInOut: string = 'out';\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onClick(targetElement: HTMLElement) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.isOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n toggleNotificationHandler(): void {\r\n this.isOpen = !this.isOpen;\r\n this.fadeInOut = this.isOpen ? 'in' : 'out';\r\n }\r\n\r\n selectOption(option: any): void {\r\n this.selectedOption = option;\r\n this.optionSelected.emit(option);\r\n }\r\n\r\n toggleOverlayHandler(event: MouseEvent): void {\r\n // Check if the click is outside the dropdown menu\r\n if (\r\n event.target instanceof Element &&\r\n !event.target.classList.contains('dropdown-menu')\r\n ) {\r\n this.toggleNotificationHandler();\r\n }\r\n }\r\n\r\n handleDropdownClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n }\r\n}\r\n","<div class=\"dropdown\" [ngClass]=\"isOpen ? 'dropdownOpen' : ''\">\r\n <span\r\n (click)=\"toggleNotificationHandler()\"\r\n class=\"brasilia-notification icons\"\r\n ></span>\r\n\r\n <div\r\n class=\"notifications-overlay\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"toggleOverlayHandler($event)\"\r\n ></div>\r\n\r\n <div\r\n class=\"dropdown-menu\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"handleDropdownClick($event)\"\r\n >\r\n <div class=\"dropdown-recent\">\r\n <div class=\"notification-container\">\r\n <span class=\"brasilia-notification icons\"></span>\r\n <span>Notificaciones</span>\r\n </div>\r\n <span\r\n (click)=\"toggleNotificationHandler()\"\r\n class=\"brasilia-close1 close-icon\"\r\n ></span>\r\n </div>\r\n <div>\r\n <mat-tab-group>\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span class=\"brasilia-boards tab-icon\"></span>\r\n <span class=\"notification-tab-title\">Tableros</span>\r\n </ng-template>\r\n\r\n <div\r\n class=\"options\"\r\n *ngFor=\"let option of options; let i = index\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <div class=\"dropdown-content\">\r\n <div class=\"inital-label\">\r\n <span>A</span>\r\n </div>\r\n <div class=\"description-container\">\r\n <span class=\"label\">\r\n <span class=\"bold-text\">{{ option.name }}</span>\r\n <span class=\"label-description\">{{ option.label }}</span>\r\n </span>\r\n <span class=\"bold-text\">{{ option.description }}</span>\r\n <span class=\"time\">{{ option.time }}</span>\r\n </div>\r\n <div class=\"buttons-containers\">\r\n <div class=\"check icon\">\r\n <span class=\"brasilia-check\"></span>\r\n </div>\r\n <div class=\"close icon\">\r\n <span class=\"brasilia-close1\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-tab>\r\n\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span class=\"brasilia-roles tab-icon\"></span>\r\n <span class=\"notification-tab-title\">Roles</span>\r\n </ng-template>\r\n Content 2\r\n </mat-tab>\r\n\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span class=\"brasilia-alert tab-icon\"></span>\r\n <span class=\"notification-tab-title\">Alerta</span>\r\n </ng-template>\r\n\r\n Content 3\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output, Type } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './list.component.scss']\r\n})\r\nexport class ListComponent {\r\n\t@Input() icon: string = '';\r\n\t@Input() theme: string = 'default';\r\n\t@Input() title: string = '';\r\n\t@Input() itemIcon: string = '';\r\n\t@Input() items: any[] = [];\r\n\t@Input() itemUiComponent: Type<any> | null = null;\r\n\t@Input() uiComponentInputs: { [key: string]: any } = {};\r\n\t@Input() loading: boolean = false;\r\n\t@Input() showLoader: boolean = false;\r\n\t@Input() searchFilter?: Function;\r\n\t@Input() showCreateButton: boolean = false;\r\n\t@Input() selectedItem: any = null;\r\n\t@Input() multipleSelection: boolean = false;\r\n\t@Input() selectionIds: Set<string | number> = new Set([]);\r\n\t@Input() showSearch: boolean = true;\r\n\t@Input() orderProperties: {property: string, ascIcon: string, descIcon: string}[] = []\r\n\t@Output() selectItem = new EventEmitter<any>();\r\n\t@Output() toggleItem = new EventEmitter<any>();\r\n\t@Output() createClick = new EventEmitter();\r\n}\r\n","<p>list works!</p>\r\n","import { forwardRef, NgModule } from '@angular/core';\r\nimport { AspLibComponent } from './asp-lib.component';\r\nimport { MenuComponent } from './menu/menu.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ApplicationMenuComponent } from './application-menu/application-menu.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\n//import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { SecurityAdminComponent } from './security-admin/security-admin.component';\r\nimport { MatRadioButton, MatRadioGroup, MatRadioModule } from '@angular/material/radio';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { ItemsViewerComponent } from './items-viewer/items-viewer.component';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { InputComponent } from './input/input.component';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { SelectComponent } from './select/select.component';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { EntityAdminComponent } from './entity-admin/entity-admin.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { RecentsDropdownComponent } from './recents-dropdown/recents-dropdown.component';\r\nimport { NotificationsComponent } from './notifications/notifications.component';\r\nimport { CompanyDropdownComponent } from './company-dropdown/company-dropdown.component';\r\nimport { UserDropdownComponent } from './user-dropdown/user-dropdown.component';\r\nimport { RadioGroupComponent } from './radio-group/radio-group.component';\r\nimport { BasicItemComponent } from './basic-item/basic-item.component';\r\nimport { RoleCardComponent } from './role-card/role-card.component';\r\nimport { ItemsSelectorComponent } from './items-selector/items-selector.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { CheckboxFieldComponent } from './checkbox-field/checkbox-field.component';\r\nimport { CdkDrag, CdkDropListGroup, CdkDropList, DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { FormComponent } from './form/form.component';\r\nimport { ResourceActionsComponent } from './resource-actions/resource-actions.component';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { AssignRolesComponent } from './assign-roles/assign-roles.component';\r\nimport { RoleInfoComponent } from './role-info/role-info.component';\r\nimport { MenuAdminComponent } from './menu-admin/menu-admin.component';\r\nimport {MatTreeModule} from '@angular/material/tree'\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { SnackbarComponent } from './snackbar/snackbar.component';\r\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\r\nimport { MenuChildReportComponent } from './menu/menu-child-report/menu-child-report.component';\r\nimport { TreeComponent } from './tree/tree.component';\r\nimport { MultiOptionDialogComponent } from './multi-option-dialog/multi-option-dialog.component';\r\nimport { MoveMenuOptionComponent } from './move-menu-option/move-menu-option.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ModulesAdminComponent } from './modules-admin/modules-admin.component';\r\nimport { Form2Component } from './form-2/form-2.component';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { NestedItemsSelectorComponent } from './nested-items-selector/nested-items-selector.component';\r\nimport { TranslatePipe } from './pipes/translate.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n AspLibComponent,\r\n MenuComponent,\r\n ApplicationMenuComponent,\r\n DropdownComponent,\r\n SecurityAdminComponent,\r\n ItemsViewerComponent,\r\n InputComponent,\r\n SelectComponent,\r\n EntityAdminComponent,\r\n HeaderComponent,\r\n RecentsDropdownComponent,\r\n NotificationsComponent,\r\n CompanyDropdownComponent,\r\n UserDropdownComponent,\r\n RadioGroupComponent,\r\n BasicItemComponent,\r\n RoleCardComponent,\r\n ItemsSelectorComponent,\r\n CheckboxComponent,\r\n CheckboxFieldComponent,\r\n FormComponent,\r\n ResourceActionsComponent,\r\n AssignRolesComponent,\r\n RoleInfoComponent,\r\n MenuAdminComponent,\r\n LoaderComponent,\r\n SnackbarComponent,\r\n RadioButtonComponent,\r\n MenuChildReportComponent,\r\n TreeComponent,\r\n MultiOptionDialogComponent,\r\n MoveMenuOptionComponent,\r\n ListComponent,\r\n ModulesAdminComponent,\r\n Form2Component,\r\n NestedItemsSelectorComponent,\r\n TranslatePipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n //BrowserAnimationsModule,\r\n MatRadioModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatPaginatorModule,\r\n MatTabsModule,\r\n MatMenuModule,\r\n MatCheckboxModule,\r\n DragDropModule,\r\n\t\tAngularEditorModule,\r\n MatDialogModule,\r\n MatTreeModule,\r\n HttpClientModule,\r\n\t\tMatTooltipModule\r\n ],\r\n exports: [\r\n AspLibComponent,\r\n MenuComponent,\r\n ApplicationMenuComponent,\r\n DropdownComponent,\r\n SecurityAdminComponent,\r\n ItemsViewerComponent,\r\n InputComponent,\r\n SelectComponent,\r\n EntityAdminComponent,\r\n HeaderComponent,\r\n RecentsDropdownComponent,\r\n NotificationsComponent,\r\n CompanyDropdownComponent,\r\n UserDropdownComponent,\r\n RadioGroupComponent,\r\n BasicItemComponent,\r\n RoleCardComponent,\r\n ItemsSelectorComponent,\r\n CheckboxFieldComponent,\r\n CheckboxComponent,\r\n MenuChildReportComponent\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appereance: 'outline' } }\r\n ]\r\n})\r\nexport class AspLibModule { }","/*\r\n * Public API Surface of asp-lib\r\n */\r\n\r\nexport * from './lib/asp-lib.service';\r\nexport * from './lib/asp-lib.component';\r\nexport * from './lib/asp-lib.module';\r\nexport * from './lib/menu/menu.component';\r\nexport * from './lib/application-menu/application-menu.component';\r\nexport * from './lib/dropdown/dropdown.component';\r\nexport * from './lib/security-admin/security-admin.component';\r\nexport * from './lib/items-viewer/items-viewer.component';\r\nexport * from './lib/input/input.component';\r\nexport * from './lib/select/select.component';\r\nexport * from './lib/entity-admin/entity-admin.component';\r\nexport * from './lib/header/header.component';\r\nexport * from './lib/recents-dropdown/recents-dropdown.component';\r\nexport * from './lib/notifications/notifications.component';\r\nexport * from './lib/company-dropdown/company-dropdown.component';\r\nexport * from './lib/user-dropdown/user-dropdown.component';\r\nexport * from './lib/radio-group/radio-group.component';\r\nexport * from './lib/basic-item/basic-item.component';\r\nexport * from './lib/role-card/role-card.component';\r\nexport * from './lib/items-selector/items-selector.component';\r\nexport * from './lib/checkbox/checkbox.component';\r\nexport * from './lib/checkbox-field/checkbox-field.component';\r\nexport * from './lib/menu/menu-child-report/menu-child-report.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.DropdownComponent","i4.MenuChildReportComponent","i1.SecurityAdminService","i2.SecurityAdminService","i3.SnackbarService","i4","i5.LoaderComponent","i6.RadioButtonComponent","i7.TranslatePipe","i3","i4.LoaderComponent","i5.TranslatePipe","i4.TranslatePipe","i5","i7.InputComponent","i8.RoleCardComponent","i9.LoaderComponent","i10.TranslatePipe","flattenTree","completeNode","i2.RadioButtonComponent","i5.TreeComponent","i4.DialogService","i6","i7","i8.InputComponent","i2.SnackbarService","i3.TranslatePipe","i9.InputComponent","i10.CheckboxComponent","i11.LoaderComponent","switchMapper","i3.ItemsViewerComponent","i6.TranslatePipe","i1.CheckboxComponent","i6.InputComponent","i7.SelectComponent","i8.RadioGroupComponent","i9.CheckboxFieldComponent","i10.LoaderComponent","i11.TranslatePipe","i4.ItemsViewerComponent","i6.ItemsViewerComponent","i7.ItemsSelectorComponent","i8.FormComponent","i9.NestedItemsSelectorComponent","i4.InputComponent","i5.SelectComponent","i6.RadioGroupComponent","i7.CheckboxFieldComponent","i5.Form2Component","i1.SecurityServices","map","i4.MenuComponent","i5.RecentsDropdownComponent","i6.CompanyDropdownComponent","i7.UserDropdownComponent"],"mappings":"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"}
1
+ {"version":3,"file":"asp-lib.mjs","sources":["../../../projects/asp-lib/src/lib/asp-lib.service.ts","../../../projects/asp-lib/src/lib/asp-lib.component.ts","../../../projects/asp-lib/src/lib/dropdown/dropdown.component.ts","../../../projects/asp-lib/src/lib/dropdown/dropdown.component.html","../../../projects/asp-lib/src/lib/menu/menu-child-report/menu-child-report.component.ts","../../../projects/asp-lib/src/lib/menu/menu-child-report/menu-child-report.component.html","../../../projects/asp-lib/src/lib/menu/menu.component.ts","../../../projects/asp-lib/src/lib/menu/menu.component.html","../../../projects/asp-lib/src/lib/application-menu/application-menu.component.ts","../../../projects/asp-lib/src/lib/application-menu/application-menu.component.html","../../../projects/asp-lib/src/lib/basic-item/basic-item.component.ts","../../../projects/asp-lib/src/lib/basic-item/basic-item.component.html","../../../projects/asp-lib/src/lib/utils/utils.ts","../../../projects/asp-lib/src/lib/services/security-admin.service.ts","../../../projects/asp-lib/src/lib/snackbar/snackbar.component.ts","../../../projects/asp-lib/src/lib/snackbar/snackbar.component.html","../../../projects/asp-lib/src/lib/services/snackbar.service.ts","../../../projects/asp-lib/src/lib/loader/loader.component.ts","../../../projects/asp-lib/src/lib/loader/loader.component.html","../../../projects/asp-lib/src/lib/radio-button/radio-button.component.ts","../../../projects/asp-lib/src/lib/radio-button/radio-button.component.html","../../../projects/asp-lib/src/lib/pipes/translate.pipe.ts","../../../projects/asp-lib/src/lib/resource-actions/resource-actions.component.ts","../../../projects/asp-lib/src/lib/resource-actions/resource-actions.component.html","../../../projects/asp-lib/src/lib/input/input.component.ts","../../../projects/asp-lib/src/lib/input/input.component.html","../../../projects/asp-lib/src/lib/role-info/role-info.component.ts","../../../projects/asp-lib/src/lib/role-info/role-info.component.html","../../../projects/asp-lib/src/lib/role-card/role-card.component.ts","../../../projects/asp-lib/src/lib/role-card/role-card.component.html","../../../projects/asp-lib/src/lib/assign-roles/assign-roles.component.ts","../../../projects/asp-lib/src/lib/assign-roles/assign-roles.component.html","../../../projects/asp-lib/src/lib/tree/tree.component.ts","../../../projects/asp-lib/src/lib/tree/tree.component.html","../../../projects/asp-lib/src/lib/move-menu-option/move-menu-option.component.ts","../../../projects/asp-lib/src/lib/move-menu-option/move-menu-option.component.html","../../../projects/asp-lib/src/lib/multi-option-dialog/multi-option-dialog.component.ts","../../../projects/asp-lib/src/lib/multi-option-dialog/multi-option-dialog.component.html","../../../projects/asp-lib/src/lib/services/dialog.service.ts","../../../projects/asp-lib/src/lib/menu-admin/menu-admin.component.ts","../../../projects/asp-lib/src/lib/menu-admin/menu-admin.component.html","../../../projects/asp-lib/src/lib/checkbox/checkbox.component.ts","../../../projects/asp-lib/src/lib/checkbox/checkbox.component.html","../../../projects/asp-lib/src/lib/items-viewer/items-viewer.component.ts","../../../projects/asp-lib/src/lib/items-viewer/items-viewer.component.html","../../../projects/asp-lib/src/lib/items-selector/items-selector.component.ts","../../../projects/asp-lib/src/lib/items-selector/items-selector.component.html","../../../projects/asp-lib/src/lib/select/select.component.ts","../../../projects/asp-lib/src/lib/select/select.component.html","../../../projects/asp-lib/src/lib/radio-group/radio-group.component.ts","../../../projects/asp-lib/src/lib/radio-group/radio-group.component.html","../../../projects/asp-lib/src/lib/checkbox-field/checkbox-field.component.ts","../../../projects/asp-lib/src/lib/checkbox-field/checkbox-field.component.html","../../../projects/asp-lib/src/lib/form/form.component.ts","../../../projects/asp-lib/src/lib/form/form.component.html","../../../projects/asp-lib/src/lib/nested-items-selector/nested-items-selector.component.ts","../../../projects/asp-lib/src/lib/nested-items-selector/nested-items-selector.component.html","../../../projects/asp-lib/src/lib/entity-admin/entity-admin.component.ts","../../../projects/asp-lib/src/lib/entity-admin/entity-admin.component.html","../../../projects/asp-lib/src/lib/form-2/form-2.component.ts","../../../projects/asp-lib/src/lib/form-2/form-2.component.html","../../../projects/asp-lib/src/lib/modules-admin/modules-admin.component.ts","../../../projects/asp-lib/src/lib/modules-admin/modules-admin.component.html","../../../projects/asp-lib/src/lib/security-admin/security-admin.component.ts","../../../projects/asp-lib/src/lib/security-admin/security-admin.component.html","../../../projects/asp-lib/src/lib/assets/menu-data/menuDataTest.ts","../../../projects/asp-lib/src/lib/utils/services/SecurityServicesDefault.ts","../../../projects/asp-lib/src/lib/recents-dropdown/recents-dropdown.component.ts","../../../projects/asp-lib/src/lib/recents-dropdown/recents-dropdown.component.html","../../../projects/asp-lib/src/lib/company-dropdown/company-dropdown.component.ts","../../../projects/asp-lib/src/lib/company-dropdown/company-dropdown.component.html","../../../projects/asp-lib/src/lib/user-dropdown/user-dropdown.component.ts","../../../projects/asp-lib/src/lib/user-dropdown/user-dropdown.component.html","../../../projects/asp-lib/src/lib/header/header.component.ts","../../../projects/asp-lib/src/lib/header/header.component.html","../../../projects/asp-lib/src/lib/notifications/notifications.component.ts","../../../projects/asp-lib/src/lib/notifications/notifications.component.html","../../../projects/asp-lib/src/lib/list/list.component.ts","../../../projects/asp-lib/src/lib/list/list.component.html","../../../projects/asp-lib/src/lib/asp-lib.module.ts","../../../projects/asp-lib/src/public-api.ts","../../../projects/asp-lib/src/asp-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AspLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'asp-lib',\r\n template: `\r\n <p>\r\n asp-lib works! sdfsds\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class AspLibComponent {\r\n\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { DropdownOptions } from '../interfaces/interfaces';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'lib-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.css', '../assets/fonts/style.css'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })),\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ],\r\n})\r\nexport class DropdownComponent {\r\n @Input() data: DropdownOptions[] = [];\r\n @Output() optionSelected = new EventEmitter<any>();\r\n fadeInOut: string = 'out';\r\n selectedOption: DropdownOptions | null = null;\r\n dropdownOpen: boolean = false;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['data'] && this.data.length > 0) {\r\n this.selectedOption = this.data[0];\r\n }\r\n }\r\n\r\n // Listen for clicks on the document body\r\n @HostListener('document:click', ['$event'])\r\n onClickOutside(event: MouseEvent): void {\r\n // Check if the clicked element is inside the menu component\r\n const menuElement = document.querySelector('.dropdown-menu');\r\n if (menuElement && !menuElement.contains(event.target as Node)) {\r\n // Clicked outside of the menu component, close the menu\r\n this.dropdownOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n toggleDropdown(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.dropdownOpen = !this.dropdownOpen;\r\n this.fadeInOut = this.dropdownOpen ? 'in' : 'out';\r\n }\r\n\r\n selectOptionDropdown(option: any): void {\r\n this.selectedOption = option;\r\n this.optionSelected.emit(option);\r\n this.dropdownOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n}\r\n","<div class=\"dropdown\">\r\n <button class=\"dropdown-toggle\" (click)=\"toggleDropdown($event)\">\r\n <span class=\"menu-warning1\"></span>\r\n <!-- <span class=\"dropdown-selected-label\">{{ data[0]?.name }}</span> -->\r\n <span class=\"dropdown-selected-label\">{{ selectedOption?.name }}</span>\r\n <span *ngIf=\"dropdownOpen\" class=\"menu-arrow-up arrow\"></span>\r\n <span *ngIf=\"!dropdownOpen\" class=\"menu-arrow-down arrow\"></span>\r\n </button>\r\n\r\n <div\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"dropdown-overlay\"\r\n (click)=\"toggleDropdown($event)\"\r\n ></div>\r\n\r\n <div class=\"dropdown-menu\" [@fadeInOut]=\"fadeInOut\">\r\n <div\r\n class=\"dropdown-item\"\r\n *ngFor=\"let category of data; let i = index\"\r\n [ngClass]=\"{ 'no-border': i === data.length - 1 }\"\r\n (click)=\"selectOptionDropdown(category)\"\r\n >\r\n <span class=\"category-name\">{{ category?.name }}</span>\r\n <div class=\"categories-container\">\r\n <div\r\n class=\"category-options-container\"\r\n *ngFor=\"let option of category?.options\"\r\n >\r\n <div class=\"category-options\">\r\n <span [ngClass]=\"option.icon\"></span>\r\n <span>{{ option.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-menu-child-report',\r\n templateUrl: './menu-child-report.component.html',\r\n styleUrls: ['./menu-child-report.component.scss']\r\n})\r\nexport class MenuChildReportComponent implements OnInit {\r\n @Input(\"options\") children: any;\r\n @Output() menuItemClick = new EventEmitter<any>();\r\n\r\n @Input(\"leftOffset\") leftOffset = 30;\r\n @Input() isMobile: boolean = false;\r\n @Output() selectOptionFromApp = new EventEmitter<any>();\r\n @Output(\"optionClickHandler\")\r\n optionClickHandler = new EventEmitter ();\r\n\r\n newLeftOffset = 0;\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.newLeftOffset = this.leftOffset + 30;\r\n this.children.sort((a: any, b:any) => {\r\n const aHasChildren = a.children && a.children.length > 0;\r\n const bHasChildren = b.children && b.children.length > 0;\r\n\r\n if (aHasChildren && !bHasChildren) {\r\n return -1;\r\n }\r\n if (!aHasChildren && bHasChildren) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n onItemClick(option: any, event: MouseEvent) {\r\n const urlSend = {\r\n url : option.baseUrl,\r\n urlMobile : option.urlMobile,\r\n new : false,\r\n id: option.id\r\n }\r\n this.menuItemClick.emit({ urlSend, event });\r\n }\r\n\r\n onItemClickNew(option: any, event: MouseEvent){\r\n const urlSend = {\r\n url : option.baseUrl,\r\n urlMobile : option.urlMobile,\r\n new : true,\r\n id: option.id\r\n }\r\n this.menuItemClick.emit({ urlSend, event });\r\n }\r\n\r\n toggleSubMenu(option: any): void\r\n {\r\n option.open = !option.open;\r\n }\r\n hideOption(option: any) {\r\n let flag1 = false;\r\n let flag2 = false;\r\n let typeOptionNumber: number = parseInt(option.typeOption);\r\n\r\n if ((option.children && option.children.length > 0) && this.haveOptionReport(option.children)) {\r\n flag1 = true;\r\n }\r\n\r\n if ((!option.children || !option.children.length) && ((!isNaN(typeOptionNumber) && typeOptionNumber != 2) || (isNaN(typeOptionNumber) && option.typeOption != \"2\"))) {\r\n flag2 = true;\r\n }\r\n\r\n if (!flag1 && !flag2) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n haveOptionReport(options: any): boolean {\r\n let haveOptReport = false;\r\n if (options) {\r\n for (let option of options) {\r\n if (option.baseUrl != null) {\r\n let typeOptionNumber: number = parseInt(option.typeOption);\r\n if ((!isNaN(typeOptionNumber) && typeOptionNumber != 2) || (isNaN(typeOptionNumber) && option.typeOption != \"2\")) {\r\n haveOptReport = true;\r\n break;\r\n }\r\n }\r\n if (option.children && option.children.length > 0) {\r\n haveOptReport = haveOptReport || this.haveOptionReport(option.children);\r\n }\r\n }\r\n }\r\n return haveOptReport;\r\n}\r\n\r\n}\r\n","<div\r\n class=\"app-menu-child-report-full-container\"\r\n *ngFor=\"let option of children\"\r\n [class.hidden]=\"hideOption(option)\"\r\n>\r\n <ng-container\r\n *ngIf=\"\r\n option.children &&\r\n option.children.length\r\n \"\r\n >\r\n <div\r\n class=\"app-menu-child-report-full-container-item\"\r\n [style.padding-left.px]=\"leftOffset\"\r\n (click)=\"toggleSubMenu(option)\"\r\n >\r\n <div class=\"app-menu-child-report-full-container-item-container\">\r\n <div\r\n class=\"app-menu-child-report-full-container-item-container-folder\"\r\n [class.is-selectedChild]=\"option.open\"\r\n ></div>\r\n <span>{{ option.label }}</span>\r\n </div>\r\n <div\r\n class=\"app-menu-child-report-full-container-item-arrow\"\r\n [class.is-selectedChild]=\"option.open\"\r\n ></div>\r\n </div>\r\n <div class=\"app-menu-options-sub-container\">\r\n <app-menu-child-report\r\n *ngIf=\"option.open\"\r\n [options]=\"option.children\"\r\n [leftOffset]=\"newLeftOffset\"\r\n (optionClickHandler)=\"optionClickHandler.emit($event)\"\r\n ></app-menu-child-report>\r\n </div>\r\n </ng-container>\r\n <div\r\n *ngIf=\"\r\n (!option.children || !option.children.length) && option.typeOption != '2'\r\n \"\r\n class=\"app-menu-child-report-full-container-report\"\r\n [style.padding-left.px]=\"leftOffset\"\r\n (click)=\"optionClickHandler.emit(option)\"\r\n >\r\n <div class=\"app-menu-child-report-full-container-report-container\" style=\"position: relative; width: 100%;\" (click)=\"onItemClick(option, $event)\">\r\n <div\r\n class=\"app-menu-child-report-full-container-report-container-icon\"\r\n ></div>\r\n <span>\r\n {{ option.label }}\r\n </span>\r\n <div *ngIf=\"!isMobile\"\r\n class=\"app-menu-child-report-full-container-report-container-new abs\" (click)=\"onItemClickNew(option, $event)\"\r\n ></div>\r\n </div>\r\n <div class=\"app-menu-child-report-full-container-report-arrow\"></div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, HostListener, Input, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n} from '@angular/animations';\r\n\r\nexport interface Option {\r\n\tbaseUrl: string,\r\n\tchildren: Option[],\r\n\ticon: string | null,\r\n\tid: number,\r\n\tlabel: string,\r\n\tparentId: number,\r\n}\r\n\r\nexport interface Category {\r\n id: number;\r\n parentId: number | null;\r\n label: string;\r\n options: Option[];\r\n}\r\n\r\nexport interface Data {\r\n\tcategories: Category[],\r\n\t\r\n}\r\n\r\n@Component({\r\n selector: 'lib-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: [\r\n './menu.component.scss',\r\n '../assets/theme.scss',\r\n '../assets/fonts/style.css',\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })),\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ],\r\n})\r\nexport class MenuComponent {\r\n @Input() dropdownOptions: any;\r\n @Input() data: any;\r\n @Input() theme: string;\r\n @Input() isMobile: boolean = false;\r\n isMenuOpen: boolean = false;\r\n openingMenu: boolean = false;\r\n openMenuFromButton: boolean = false;\r\n // openCategories: { [categoryId: number]: boolean } = {};\r\n fadeInOut: string = 'out';\r\n\r\n // new\r\n @Input(\"menu\") menuOriginal: any;\r\n @Output() menuItemClick = new EventEmitter<any>();\r\n labelSearch = \"\";\r\n menu: any;\r\n @Output() selectOptionFromApp = new EventEmitter<any>();\r\n @Output() moduleSelected = new EventEmitter<any>();\r\n //\r\n \r\n ngAfterViewInit() {\r\n const formField = document.querySelector('.custom-outline .mat-form-field-outline');\r\n if (formField) {\r\n (formField as HTMLElement).style.borderColor = 'white';\r\n }\r\n }\r\n\r\n constructor() {\r\n this.theme = 'default';\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['data']) {\r\n console.log('menuData ha cambiado:', changes['data'].currentValue);\r\n this.menu = changes['data'].currentValue;\r\n this.originalCategories = this.menu.categories;\r\n // Manejar cambios en menuData si es necesario\r\n }\r\n } \r\n\r\n // NEWWWWWWWWWWWWWW\r\n ngOnInit(): void {\r\n this.menu = this.data;\r\n if (this.menu && this.menu.categories) {\r\n this.originalCategories = JSON.parse(JSON.stringify(this.menu.categories));\r\n } else {\r\n this.originalCategories = []; \r\n }\r\n }\r\n \r\n \r\n originalCategories: any[] = [];\r\n // filterCategories(labelSearch:any, $event:any) {\r\n // $event.stopPropagation();\r\n // console.log(labelSearch);\r\n // if (labelSearch == \"\") {\r\n // this.menu.categories = this.menuOriginal.categories\r\n\r\n // } else if (!labelSearch.trim()) {\r\n // this.menu.categories = this.menuOriginal.categories\r\n // } else {\r\n // this.menu.categories = this.searchRecursive(\r\n // this.originalCategories,\r\n // labelSearch.trim().toLowerCase()\r\n // );\r\n\r\n // }\r\n // }\r\n\r\n onItemClick(url: any) {\r\n this.menuItemClick.emit(url);\r\n }\r\n\r\n // searchRecursive(categories: any[], searchTerm: string): any[] {\r\n // return categories.reduce((filtered, category) => {\r\n // let matchedOptions = this.findMatchingLeafOptions(\r\n // category.children || [],\r\n // searchTerm\r\n // );\r\n\r\n // if (\r\n // matchedOptions.length > 0 ||\r\n // category.label.toLowerCase().includes(searchTerm)\r\n // ) {\r\n // filtered.push({\r\n // ...category,\r\n // options: matchedOptions.length > 0 ? matchedOptions : category.children,\r\n // open: true,\r\n // });\r\n // }\r\n // return filtered;\r\n // }, []);\r\n // }\r\n\r\n // findMatchingLeafOptions(children: any[], searchTerm: string): any[] {\r\n // let result = [];\r\n\r\n // for (let option of children) {\r\n // if (option.children && option.children.length > 0) {\r\n // let matchedChildren = this.findMatchingLeafOptions(option.children, searchTerm);\r\n\r\n // // Si hay hijos que coinciden o el label del option coincide, se incluye el option y se marca como open\r\n // if (matchedChildren.length > 0 || option.label.toLowerCase().includes(searchTerm)) {\r\n // result.push({\r\n // ...option,\r\n // children: matchedChildren,\r\n // open: true,\r\n // });\r\n // }\r\n // } else if (option.label.toLowerCase().includes(searchTerm)) {\r\n // result.push({\r\n // ...option,\r\n // open: true,\r\n // });\r\n // }\r\n // }\r\n\r\n // return result;\r\n // }\r\n\r\n filterCategories(labelSearch: any, $event: any) {\r\n $event.stopPropagation();\r\n \r\n if (!this.menu || !this.menu.categories) {\r\n return;\r\n }\r\n \r\n if (!this.originalCategories || this.originalCategories.length === 0) {\r\n return;\r\n }\r\n \r\n if (labelSearch === \"\") {\r\n this.menu.categories = this.originalCategories;\r\n } else if (!labelSearch.trim()) {\r\n this.menu.categories = this.originalCategories;\r\n } else {\r\n this.menu.categories = this.searchRecursive(\r\n this.originalCategories,\r\n labelSearch.trim().toLowerCase()\r\n );\r\n }\r\n }\r\n \r\n \r\n searchRecursive(categories: any[], searchTerm: string): any[] {\r\n if (!categories || categories.length === 0) {\r\n return [];\r\n }\r\n if (!searchTerm || searchTerm.trim() === '') {\r\n return categories.map(category => ({\r\n ...category,\r\n open: false, \r\n children: category.children ? category.children.map((child: any) => ({ ...child, open: false })) : []\r\n }));\r\n }\r\n return categories.reduce((filtered, category) => {\r\n let matchedOptions = this.findMatchingLeafOptions(category.children || [], searchTerm);\r\n \r\n if (\r\n matchedOptions.length > 0 ||\r\n category.label.toLowerCase().includes(searchTerm.toLowerCase())\r\n ) {\r\n filtered.push({\r\n ...category,\r\n children: matchedOptions.length > 0 ? matchedOptions : [],\r\n open: true,\r\n });\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n \r\n \r\n findMatchingLeafOptions(children: any[], searchTerm: string): any[] {\r\n if (!children || children.length === 0) {\r\n return [];\r\n }\r\n \r\n let result = [];\r\n \r\n for (let option of children) {\r\n if (option.children && option.children.length > 0) {\r\n let matchedChildren = this.findMatchingLeafOptions(option.children, searchTerm);\r\n \r\n if (matchedChildren.length > 0 || option.label.toLowerCase().includes(searchTerm.toLowerCase())) {\r\n result.push({\r\n ...option,\r\n children: matchedChildren,\r\n open: true,\r\n });\r\n }\r\n } else if (option.label.toLowerCase().includes(searchTerm.toLowerCase())) {\r\n result.push({\r\n ...option,\r\n open: true, \r\n });\r\n }\r\n }\r\n \r\n return result;\r\n }\r\n \r\n \r\n\r\n openCategories(menuItems:any, $event: MouseEvent) {\r\n $event.stopPropagation();\r\n menuItems.open = !menuItems.open;\r\n // this.toggleSubCategories(menuItems.options, menuItems.open);\r\n }\r\n clickChild(event: any) {\r\n event.stopPropagation();\r\n }\r\n toggleSubCategories(options:any, value: any) {\r\n if (options && options.length) {\r\n options.forEach((item: any) => {\r\n item.open = value;\r\n if (item.children && item.children.length > 0) {\r\n this.toggleSubCategories(item.children, value);\r\n }\r\n });\r\n }\r\n }\r\n optionClickHandler(option:any): void {\r\n this.selectOptionFromApp.emit(option);\r\n }\r\n // NEWWWWWWWWWWW ENNDD\r\n\r\n // Listen for clicks on the document body\r\n @HostListener('document:click', ['$event'])\r\n onClickOutside(event: MouseEvent): void {\r\n // Check if the clicked element is inside the menu component\r\n // const menuElement = document.querySelector('.menu-content-container');\r\n const menuElement = document.querySelector('.container-menu-full');\r\n if (menuElement && !menuElement.contains(event.target as Node)) {\r\n // Clicked outside of the menu component, close the menu\r\n this.isMenuOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n // @HostListener('document:click', ['$event'])\r\n // onDocumentClick(event: MouseEvent): void {\r\n // // Check if the click event occurred on the menu button\r\n // const clickedOnMenuBtn = (event.target as HTMLElement).closest('#menuBtn');\r\n // if (clickedOnMenuBtn) {\r\n // // Toggle menu open/close if clicked on the menu button\r\n // this.isMenuOpen = !this.isMenuOpen;\r\n // if (this.isMenuOpen) this.fadeInOut = 'in';\r\n // } else {\r\n // // Close the menu if clicked outside of it\r\n // this.isMenuOpen = false;\r\n // this.fadeInOut = 'out';\r\n // }\r\n // }\r\n\r\n toggleMenuHandler(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.isMenuOpen = !this.isMenuOpen;\r\n this.fadeInOut = this.isMenuOpen ? 'in' : 'out';\r\n }\r\n\r\n // toggleCategory(event: MouseEvent, category: Category) {\r\n // event.stopPropagation();\r\n // this.openCategories[category.id] = !this.openCategories[category.id];\r\n // }\r\n\r\n // optionClickHandler(event: any): void {\r\n\t// \tconsole.log(event);\r\n // if (!event.baseUrl) {\r\n // event.stopPropagation();\r\n // } else {\r\n\t\t\t\r\n \r\n // }\r\n // }\r\n\r\n handleOptionSelected(event: any) {\r\n this.moduleSelected.emit(event);\r\n console.log(event);\r\n }\r\n}\r\n","<div class=\"menu-modules-container\">\r\n <lib-dropdown\r\n [data]=\"dropdownOptions\"\r\n (optionSelected)=\"handleOptionSelected($event)\"\r\n [attr.data-theme]=\"theme\"\r\n></lib-dropdown>\r\n</div>\r\n<div\r\n [attr.data-theme]=\"theme\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"menu-overlay\"\r\n (click)=\"toggleMenuHandler($event)\"\r\n>\r\n<div class=\"containerFullMenuList\" [@fadeInOut]=\"fadeInOut\">\r\n <div class=\"container-menu-full\">\r\n <div class=\"container-menu-report-full-header\">\r\n <div class=\"homeWelcomeInput\">\r\n <!-- <mat-form-field appearance=\"outline\" class=\"custom-outline\" (click)=\"$event.stopPropagation()\" style=\"height: 55px; width: 100%;\">\r\n <mat-label>Search</mat-label>\r\n <input\r\n matInput\r\n autocomplete=\"off\"\r\n type=\"text\"\r\n (keyup)=\"filterCategories(labelSearch, $event)\"\r\n \r\n [(ngModel)]=\"labelSearch\"\r\n />\r\n </mat-form-field> -->\r\n <div class=\"custom-form-field\">\r\n <input type=\"text\" id=\"custom-input\" class=\"custom-input\" (click)=\"$event.stopPropagation()\" (keyup)=\"filterCategories(labelSearch, $event)\" [(ngModel)]=\"labelSearch\" required>\r\n <label for=\"custom-input\" class=\"custom-label\">Search</label>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n <div class=\"app-menu-report-full-container\">\r\n <div\r\n class=\"app-menu-report-full-container-cateogires\"\r\n *ngFor=\"let category of menu.categories\"\r\n (click)=\"openCategories(category, $event)\"\r\n >\r\n <div class=\"app-menu-report-full-container-cateogires-full\">\r\n <div class=\"app-menu-report-full-container-cateogires-full-container\">\r\n <div\r\n class=\"app-menu-report-full-container-cateogires-full-container-folder\"\r\n [class.is-selected]=\"category.open\"\r\n ></div>\r\n <span>{{ category.label }}</span>\r\n </div>\r\n <div\r\n class=\"app-menu-report-full-container-cateogires-full-arrow\"\r\n [class.is-selected]=\"category.open\"\r\n ></div>\r\n </div>\r\n <div\r\n class=\"app-menu-report-full-container-cateogires-chield\"\r\n *ngIf=\"category.open\"\r\n (click)=\"clickChild($event)\"\r\n >\r\n <app-menu-child-report\r\n [options]=\"category.children\"\r\n (optionClickHandler)=\"optionClickHandler($event)\" (menuItemClick)=\"onItemClick($event)\"\r\n [isMobile]=\"isMobile\"\r\n id=\"reports2\"\r\n >\r\n </app-menu-child-report>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n</div>\r\n\r\n<div\r\n [attr.data-theme]=\"theme\"\r\n class=\"menu-button-container\"\r\n [ngClass]=\"{ 'menu-button-container-selected': isMenuOpen }\"\r\n (click)=\"toggleMenuHandler($event)\"\r\n>\r\n <div [class]=\"['menu-button-icon', isMenuOpen ? 'opened': '']\">\r\n <i [class]=\"[isMenuOpen ? 'menu-close':'menu-menu']\"></i>\r\n <!-- <span id=\"menuBtn\" *ngIf=\"!isMenuOpen\" class=\"menu-menu\"></span>\r\n <span *ngIf=\"isMenuOpen\" class=\"menu-close\"></span> -->\r\n </div>\r\n</div>\r\n\r\n<!-- <div\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"menu-content-container\"\r\n [attr.data-theme]=\"theme\"\r\n>\r\n <div class=\"category\">\r\n <div\r\n class=\"menu-category-container\"\r\n *ngFor=\"let category of data.categories\"\r\n >\r\n <div class=\"menu-body-container\">\r\n <div class=\"menu-selector-category\">\r\n <div class=\"menu-category-label\" (click)=\"toggleCategory($event,category)\">\r\n <div>{{ category.label }} </div>\r\n </div>\r\n\r\n <div\r\n class=\"menu-options-container\"\r\n [ngClass]=\"{ open: openCategories[category.id] }\"\r\n >\r\n <lib-application-menu\r\n [options]=\"category.options\"\r\n (optionClickHandler)=\"optionClickHandler($event)\"\r\n id=\"reports2\"\r\n ></lib-application-menu>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> -->\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-application-menu',\r\n templateUrl: './application-menu.component.html',\r\n styleUrls: ['./application-menu.component.css','../assets/fonts/style.css'],\r\n})\r\nexport class ApplicationMenuComponent {\r\n @Input('options')\r\n options: any[] = [];\r\n\r\n @Output('optionClickHandler')\r\n optionClickHandler = new EventEmitter();\r\n\r\n @Input() level: number = 0;\r\n\r\n toggleSubMenu(option: any,event: MouseEvent): void\r\n {\r\n\t\tconsole.log(option);\r\n event.stopPropagation();\r\n option.open = !option.open;\r\n }\r\n\r\n}\r\n","<div class=\"menu-selector-item\" *ngFor=\"let option of options\">\r\n <ng-container *ngIf=\"(option.children && option.children.length > 0)\">\r\n <div class=\"menu-item-label-container\" (click)=\"toggleSubMenu(option,$event )\">\r\n <div class=\"flex-row-center\">\r\n <span class=\"menu-arrow-down icon-arrow\" *ngIf=\"!option.open\"></span>\r\n <span class=\"menu-arrow-up icon-arrow\" *ngIf=\"option.open\"></span>\r\n </div>\r\n <div class=\"app-menu-item-label flex-row\" [class.is-selected]=\"option.open\">\r\n <span class=\"menu-folder folder\" *ngIf=\"!option.open\"></span>\r\n <span class=\"menu-open-folder folder\" *ngIf=\"option.open\"></span>\r\n <span class=\"marginLeft10\">{{option.label}}</span>\r\n </div>\r\n </div>\r\n <div class=\"app-menu-options-sub-container\">\r\n <lib-application-menu *ngIf=\"option.open\" [level]=\"level + 2\" [options]=\"option.children\" (optionClickHandler)=\"optionClickHandler.emit($event)\"></lib-application-menu>\r\n </div> \r\n </ng-container>\r\n <div *ngIf=\"(!option.children || !option.children.length) && option.typeOption != '2'\"\r\n class=\"flex-row\" (click)=\"optionClickHandler.emit(option)\">\r\n <div class=\"menu-item-label-container\">\r\n <span class=\"menu-archive archive\"></span>\r\n <div class=\"app-menu-item-label flex-row marginLeft5\" [class.sheetMenu]=\"level != 0\">\r\n {{option.label}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\ninterface ItemButton {\r\n icon: string,\r\n button?:boolean,\r\n callback?: any\r\n}\r\n\r\n@Component({\r\n selector: 'lib-basic-item',\r\n templateUrl: './basic-item.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './basic-item.component.scss']\r\n})\r\nexport class BasicItemComponent {\r\n\r\n @Input() object: any;\r\n @Input() icon: string = '';\r\n @Input() theme: string = 'default';\r\n @Input() itemOptions: ItemButton[] = [];\r\n @Input() draggable:boolean = false;\r\n\r\n constructor() {\r\n \r\n }\r\n\r\n get hasIcon() {\r\n return Boolean(this.icon);\r\n }\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" *ngIf=\"draggable\" cdkDrag [cdkDragData]=\"draggable ? object : null\" class=\"item\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"!draggable\" class=\"item\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n</div>\r\n\r\n<ng-template #itemTemplate>\r\n <div [attr.data-theme]=\"theme\" class=\"item-info\">\r\n <i *ngIf=\"hasIcon\" [class]=\"icon\"></i>\r\n <span>\r\n {{object.name}}\r\n </span>\r\n </div>\r\n <div [attr.data-theme]=\"theme\" class=\"item-options\">\r\n <div (click)=\"option.callback($event)\" [class]=\"['option', option.button? 'buttonOption':'']\" *ngFor=\"let option of itemOptions\">\r\n <i [class]=\"option.icon\"></i>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n","import { of } from \"rxjs\";\r\n\r\nexport const defaultMapper = (x: any) => {\r\n\treturn x\r\n};\r\n\r\nexport function removeArrayDuplicates(arr: any[]){\r\n\treturn arr.reduce((acc:any, curr: any) => {\r\n\t\tlet x = acc.find((item: any)=>item.id === curr.id);\r\n\t\tif (!x) {\r\n\t\t\tacc.push(curr);\r\n\t\t}\r\n\t\treturn acc;\r\n\t}, [])\r\n}\r\n\r\nexport const defaultSwitchMapper = (x: any) => of(x);","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Type } from '@angular/core';\r\nimport { from, map, mergeMap, Observable, of, reduce, Subject, switchMap, toArray } from 'rxjs';\r\nimport { SnackbarService } from './snackbar.service';\r\nimport { SecurityEndpoints } from '../interfaces/interfaces';\r\nimport { defaultSwitchMapper } from '../utils/utils';\r\n\r\nconst paramNames = {\r\n\tCustomer: \"customerId\",\r\n\tUser: \"userId\"\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SecurityAdminService {\r\n\r\n\tselectedUserSubject = new Subject<any>();\r\n\tselectedCustomerSubject = new Subject<any>();\r\n\tselectedRoleSubject = new Subject<any>();\r\n\treloadSubject = new Subject<string>();\r\n\tmenuOptionFormComponent?: Type<any>;\r\n\tendpoints: SecurityEndpoints = {};\r\n\tlanguage: string = 'en';\r\n\tselectedItem: any;\r\n\ttheme: string = 'default';\r\n\tmsgLabel = { \"User\": \"Usuario\", \"Customer\": \"Empresa\", \"Role\": \"Rol\" };\r\n\tblockCreationFor: Set<\"User\"|\"Customer\"|\"Role\"> = new Set([\"Customer\"]);\r\n\r\n\treloadByEntity = {\r\n\t\t\"User\": new Subject<boolean>(),\r\n\t\t\"Customer\": new Subject<boolean>(),\r\n\t\t\"Role\": new Subject<boolean>()\r\n\t}\r\n\r\n\tget userReload() { return this.reloadByEntity['User'] }\r\n\tget customerReload() { return this.reloadByEntity['Customer'] }\r\n\tget roleReload() { return this.reloadByEntity['Role'] }\r\n\r\n\tget subjects() {\r\n\t\treturn ({\r\n\t\t\t\"User\": this.selectedUserSubject,\r\n\t\t\t\"Customer\": this.selectedCustomerSubject,\r\n\t\t\t\"Role\": this.selectedRoleSubject\r\n\t\t})\r\n\t}\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t\tthis.reloadSubject.subscribe({\r\n\t\t\tnext: (entityName: any) => { this.reloadByEntity[entityName as \"User\" | \"Customer\" | \"Role\"]?.next(true) }\r\n\t\t})\r\n\t\tfor (let subject of Object.values(this.subjects)) {\r\n\t\t\tsubject.subscribe({ next: (item) => this.selectedItem = item });\r\n\t\t}\r\n\t}\r\n\r\n\tsetLanguage(language: string) {\r\n\t\tthis.language = language;\r\n\t}\r\n\r\n\tsetSecurityEndpoints(endpoints: SecurityEndpoints) {\r\n\t\tthis.endpoints = endpoints;\r\n\t}\r\n\r\n\tgetRoles() {\r\n\t\treturn this.http.get(this.endpoints.listRoles?.url ?? '');\r\n\t}\r\n\r\n\tdeleteMenuOption(option: any) {\r\n\t\treturn this.http.get(`${this.endpoints.deleteMenuOption?.url ?? ''}?optionId=${option.id}`)\r\n\t}\r\n\r\n\tsetTheme(theme: string) {\r\n\t\tthis.theme = Boolean(theme) ? theme : 'default';\r\n\t}\r\n\r\n\tgetActions(roleId: number, resourceId: number) {\r\n\t\treturn this.http.get(`${this.endpoints.actionsByRoleAndResource?.url ?? ''}?roleId=${roleId}&resourceId=${resourceId}`);\r\n\t}\r\n\r\n\tgetResourcesByRole(roleId: number) {\r\n\t\treturn this.http.get(`${this.endpoints.resourcesByRole?.url ?? ''}?roledId=${roleId}`);\r\n\t}\r\n\r\n\tsetMenuOptionFormComponent(component?: Type<any>) {\r\n\t\tthis.menuOptionFormComponent = component;\r\n\t}\r\n\r\n\r\n\tsaveMenuOption(option: any) {\r\n\t\treturn this.http.post(this.endpoints.saveMenuOption?.url ?? '', { ...option, id: option.id > -1 ? option.id : null });\r\n\t}\r\n\r\n\t// getUsers(page: number = 1, pageSize: number = 10) {\r\n\t// \treturn this.http.get(`this.listUsersEndpoint?page=${page}&pageSize=${pageSize}`);\r\n\t// }\r\n\r\n\tgetAssignedRoles(id: number, type: \"User\" | \"Customer\") {\r\n\t\treturn this.http.get(`${type === \"User\" ? (this.endpoints.rolesByUser?.url ?? '') : (this.endpoints.rolesByCustomer ?? '')}?${paramNames[type]}=${id}`);\r\n\t}\r\n\r\n\tassignRoles(id: number, roles: any[], type: \"User\" | \"Customer\") {\r\n\t\treturn this.http.post(type === \"User\" ? (this.endpoints.assignUserRole?.url ?? '') : (this.endpoints.assignCustomerRole?.url ?? ''), {\r\n\t\t\t[paramNames[type]]: id,\r\n\t\t\troles\r\n\t\t});\r\n\t}\r\n\r\n\tassignRoleUsers(roleId: number, users: any[]) {\r\n\t\treturn this.http.post(this.endpoints.assignRoleUsers?.url ?? '', {\r\n\t\t\troleId,\r\n\t\t\tusers\r\n\t\t})\r\n\t}\r\n\r\n\tassignRoleCustomers(roleId: number, customers: any[]) {\r\n\t\treturn this.http.post(this.endpoints.assignRoleCustomers?.url ?? '', {\r\n\t\t\troleId,\r\n\t\t\tcustomers\r\n\t\t})\r\n\t}\r\n\r\n\t// assignUserCustomers(userId: number, customers: any[]) {\r\n\t// \treturn this.http.post(this.endpoints.assignUserCustomers?.url ?? '', {userId, customers})\r\n\t// }\r\n\r\n\t// assignUserAgencies(userId: number, agencies: any[]) {\r\n\t// \treturn this.http.post(this.endpoints.assignUserAgencies?.url ?? '', {userId, agencies})\r\n\t// }\r\n\r\n\r\n\tassignUserCustomerAndAgencies(userId: number, customers: any[], agencies: { [customerId: number]: any[] }) {\r\n\t\treturn this.endpoints.assignUserCustomers?.onRequest({userId, customers, agencies});\r\n\t}\r\n\r\n\tassignCustomerUsers(customer: any, users: any[]) {\r\n\t\treturn this.endpoints.assignCustomerUsers?.onRequest({customer, users});\r\n\t}\r\n\r\n\tgetUserRolesByCustomers(user: any) {\r\n\t\treturn this.http.get(`${this.endpoints.customersByUser?.url}${this.endpoints.customersByUser?.queryParams?.(user)}`).pipe(\r\n\t\t\tswitchMap(this.endpoints.customersByUser?.responseMapping ?? defaultSwitchMapper),\r\n\t\t\tswitchMap((response: any) => {\r\n\t\t\t\treturn from(Array.from(new Set(response.load))).pipe(\r\n\t\t\t\t\tmergeMap(\r\n\t\t\t\t\t\tcustomerId => this.http.get(`${this.endpoints.rolesByCustomer?.url}${this.endpoints.rolesByCustomer?.queryParams?.({ id: customerId })}`)\r\n\t\t\t\t\t),\r\n\t\t\t\t\treduce((acc: any, curr: any) => acc.concat(curr), []),\r\n\t\t\t\t\tmap(newLoad => ({ ...response, load: newLoad }))\r\n\t\t\t\t)\r\n\t\t\t}),\r\n\t\t\tswitchMap((response2) => of({...response2, load: response2.load.map((response3: any) => response3.load).flat()}))\r\n\t\t)\r\n\t}\r\n\r\n\t// setRolesByUserEndpoint(endpoint: string) {\r\n\t// \tthis.rolesByUserEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setAssignUserRoleEndpoint(endpoint: string) {\r\n\t// \tthis.assignUserRoleEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setRolesByCustomerEndpoint(endpoint: string) {\r\n\t// \tthis.rolesByCustomerEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setAssignCustomerRoleEndpoint(endpoint: string) {\r\n\t// \tthis.assignCustomerRoleEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setSavePermissionsEndpoint(endpoint: string) {\r\n\t// \tthis.savePermissionsEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setUsersByCustomerEndpoint(endpoint: string) {\r\n\t// \tthis.usersByCustomerEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setListRolesEndpoint(endpoint: string) {\r\n\t// \tthis.listRolesEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setAssignResourceEndpoint(endpoint: string) {\r\n\t// \tthis.assignResourceEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setResourcesByRoleEndpoint(endpoint: string) {\r\n\t// \tthis.resourcesByRoleEndpoint = endpoint;\r\n\t// }\r\n\r\n\t// setActionsByRoleAndResourceEndpoint(endpoint: string) {\r\n\t// \tthis.getActionsEndpoint = endpoint;\r\n\t// }\r\n\r\n\tselectUser(user: any) {\r\n\t\tthis.selectedUserSubject.next(user);\r\n\t}\r\n\r\n\tselectCustomer(customer: any) {\r\n\t\tthis.selectedCustomerSubject.next(customer);\r\n\t}\r\n\r\n\tselectRole(role: any) {\r\n\r\n\t\tthis.selectedRoleSubject.next(role);\r\n\t}\r\n\r\n\tsaveItem(endpoint: string, updatedItem: any) {\r\n\t\treturn this.http.post(endpoint, updatedItem);\r\n\t}\r\n\r\n\tassignResource(roleId: number, resources: any[]) {\r\n\t\treturn this.http.post(this.endpoints.assignResources?.url ?? '', { roleId, resources });\r\n\t}\r\n\r\n\tassignOptions(roleId: number, options: any[]) {\r\n\t\treturn this.http.post(this.endpoints.assignoptions?.url ?? '', { roleId, options });\r\n\t}\r\n\r\n\tsavePermissions(permissions: any[]) {\r\n\t\treturn this.http.post(this.endpoints.savePermissions?.url ?? '', permissions);\r\n\t}\r\n\r\n\tgetMenuTree() {\r\n\t\treturn this.http.get(this.endpoints.getMenuTree?.url ?? '');\r\n\t}\r\n\r\n\tgetAppModules() {\r\n\t\treturn this.http.get(this.endpoints.listModules?.url ?? '');\r\n\t}\r\n\r\n\tsaveModule(module: any) {\r\n\t\treturn this.http.post(this.endpoints.createModule?.url ?? '', module);\r\n\t}\r\n\r\n\treloadEntity(entityName: \"User\" | \"Customer\" | \"Role\") {\r\n\t\tthis.reloadSubject.next(entityName);\r\n\t}\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'lib-snackbar',\r\n templateUrl: './snackbar.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./snackbar.component.scss']\r\n})\r\nexport class SnackbarComponent {\r\n\ttype: \"info\" | \"success\" | \"warning\" = \"info\";\r\n\tmessage: string = '';\r\n\ttheme: string = 'default';\r\n\ticons = {info: 'menu-info', warning: 'menu-warning1', success: 'menu-check-circle'};\r\n\tget typeIcon() { return this.icons[this.type] }\r\n\r\n\tconstructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) {\r\n\t\tthis.type = data?.type ?? \"info\";\r\n\t\tthis.message = data?.message ?? '';\r\n\t\tthis.theme = data?.theme ?? 'default';\r\n\t}\r\n\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" [class]=\"['container', type]\">\r\n\t<i [class]=\"typeIcon\"></i>\r\n\t<span>{{message}}</span>\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\r\nimport { SnackbarComponent } from '../snackbar/snackbar.component';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SnackbarService {\r\n\thorizontalPosition: MatSnackBarHorizontalPosition = 'center';\r\n\tverticalPosition: MatSnackBarVerticalPosition = 'top';\r\n\ttheme: string = 'default';\r\n\r\n\tconstructor(private _snackBar: MatSnackBar) { }\r\n\r\n\tsetTheme(theme: string){\r\n\t\tthis.theme = theme;\r\n\t}\r\n\r\n\topenSnackBar(message: string, type = 'info', duration: number = 3000) {\r\n\t\tthis._snackBar.openFromComponent(SnackbarComponent, {\r\n\t\t\tdata: { theme: this.theme, message, type }, \r\n\t\t\tduration,\r\n\t\t\thorizontalPosition: this.horizontalPosition,\r\n verticalPosition: this.verticalPosition,\r\n\t\t})\r\n\t}\r\n\r\n\tsuccess(message: string, duration: number = 3000) {\r\n\t\tthis.openSnackBar(message, 'success', duration);\r\n\t}\r\n\r\n\twarning(message: string, duration: number = 3000) {\r\n\t\tthis.openSnackBar(message, 'warning', duration);\r\n\t}\r\n\r\n\tinfo(message: string, duration: number = 3000) {\r\n\t\tthis.openSnackBar(message, 'info', duration);\r\n\t}\r\n}\r\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-loader',\r\n\ttemplateUrl: './loader.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './loader.component.scss']\r\n})\r\nexport class LoaderComponent implements OnChanges {\r\n\t@Input() theme: string = 'default';\r\n\t@Input() loading: boolean = false;\r\n\t@Input() type: \"spinner\" | \"bar\" = \"spinner\";\r\n\r\n\tloadingStatus: boolean = false;\r\n\tstartedAt: any = 0;\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (!changes['loading'].previousValue && changes['loading'].currentValue) {\r\n\t\t\tthis.loadingStatus = true;\r\n\t\t\tthis.startedAt = Date.now();\r\n\t\t}\r\n\r\n\t\tif (changes['loading'].previousValue && !changes['loading'].currentValue) {\r\n\t\t\tif (typeof this.startedAt === 'number') {\r\n\t\t\t\tconst currentTime = Date.now();\r\n\t\t\t\tconst elapsedTime = currentTime - this.startedAt;\r\n\t\t\t\tconst delay = Math.max(0, 1400 - elapsedTime);\r\n\t\t\t\tsetTimeout(() => { this.loadingStatus = false }, delay)\r\n\t\t\t} else {\r\n\t\t\t\tthis.loadingStatus = false\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tget loadingByType() {\r\n\t\treturn this.type === \"spinner\" ? this.loading : this.loadingStatus;\r\n\t}\r\n}\r\n","<div [class]=\"['container'+type]\">\r\n\t<div [attr.data-theme]=\"theme\" [class]=\"type\" *ngIf=\"loadingByType\"></div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-radio-button',\r\n templateUrl: './radio-button.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./radio-button.component.scss']\r\n})\r\nexport class RadioButtonComponent {\r\n\t@Input() active: boolean= false;\r\n\t@Input() theme: string = '';\r\n}\r\n","<div [class]=\"['radio-circle', active ? 'active':'']\">\r\n</div>","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\n\r\n@Pipe({\r\n\tname: 'translate'\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n\r\n\tprivate translations: { [key: string]: { [key: string]: string } } = {\r\n\t\t'en': {\r\n\t\t\t'security': 'Security Admin',\r\n\t\t\t'USERS': 'USERS',\r\n\t\t\t'CLIENTS': 'CLIENTS',\r\n\t\t\t'ROLES': 'ROLES',\r\n\t\t\t'MENU': 'MENU',\r\n\t\t\t'MODULES': 'MODULES',\r\n\t\t\t'Users': 'Users',\r\n\t\t\t'User': 'User',\r\n\t\t\t'Customers': 'Customers',\r\n\t\t\t'Customer': 'Customer',\r\n\t\t\t'Roles': 'Roles',\r\n\t\t\t'Role': 'Role',\r\n\t\t\t'roles': 'roles',\r\n\t\t\t'Menu': 'Menu',\r\n\t\t\t'Edit Users': 'Edit Users',\r\n\t\t\t'Edit Customers': 'Edit Customers',\r\n\t\t\t'Edit Roles': 'Edit Roles',\r\n\t\t\t'Modules': 'Modules',\r\n\t\t\t'Create': 'Create',\r\n\t\t\t'Save': 'Save',\r\n\t\t\t'Edit': 'Edit',\r\n\t\t\t'module': 'module',\r\n\t\t\t'Assign Roles': 'Assign Roles',\r\n\t\t\t'Assign/Remove': 'Assign/Remove',\r\n\t\t\t'Available Customers': 'Available Customers',\r\n\t\t\t'Available Agencies': 'Available Agencies',\r\n\t\t\t'Selected Customers': 'Selected Customers',\r\n\t\t\t'Assigned Roles (User)': 'Assigned Roles (User)',\r\n\t\t\t'Assigned Roles (Customer)': 'Assigned Roles (Customer)',\r\n\t\t\t'Available Users': 'Available Users',\r\n\t\t\t'Selected Users': 'Selected Users',\r\n\t\t\t'Assigned Roles': 'Assigned Roles',\r\n\t\t\t'Drag Resources Here':'Drag Resources Here',\r\n\t\t\t'Resources':'Resources',\r\n\t\t\t'No assigned resources': 'No assigned resources',\r\n\t\t\t'Search...':'Search...',\r\n\t\t\t'Not Found 1': 'Not Found',\r\n\t\t\t'No options found':'No options found',\r\n\t\t\t'Not Found 2': 'Not Found',\r\n\t\t\t'Type':'Type',\r\n\t\t\t'Actions': 'Actions',\r\n\t\t\t'More information':'More information',\r\n\t\t\t'Select a customer to edit':'Select a customer to edit'\r\n\t\t},\r\n\t\t'es': {\r\n\t\t\t'security': \"Seguridad\",\r\n\t\t\t'USERS': 'USUARIOS',\r\n\t\t\t'CLIENTS': 'EMPRESAS',\r\n\t\t\t'ROLES': 'ROLES',\r\n\t\t\t'MENU': 'MENÚ',\r\n\t\t\t'MODULES': 'MÓDULOS',\r\n\t\t\t'Users': 'Usuarios',\r\n\t\t\t'User': 'Usuario',\r\n\t\t\t'Customers': 'Empresas',\r\n\t\t\t'Customer': 'Empresa',\r\n\t\t\t'Roles': 'Roles',\r\n\t\t\t'Role': 'Rol',\r\n\t\t\t'Edit Users': 'Editar Usuarios',\r\n\t\t\t'Edit Customers': 'Editar Empresas',\r\n\t\t\t'Edit Roles': 'Editar Roles',\r\n\t\t\t'Menu': 'Menú',\r\n\t\t\t'Modules': 'Módulos',\r\n\t\t\t'Create': 'Crear',\r\n\t\t\t'Edit': 'Editar',\r\n\t\t\t'module': 'módulo',\r\n\t\t\t'Save': 'Guardar',\r\n\t\t\t'roles': 'roles',\r\n\t\t\t'Assign Roles': 'Assignar Roles',\r\n\t\t\t'Assign/Remove': 'Asignar/Remover',\r\n\t\t\t'Available Customers': 'Empresas Disponibles',\r\n\t\t\t'Selected Customers': 'Empresas Seleccionadas',\r\n\t\t\t'Available Agencies': 'Agencias Disponibles',\r\n\t\t\t'Assigned Roles (User)': 'Roles Asignados (Usuario)',\r\n\t\t\t'Assigned Roles (Customer)': 'Roles Asignados (Empresa)',\r\n\t\t\t'Available Users': 'Usuarios Disponibles',\r\n\t\t\t'Selected Users': 'Usuarios Seleccionados',\r\n\t\t\t'Assigned Roles': 'Roles Asignados',\r\n\t\t\t'Drag Resources Here':'Arrastrar Recursos Aquí',\r\n\t\t\t'Resources': 'Recursos',\r\n\t\t\t'Search...':'Buscar...',\r\n\t\t\t'Not Found 1': 'No hay resultados',\r\n\t\t\t'No options found':'No hay elementos',\r\n\t\t\t'Not Found 2': 'No hay elementos',\r\n\t\t\t'Type':'Tipo',\r\n\t\t\t'No assigned resources':'No hay recursos asignados',\r\n\t\t\t'Actions':'Acciones',\r\n\t\t\t'More information':'Más información',\r\n\t\t\t'Select a user to assign customers': 'Selecciona un usario para asignar empresas',\r\n\t\t\t'Select a customer to assign users': 'Selecciona una empresa para asignar usuarios',\r\n\t\t\t'Select a role to assign users': 'Selecciona un rol para asignar usuarios',\r\n\t\t\t'Select a role to assign customers': 'Selecciona un rol para asignar empresas',\r\n\t\t\t'Select a customer to edit':'Selecciona una empresa para editar',\r\n\t\t\t'Something went wrong': 'Ocurrió un error'\r\n\r\n\t\t}\r\n\t\t// add more translations here\r\n\t};\r\n\r\n\tconstructor(private securityAdminService: SecurityAdminService) { }\r\n\r\n\ttransform(value: string): string {\r\n\t\treturn this.translations[this.securityAdminService.language][value] || value;\r\n\t}\r\n\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\ninterface Resource {\r\n\tid: number,\r\n\tname: string\r\n}\r\n\r\ninterface Role {\r\n\tid: number,\r\n\tname: string\r\n}\r\n\r\n@Component({\r\n\tselector: 'lib-resource-actions',\r\n\ttemplateUrl: './resource-actions.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './resource-actions.component.scss']\r\n})\r\nexport class ResourceActionsComponent {\r\n\tresource: any;\r\n\trole: any;\r\n\ttheme: string = 'default';\r\n\tget resourceName() { return this.resource?.name ?? '' }\r\n\tactions: any[] = [];\r\n\tloadingActions: boolean = false;\r\n\r\n\tactionStatus = [\r\n\t\t{ name: 'No asignado', value: null },\r\n\t\t{ name: 'Permitir', value: 1 },\r\n\t\t{ name: 'Denegar', value: 0 }\r\n\t]\r\n\t// actions: any[] = Array.from({length: 10}).map((_,i)=>({id:i, name: `Acción ${i}`, key: `btn${i}`, status: i%3}));\r\n\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef<ResourceActionsComponent>,\r\n\t\t@Inject(MAT_DIALOG_DATA)\r\n\t\tpublic data: { theme: string, item: Resource, entityObject: Role },\r\n\t\tprivate securityAdminService: SecurityAdminService,\r\n\t\tprivate snackbar: SnackbarService) {\r\n\t\tthis.resource = data.item;\r\n\t\tthis.theme = data.theme;\r\n\t\tthis.role = data.entityObject;\r\n\t\tthis.loadingActions = true;\r\n\t\tthis.securityAdminService.getActions(this.role.id, this.resource.id).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.actions = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingActions = false;\r\n\t\t\t},\r\n\t\t\terror: () => this.loadingActions = false\r\n\t\t});\r\n\t}\r\n\r\n\tassignStatus(action: any, status: number | null) {\r\n\t\taction.permission = status;\r\n\t}\r\n\r\n\r\n\tonSave() {\r\n\t\tthis.snackbar.info('Guardando');\r\n\t\tthis.securityAdminService.savePermissions(this.actions.map(action => ({\r\n\t\t\troleId: this.role.id,\r\n\t\t\tresourceId: this.resource.id,\r\n\t\t\tactionId: action.id,\r\n\t\t\tpermission: action.permission\r\n\t\t}\r\n\t\t))).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Acciones actualizadas')\r\n\t\t\t\t} else { this.snackbar.warning('Ocurrió un error al guardar las acciones') }\r\n\t\t\t},\r\n\t\t\terror: () => {\r\n\t\t\t\tthis.snackbar.warning('Ocurrió un error al guardar las acciones')\r\n\t\t\t}\r\n\t\t});\r\n\t\t// this.dialogRef.close();\r\n\t}\r\n\r\n\tonClose() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\t// actionStatus(i: number, action: any) {\r\n\t// \treturn (i===0 && action.permission === null) || (i===1 && action.permission === 1) || (i===2 && action.permission===0)\r\n\t// }\r\n\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"dialog-header\">\r\n\t<div class=\"title-container\">\r\n\t\t<i class=\"menu-gear\"></i>\r\n\t\t<div class=\"title\">\r\n\t\t\t<span class=\"titleLabel\">\r\n\t\t\t\tAsignación de acciones\r\n\t\t\t</span>\r\n\t\t\t<span class=\"resource\">{{resourceName}}</span>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"buttons-container\">\r\n\t\t<button class=\"primary\" (click)=\"onSave()\">{{'Save' | translate}}</button>\r\n\t\t<button class=\"ghost\" (click)=\"onClose()\"><i class=\"menu-close\"></i></button>\r\n\t</div>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" class=\"dialog-content\">\r\n\t<div class=\"table-header table-grid\">\r\n\t\t<span>Acciones</span>\r\n\t\t<span *ngFor=\"let status of actionStatus\">{{status.name}}</span>\r\n\t</div>\r\n\t<lib-loader type=\"bar\" [theme]=\"theme\" [loading]=\"loadingActions\"></lib-loader>\r\n\t<div class=\"table-content\">\r\n\t\t\t<div [attr.data-theme]=\"theme\" *ngFor=\"let action of actions\" class=\"action table-grid\">\r\n\t\t\t\t<div class=\"action-info\">\r\n\t\t\t\t\t<span>{{action.name}}</span>\r\n\t\t\t\t\t<span class=\"sub-info\"><b>Clave </b>{{action.pkey}}</span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"radio-button\" *ngFor=\"let option of actionStatus\" (click)=\"assignStatus(action, option.value)\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t<lib-radio-button [active]=\"action.permission===option.value\"></lib-radio-button>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t</div>\r\n\t\r\n\r\n</div>","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-input',\r\n templateUrl: './input.component.html',\r\n styleUrls: ['../assets/fonts/style.css','../assets/theme.scss','./input.component.scss']\r\n})\r\nexport class InputComponent {\r\n @Input() name: string = 'input';\r\n @Input() label: string = '';\r\n @Input() icon?: string = '';\r\n @Input() iconPosition?: string = 'left';\r\n @Input() className?: string = '';\r\n @Input() formControl!: FormControl;\r\n @Input() theme: string = 'default';\r\n @Input() appereance: string = 'outlined';\r\n @Input() clearButton: boolean = false;\r\n\t@Input() disabled?: boolean = false;\r\n @Input() type: string = 'text';\r\n\t@Output() keyup = new EventEmitter<any>();\r\n @HostBinding('style') hostStyle: any;\r\n\r\n @Input() set style(styleInput :{[key: string]: any}) {\r\n this.hostStyle = styleInput;\r\n };\r\n\r\n get hasIcon() {\r\n return Boolean(this.icon);\r\n }\r\n\r\n get showClearButton(){\r\n return this.clearButton && Boolean(this.formControl.value);\r\n }\r\n\r\n\tget disabledClass() {\r\n\t\treturn this.disabled ? 'disabled' : '';\r\n\t}\r\n\r\n clearValue () {\r\n \r\n this.formControl.setValue('');\r\n }\r\n\r\n\tkeyupHandler(event: any){\r\n\t\tthis.keyup.emit(event);\r\n\t}\r\n\r\n\r\n}\r\n ","<div [style]=\"style\" [attr.data-theme]=\"theme\" [class]=\"['wrapper', iconPosition, appereance, disabledClass]\">\r\n <input ngDefaultControl (keyup)=\"keyupHandler($event)\" #input [class]=\"[icon ? iconPosition : '', showClearButton ? 'hasClearButton' :'']\" [name]=\"name\" [formControl]=\"formControl\" placeholder=\"\"\r\n autocomplete=\"off\" type=\"{{type}}\" />\r\n <i [class]=\"[icon, iconPosition]\" *ngIf=\"hasIcon\"></i>\r\n <div [class]=\"['border', appereance]\">\r\n <div class=\"left-border\"></div>\r\n <div class=\"label-border\">\r\n <div class=\"border-top\"></div>\r\n <label [class]=\"[icon ? iconPosition : '', appereance]\" [for]=\"name\">{{ label }}</label>\r\n <div class=\"border-bottom\"></div>\r\n </div>\r\n <div class=\"right-border\"></div>\r\n </div>\r\n <div (focus)=\"input.focus()\" (click)=\"clearValue()\" *ngIf=\"showClearButton\" class=\"closeButton\">\r\n <b class=\"menu-close\"></b>\r\n </div>\r\n</div>","import { Component, Inject, Input } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\n\r\ninterface Resource {\r\n\tid: number,\r\n\tname: string\r\n}\r\n\r\n@Component({\r\n selector: 'lib-role-info',\r\n templateUrl: './role-info.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './role-info.component.scss']\r\n})\r\nexport class RoleInfoComponent {\r\n theme: string = 'default';\r\n role: any;\r\n actions: any = [];\r\n\tloadingResources: boolean = false;\r\n\tloadingActions: boolean = false;\r\n // get resources () {return this.role.resources.map((r: any,i: number) => ({id: i, name: r}))}\r\n\tresources : Resource[] = [];\r\n\r\n\tselectedResource : Resource= {id: -1, name: ''}\r\n\r\n\tget showPlaceholder () {return !this.loadingResources && this.resources.length < 1}\r\n\r\n constructor( \r\n\t\tpublic dialogRef: MatDialogRef<RoleInfoComponent>, \r\n\t\t@Inject(MAT_DIALOG_DATA) public data: {theme: string, role: any},\r\n\t\tprivate securityService: SecurityAdminService\r\n\t){\r\n this.theme = data.theme;\r\n this.role = data.role;\r\n\t\tthis.loadResources();\r\n\r\n }\r\n\r\n\tloadResources(){\r\n\t\tthis.loadingResources = true;\r\n\t\tthis.securityService.getResourcesByRole(this.role.id).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200){\r\n\t\t\t\t\tthis.resources = response.load;\r\n\t\t\t\t\tif(response.load.length > 0) {\r\n\t\t\t\t\t\tthis.selectResource(response.load[0])\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingResources = false;\r\n\t\t\t},\r\n\t\t\terror: _ => this.loadingResources = false\r\n\t\t})\r\n\t}\r\n\r\n \r\n onSave(){\r\n this.dialogRef.close();\r\n }\r\n\r\n onClose(){\r\n this.dialogRef.close();\r\n }\r\n\r\n\tselectResource(resource:Resource ){\r\n\t\tthis.selectedResource = resource;\r\n\t\tthis.loadActions();\r\n\t}\r\n\r\n\tloadActions(){\r\n\t\tthis.loadingActions = true;\r\n\t\tthis.securityService.getActions(this.role.id, this.selectedResource.id).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200){\r\n\t\t\t\t\tthis.actions = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingActions = false;\r\n\t\t\t},\r\n\t\t\terror: _ => this.loadingActions = false\r\n\t\t})\r\n\t}\r\n\r\n\tisSelected(resource: Resource) {\r\n\t\treturn this.selectedResource.id === resource.id ? 'selected': '';\r\n\t}\r\n\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"dialog-header\">\r\n <div class=\"title-container\">\r\n <i class=\"menu-info\"></i>\r\n <span>{{'More information' | translate}} - {{role.name}}</span>\r\n </div>\r\n <div class=\"buttons-container\">\r\n <button class=\"ghost\" (click)=\"onClose()\"><i class=\"menu-close\"></i></button>\r\n </div>\r\n</div>\r\n\r\n<div [attr.data-theme]=\"theme\" class=\"content\">\r\n <!-- <lib-items-viewer [showPaginator]=\"false\" [showSearch]=\"false\" [title]=\"'Recursos'\" [theme]=\"theme\" [items]=\"resources?? []\"></lib-items-viewer> -->\r\n <div class=\"list-container\">\r\n\t\t<div class=\"list-header\">{{'Resources' | translate}}</div>\r\n\t\t<div class=\"list-content\">\r\n\t\t\t<lib-loader type=\"bar\" [loading]=\"loadingResources\" [theme]=\"theme\"></lib-loader>\r\n\t\t\t<span *ngIf=\"showPlaceholder\" class=\"placeholder\">{{'No assigned resources' | translate}}</span>\r\n\t\t\t<div *ngFor=\"let resource of resources\" (click)=\"selectResource(resource)\">\r\n\t\t\t\t<div [class]=\"['resource', isSelected(resource)]\">\r\n\t\t\t\t\t{{resource.name}}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div [attr.data-theme]=\"theme\" class=\"list-container\">\r\n <span class=\"list-header\">{{'Actions' | translate}}</span>\r\n <div class=\"list-content\">\r\n\t\t\t<lib-loader type=\"bar\" [loading]=\"loadingActions\" [theme]=\"theme\"></lib-loader>\r\n <div *ngFor=\"let action of actions\" class=\"action\">\r\n <div class=\"action-info\">\r\n <span>{{action.name}}</span>\r\n <span class=\"sub-info\"><b>Clave </b>{{action.key}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RoleInfoComponent } from '../role-info/role-info.component';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\n\r\n@Component({\r\n selector: 'lib-role-card',\r\n templateUrl: './role-card.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './role-card.component.scss']\r\n})\r\nexport class RoleCardComponent {\r\n @Input() object: any;\r\n @Input() infoButton: boolean = false;\r\n @Input() actions: any[] = [];\r\n @Input() theme: string ='default'\r\n get resources() {\r\n\t\treturn (this.object.resources?.map((resource: any) => resource.name)?.join(', ') || \"No asignados\");\r\n\t}\r\n\r\n constructor(public dialog: MatDialog, private securityAdminService:SecurityAdminService) {\r\n\r\n }\r\n\r\n openInfo() {\r\n this.dialog.open(RoleInfoComponent, {data: {\r\n role: this.object,\r\n theme: this.securityAdminService.theme ?? this.theme\r\n }}).afterClosed().subscribe(result=>{\r\n \r\n })\r\n }\r\n}\r\n","<div class=\"role-content\">\r\n <span class=\"role-name\">\r\n {{object.name}}\r\n </span>\r\n <div class=\"info\">\r\n <span class=\"role-type-label\">{{'Type' | translate}} -</span>\r\n <span class=\"role-type highlight\">{{object.type}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"highlight\">{{'Resources' | translate}}: </span>\r\n <span>{{resources}}</span>\r\n </div>\r\n</div>\r\n<div class=\"options\">\r\n <!-- <i class=\"menu-horizontal-options\"></i> -->\r\n <button class=\"primary\" (click)=\"openInfo()\"><i class=\"menu-info\"></i>Ver</button>\r\n <button class=\"ghost\" *ngFor=\"let action of actions\" (click)=\"action.callback?.(object)\"><i [class]=\"action.icon\"></i></button>\r\n</div>","import { CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { Component, Inject, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { RoleCardComponent } from '../role-card/role-card.component';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { RequestDetails } from '../interfaces/interfaces';\r\nimport { FormControl } from '@angular/forms';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\ninterface Entity {\r\n\tid: number,\r\n\tname: string,\r\n\tentityType: \"Customer\" | \"User\"\r\n}\r\n\r\nconst entityNames = {\r\n\tCustomer: \"Empresa\",\r\n\tUser: \"Usuario\"\r\n}\r\n\r\n@Component({\r\n\tselector: 'lib-assign-roles',\r\n\ttemplateUrl: './assign-roles.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './assign-roles.component.scss']\r\n})\r\nexport class AssignRolesComponent {\r\n\ttheme: string = 'default';\r\n\troles: any[] = [];\r\n\tdropHover: boolean = false;\r\n\tassigned: Set<string | number> = new Set([]);\r\n\tsearch = new FormControl<string>('');\r\n\tloadingOptions: boolean = false;\r\n\tloadingSelection: boolean = false;\r\n\tentity: Entity = { id: -1, name: '', entityType: \"User\" };\r\n\t@ViewChild('dropItemsList') dropItemsList1: any = CdkDropList;\r\n\t@ViewChild('dragOptionsList') dragOptionsList1: any = CdkDropList;\r\n\tget dragOptions() { return this.roles.filter(role => !this.assigned.has(role.id)) ?? []; }\r\n\tget droppedItems() { return this.roles.filter(role => this.assigned.has(role.id)) ?? []; }\r\n\tget entityName() { return ` - ${entityNames[this.entity.entityType]}` }\r\n\r\n\tremoveRole(role: any) {\r\n\t\tthis.assigned.delete(role.id);\r\n\t}\r\n\r\n\tuiActions = [{ icon: 'menu-bin', callback: (role: any) => this.removeRole(role) }]\r\n\r\n\r\n\tdrop(event: CdkDragDrop<any[]>) {\r\n\r\n\t\tif (!(event.previousContainer === event.container)) {\r\n\r\n\t\t\tthis.assigned.add(event.item.data?.id);\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField.control.value?.push?.(event.item.data))\r\n\t\t}\r\n\t\tthis.setDropHover(false);\r\n\t}\r\n\r\n\tsetDropHover(value: boolean) {\r\n\t\tthis.dropHover = value;\r\n\t}\r\n\r\n\tconstructor(public dialogRef: MatDialogRef<AssignRolesComponent>,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: { theme: string, entityType: \"Customer\" | \"User\" },\r\n\t\tprivate securityAdminService: SecurityAdminService,\r\n\t\tprivate snackbar: SnackbarService) {\r\n\t\tthis.theme = data.theme;\r\n\t\tlet selectedItem = this.securityAdminService.selectedItem;\r\n\t\tthis.entity = { ...selectedItem, entityType: data.entityType, name: [selectedItem?.name, selectedItem?.lastname ?? ''].join(' ') };\r\n\t\tthis.loadRoleOptions();\r\n\t\tthis.loadAssignedRoles();\r\n\t}\r\n\r\n\tloadAssignedRoles() {\r\n\t\tthis.loadingSelection = true;\r\n\r\n\t\tthis.securityAdminService.getAssignedRoles(this.entity.id, this.entity.entityType).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.assigned = new Set(response.load.map((role: any) => role.id));\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingSelection = false;\r\n\t\t\t} ,\r\n\t\t\terror: () => this.loadingSelection = false\r\n\t\t})\r\n\t}\r\n\r\n\tloadRoleOptions() {\r\n\t\tthis.loadingOptions = true;\r\n\t\tthis.securityAdminService.getRoles().subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tlet completeRoles: any[] = [];\r\n\t\t\t\t\tif (response.load.length < 1) {\r\n\t\t\t\t\t\tthis.loadingOptions = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (let role of response.load) {\r\n\t\t\t\t\t\tthis.securityAdminService.getResourcesByRole(role.id).subscribe({\r\n\t\t\t\t\t\t\tnext: (roleResponse: any) => {\r\n\t\t\t\t\t\t\t\tif (roleResponse.responseCode === 200) {\r\n\t\t\t\t\t\t\t\t\tcompleteRoles.push({ ...role, resources: roleResponse.load });\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tcompleteRoles.push(role);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (completeRoles.length === response.load.length) {\r\n\t\t\t\t\t\t\t\t\tthis.roles = completeRoles.sort((a, b) => a.name.localeCompare(b.name));\r\n\t\t\t\t\t\t\t\t\tthis.loadingOptions = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\terror: () => {\r\n\t\t\t\t\t\t\t\tcompleteRoles.push(role);\r\n\t\t\t\t\t\t\t\tif (completeRoles.length === response.load.length) {\r\n\t\t\t\t\t\t\t\t\tthis.roles = completeRoles.sort((a, b) => a.name.localeCompare(b.name));\r\n\t\t\t\t\t\t\t\t\tthis.loadingOptions = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.loadingOptions = false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: () => this.loadingOptions = false\r\n\t\t});\r\n\t}\r\n\r\n\tonSave() {\r\n\t\tthis.snackbar.info('Guardando...')\r\n\t\tthis.securityAdminService.assignRoles(this.entity.id, this.droppedItems, this.entity.entityType).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Roles Actualizados')\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar roles');\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: (response: any) => {\r\n\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar roles');\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tonClose() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\troleActions = [\r\n\t\t{ icon: 'menu-bin', callback: (role: any) => { this.assigned.delete(role.id) } }\r\n\t]\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"dialog-header\">\r\n\t<div class=\"title-container\">\r\n\t\t<i class=\"menu-gear\"></i>\r\n\t\t<div class=\"title\">\r\n\t\t\t<span class=\"title-label\">{{'Assign/Remove' | translate}} {{'roles' | translate}} {{entityName}}</span>\r\n\t\t\t<span class=\"title-name\">{{entity.name}}</span>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"buttons-container\">\r\n\t\t<button class=\"primary\" (click)=\"onSave()\">{{'Save' | translate}}</button>\r\n\t\t<button class=\"ghost\" (click)=\"onClose()\"><i class=\"menu-close\"></i></button>\r\n\t</div>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" class=\"dialog-content\">\r\n\t<div class=\"available\">\r\n\t\t<lib-input ngDefaultControl [formControl]=\"search\" name=\"search\" [label]=\"'Search...' | translate\" [clearButton]=\"true\"\r\n\t\t\ticon=\"menu-search\" [theme]=\"theme\"></lib-input>\r\n\t\t<lib-loader type=\"bar\" [loading]=\"loadingOptions\" [theme]=\"theme\"></lib-loader>\r\n\t\t<div class=\"drag-items\" cdkDropList cdkDropListSortingDisabled #dragOptionsList=\"cdkDropList\"\r\n\t\t\t[cdkDropListData]=\"dragOptions\" [cdkDropListConnectedTo]=\"dropItemsList1\">\r\n\t\t\t<lib-role-card [attr.data-theme]=\"theme\" [theme]=\"theme\" *ngFor=\"let role of dragOptions\" [object]=\"role\" [infoButton]=\"true\" cdkDrag [cdkDragData]=\"role\"></lib-role-card>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"assigned-area\">\r\n\t\t<span class=\"assigned-area-label\">Roles Asignados</span>\r\n\t\t<lib-loader type=\"bar\" [theme]=\"theme\" [loading]=\"loadingSelection\"></lib-loader>\r\n\t\t<div class=\"dropped-items-area\">\r\n\t\t\t<div class=\"drop-area-container\">\r\n\t\t\t\t<div [class]=\"[ dropHover?'drop-area-hover':'', 'drop-area']\">\r\n\t\t\t\t\t<span class=\"drop-area-label\">Arrastrar Roles Aquí</span>\r\n\t\t\t\t\t<div class=\"drop-list\" cdkDropList #dropItemsList=\"cdkDropList\" [cdkDropListData]=\"droppedItems\"\r\n\t\t\t\t\t\t[cdkDropListConnectedTo]=\"dragOptionsList1\" (cdkDropListDropped)=\"drop($event)\"\r\n\t\t\t\t\t\t(cdkDropListEntered)=\"setDropHover(true)\" (cdkDropListExited)=\"setDropHover(false)\"\r\n\t\t\t\t\t\tcdkDropListSortingDisabled></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"drop-items\">\r\n\t\t\t\t<lib-role-card *ngFor=\"let role of droppedItems\" [object]=\"role\" [infoButton]=\"true\" [theme]=\"theme\" [actions]=\"uiActions\"></lib-role-card>\r\n\t\t\t</div>\r\n\r\n\t\t</div>\r\n\t</div>\r\n\r\n</div>","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\r\n\r\ninterface TreeNode {\r\n\tid: number | null,\r\n\tparentId: number | null;\r\n\tancestorIds:(number|null)[];\r\n\tlabel?: string,\r\n\tname?: string,\r\n\tchildren: TreeNode[];\r\n\tlevel?: number;\r\n}\r\n\r\n@Component({\r\n\tselector: 'lib-tree',\r\n\ttemplateUrl: './tree.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './tree.component.scss']\r\n})\r\nexport class TreeComponent implements OnChanges {\r\n\t@Input() tree: TreeNode[] = [];\r\n\t@Input() theme: string = '';\r\n\t@Output() nodeSelected = new EventEmitter<TreeNode>();\r\n\r\n\teditedTree: TreeNode[] = [];\r\n\tselectedNode: TreeNode = { id: -1, parentId: null, label: '', children: [], ancestorIds:[] };\r\n\texpandedNodes = new Set();\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tlet { tree } = changes;\r\n\t\tif (tree) {\r\n\t\t\tthis.editedTree = flattenTree(tree.currentValue, completeNode);\r\n\t\t}\r\n\t}\r\n\r\n\tget stringfy() {\r\n\t\treturn JSON.stringify(this.tree);\r\n\t}\r\n\r\n\tselectedClass(node: TreeNode) {\r\n\t\treturn node.id === this.selectedNode.id ? 'selected' : '';\r\n\t}\r\n\r\n\tisSelected(node: TreeNode) {\r\n\t\treturn this.selectedNode.id === node.id;\r\n\t}\r\n\r\n\tselectNode(node: TreeNode) {\r\n\t\tthis.selectedNode = node;\r\n\t\tthis.nodeSelected.emit(node);\r\n\t}\r\n\r\n\tisExpanded(node: TreeNode) {\r\n\t\treturn this.expandedNodes.has(node.id);\r\n\t}\r\n\r\n\tgetLevel(node: TreeNode) {\r\n\t\treturn 1;\r\n\t}\r\n\r\n\ttoggleNode(node: TreeNode) {\r\n\t\tthis.expandedNodes.has(node.id) ? this.expandedNodes.delete(node.id) : this.expandedNodes.add(node.id);\r\n\t}\r\n\r\n\thasChildren(node: TreeNode) {\r\n\t\treturn node.children.length > 0;\r\n\t}\r\n\r\n\tnodeContainerStyle(node: TreeNode) {\r\n\t\treturn { 'padding-left': `${20 * (node.level ?? 0)}px` }\r\n\t}\r\n\r\n\thideNode(node: TreeNode) {\r\n\t\treturn (node.parentId !== null) && (!(node.ancestorIds.every(nodeId => this.expandedNodes.has(nodeId))));\r\n\t}\r\n\r\n}\r\n\r\nconst completeNode = (node: TreeNode, level: number, prevAncestors: (number | null)[]) => ({\r\n\t...node,\r\n\tlevel: level,\r\n\tancestorIds: (node.parentId === null) ? [] : [...prevAncestors],\r\n})\r\n\r\nfunction flattenTree(tree: TreeNode[], mapNode: Function = (node: TreeNode) => node, level: number = 0, prevAncestors: (number | null)[] = []) {\r\n\tlet response: TreeNode[] = tree.flatMap(node => [mapNode(node, level, prevAncestors), ...flattenTree(node.children ?? [], mapNode, level + 1, [...prevAncestors, node.id])])\r\n\treturn response;\r\n}\r\n\r\n","<div [attr.data-theme]=\"theme\" *ngFor=\"let node of editedTree\" [class]=\"['node-container', hideNode(node) ? 'hide' : '']\" [style]=\"nodeContainerStyle(node)\">\r\n\t<div [class]=\"['node', selectedClass(node)]\" (click)=\"selectNode(node)\">\r\n\t\t<button *ngIf=\"hasChildren(node)\" (click)=\"toggleNode(node)\"\r\n\t\t\t[class]=\"['tree-toggle', isExpanded(node) ? '': 'rotated']\">\r\n\t\t\t<i [class]=\"['menu-arrow-down']\"></i>\r\n\t\t</button>\r\n\t\t<button *ngIf=\"!hasChildren(node)\" class=\"tree-toggle\">\r\n\r\n\t\t</button>\r\n\t\t<div class=\"tree-node\">\r\n\t\t\t<div class=\"input-container\">\r\n\t\t\t\t<!-- <input #nodeNameInput ngDefaultControl [(ngModel)]=\"node.label\" /> -->\r\n\t\t\t\t<span class=\"tree-name\">{{node.label}}</span>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"node-options\">\r\n\t\t\t\t<!-- <lib-checkbox [theme]=\"theme\" [checked]=\"isSelected(node)\"></lib-checkbox> -->\r\n\t\t\t\t <lib-radio-button [active]=\"isSelected(node)\" [theme]=\"theme\"></lib-radio-button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TreeNode } from '../interfaces/interfaces';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\n@Component({\r\n\tselector: 'lib-move-menu-option',\r\n\ttemplateUrl: './move-menu-option.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './move-menu-option.component.scss']\r\n})\r\nexport class MoveMenuOptionComponent {\r\n\r\n\toption: any;\r\n\ttheme: string = 'default';\r\n\ttree: TreeNode[] = [];\r\n\tselectedNode: TreeNode = { id: -1, label: '', parentId: null, children: [], ancestorIds: [] };\r\n\tget noSelection() {\r\n\t\treturn !((this.selectedNode?.id ?? -2) > -1)\r\n\t}\r\n\tconstructor(public dialogRef: MatDialogRef<MoveMenuOptionComponent>,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: { option: any, tree: TreeNode[] },\r\n\t\tprivate securityAdminService: SecurityAdminService,\r\n\t\tprivate snackbar: SnackbarService\r\n\t) {\r\n\t\tthis.option = data.option;\r\n\t\tthis.tree = data.tree;\r\n\t\tthis.theme = this.securityAdminService.theme;\r\n\t}\r\n\r\n\tselectNode(node: TreeNode) {\r\n\t\tthis.selectedNode = node;\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.dialogRef.close({ reload: false });\r\n\t}\r\n\r\n\tmoveConfirm() {\r\n\t\tthis.snackbar.info(`Moviendo ${this.option.label}`)\r\n\t\tthis.securityAdminService.saveMenuOption({ ...this.option, parentId: this.selectedNode.id }).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tswitch (response.responseCode) {\r\n\t\t\t\t\tcase 200:\r\n\t\t\t\t\t\tthis.snackbar.success(`Se ha movido \"${this.option.label}\" a \"${this.selectedNode.label}\"`)\r\n\t\t\t\t\t\tthis.dialogRef.close({ reload: true })\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tthis.snackbar.warning(`Ocurrió un error al mover la opción`)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: _ => this.snackbar.warning(`Ocurrió un error al mover la opción`)\r\n\r\n\t\t});\r\n\t}\r\n\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"header\">\r\n\t<div class=\"title\">\r\n\t\t<i class=\"menu-folder-send\"></i>\r\n\t\t<span class=\"title-label\">{{option.label ?? option.name ?? option ?? 'Move option'}}</span>\r\n\t</div>\r\n\t<div class=\"buttons\">\r\n\t\t<button (click)=\"moveConfirm()\" class=\"primary\">\r\n\t\t\t<i class=\"menu-folder-send\"></i>\r\n\t\t\t<span>Mover</span>\r\n\t\t</button>\r\n\t\t<button (click)=\"close()\" class=\"ghost\">\r\n\t\t\t<i class=\"menu-close\"></i>\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n<div class=\"sub-header\">\r\n\t<span class=\"move-label\">Mover a: </span>\r\n\t<span *ngIf=\"noSelection\" class=\"option-label\">Seleccionar</span>\r\n\t<span *ngIf=\"!noSelection\" class=\"option-label\">{{selectedNode?.label ?? selectedNode?.name ?? ''}}</span>\r\n</div>\r\n<div class=\"tree\">\r\n\t<lib-tree (nodeSelected)=\"selectNode($event)\" [theme]=\"theme\" [tree]=\"tree\"></lib-tree>\r\n\r\n</div>","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\ninterface Option {label:string, callback:Function, type?:string}\r\n\r\n@Component({\r\n selector: 'lib-multi-option-dialog',\r\n templateUrl: './multi-option-dialog.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './multi-option-dialog.component.scss']\r\n})\r\nexport class MultiOptionDialogComponent {\r\n\r\n\tmessage: string = '';\r\n\toptions: Option[] = [];\r\n\ttheme: string = 'default';\r\n\tconstructor(public dialogRef: MatDialogRef<MultiOptionDialogComponent>, @Inject(MAT_DIALOG_DATA) public data:{message: string, options:Option[], theme?:string}){\r\n\t\tthis.message = data.message;\r\n\t\tthis.options = data.options;\r\n\t\tthis.theme = data.theme ?? this.theme;\r\n\t}\r\n\r\n\toptionClick(option: Option){\r\n\t\toption.callback?.();\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"message\">{{message}}</div>\r\n<div [attr.data-theme]=\"theme\" class=\"options\">\r\n\t<button (click)=\"optionClick(option)\" [class]=\"['option', option.type]\" *ngFor=\"let option of options\">\r\n\t\t{{option.label}}\r\n\t</button>\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MultiOptionDialogComponent } from '../multi-option-dialog/multi-option-dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogService {\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n\tmultiOption(config:{message: string, options:{label:string, callback:Function, type?: string}[], theme?: string}) {\r\n\t\tthis.dialog.open(MultiOptionDialogComponent, {data: {\r\n message:config.message,\r\n options:config.options,\r\n\t\t\ttheme: config.theme\r\n }}).afterClosed().subscribe(result=>{\r\n })\r\n\t}\r\n}\r\n","import { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\r\nimport { FormField } from '../interfaces/interfaces';\r\nimport { CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\nimport { debounceTime, lastValueFrom, Subject } from 'rxjs';\r\nimport { DialogService } from '../services/dialog.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MoveMenuOptionComponent } from '../move-menu-option/move-menu-option.component';\r\n\r\n\r\ninterface TreeNode {\r\n\tid: number | null,\r\n\tparentId: number | null;\r\n\tancestorIds: (number | null)[];\r\n\tlabel?: string,\r\n\tname?: string,\r\n\tchildren: TreeNode[];\r\n\tlevel?: number;\r\n}\r\n\r\n\r\ninterface NodeForm {\r\n\ttitle: { text: string, style?: { [key: string]: string } },\r\n\tfields: FormField[]\r\n};\r\n\r\n\r\n@Component({\r\n\tselector: 'lib-menu-admin',\r\n\ttemplateUrl: './menu-admin.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './menu-admin.component.scss']\r\n})\r\nexport class MenuAdminComponent implements OnInit {\r\n\t@Input() theme: string = 'default';\r\n\ttreeData: any[] = [];\r\n\tunflattenedTree: any[] = [];\r\n\tsearch = new FormControl<string>('');\r\n\tloadingStatus: boolean = false;\r\n\teditedTree: TreeNode[] = [];\r\n\tselectedNode: TreeNode = { id: -1, parentId: null, label: '', children: [], ancestorIds: [] };\r\n\texpandedNodes = new Set();\r\n\tfilterNodes = new Set();\r\n\tget menuOptionFormComponent() { return this.securityAdminService.menuOptionFormComponent }\r\n\r\n\r\n\tconstructor(private http: HttpClient, private securityAdminService: SecurityAdminService, private snackbar: SnackbarService, private dialogService: DialogService, private dialog: MatDialog) {\r\n\t\tthis.search.valueChanges.pipe(debounceTime(300)).subscribe({\r\n\t\t\tnext: (newSearch) => {\r\n\t\t\t\tlet newFiltered = new Set();\r\n\t\t\t\tthis.editedTree.forEach(node => {\r\n\t\t\t\t\tif (node.label?.toLowerCase().includes(newSearch?.toLowerCase() ?? '')) {\r\n\t\t\t\t\t\t[...(node.ancestorIds ?? []), node.id].forEach(nodeId => newFiltered.add(nodeId))\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.filterNodes = newFiltered;\r\n\t\t\t\tif (Boolean(newSearch)) {\r\n\t\t\t\t\tthis.expandedNodes = new Set(Array.from(newFiltered));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.expandedNodes = new Set();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tonKeyUp ($event: any) {\r\n\t}\r\n\r\n\tloadTree() {\r\n\t\tthis.loadingStatus = true;\r\n\t\tthis.securityAdminService.getMenuTree().subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.search.setValue('');\r\n\t\t\t\t\tthis.treeData = flattenTree(response.load)\r\n\t\t\t\t\tthis.editedTree = flattenTree(response.load, completeNode);\r\n\t\t\t\t\tthis.unflattenedTree = response.load;\r\n\t\t\t\t\t// this.dataSource.data = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t},\r\n\t\t\terror: () => {\r\n\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tnewNodeId: number = -2;\r\n\tnewNodeIdSubject = new Subject<number>();\r\n\tngOnInit() {\r\n\t\tthis.loadTree();\r\n\t\tthis.newNodeIdSubject.subscribe({ next: (value: number) => this.newNodeId = value })\r\n\t}\r\n\r\n\taddNodeToCurrent() {\r\n\t\tlet newNode: TreeNode = { id: this.newNodeId, label: 'Nuevo', parentId: null, ancestorIds: [], children: [] }\r\n\t\tif (this.selectedNode.id === -1) {\r\n\t\t\tthis.editedTree = [newNode, ...this.editedTree]\r\n\t\t} else {\r\n\t\t\tlet foundIdx = this.editedTree.findIndex(node => node.id === this.selectedNode.id);\r\n\t\t\tthis.editedTree = [\r\n\t\t\t\t...this.editedTree.slice(0, foundIdx + 1),\r\n\t\t\t\t{\r\n\t\t\t\t\t...newNode,\r\n\t\t\t\t\tparentId: this.selectedNode.id,\r\n\t\t\t\t\tlevel: (this.selectedNode.level ?? 0) + 1,\r\n\t\t\t\t\tancestorIds: [...(this.selectedNode.ancestorIds ?? []), this.selectedNode.id ?? null]\r\n\t\t\t\t},\r\n\t\t\t\t...this.editedTree.slice(foundIdx + 1)\r\n\t\t\t]\r\n\t\t}\r\n\t\tthis.newNodeIdSubject.next(this.newNodeId - 1);\r\n\t\tthis.filterNodes.add(newNode.id);\r\n\t\tthis.expandedNodes.add(this.selectedNode.id);\r\n\t}\r\n\r\n\tvalidSuccess(successMessage: string, errorMessage: string, successCount: number, failCount: number, targetCount: number, target?: any) {\r\n\t\tif ((successCount + failCount) === targetCount) {\r\n\t\t\tif (failCount > 0) {\r\n\t\t\t\tthis.snackbar.warning(errorMessage)\r\n\t\t\t} else {\r\n\t\t\t\tthis.snackbar.success(successMessage)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tasync saveChanges() {\r\n\t\tthis.snackbar.info('Guardando...');\r\n\t\tlet changes = changedItems(this.treeData, this.editedTree)\r\n\t\tlet successCount = 0;\r\n\t\tlet errorCount = 0;\r\n\t\tfor (let i = 0; i < changes.length; i++) {\r\n\t\t\tlet option = changes[i];\r\n\t\t\ttry {\r\n\t\t\t\tlet parentTempId = option['id'];\r\n\t\t\t\tlet response: any = await lastValueFrom(this.securityAdminService.saveMenuOption(option));\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tsuccessCount++;\r\n\t\t\t\t\tchanges = changes.map(opt => ({ ...opt, parentId: opt['parentId'] === parentTempId ? response.load.id : opt['parentId'] }))\r\n\t\t\t\t} else {\r\n\t\t\t\t\terrorCount--;\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\terrorCount--;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.validSuccess(\"Cambios Guardados\", \"Ocurrió un error al guardar los cambios\", successCount, errorCount, changes.length)\r\n\r\n\r\n\r\n\t\t// changes.forEach((option, index) => {\r\n\t\t// \tthis.securityAdminService.saveMenuOption(option).subscribe({\r\n\t\t// \t\tnext: (response: any) => {\r\n\t\t// \t\t\tlet parentRelation = option['id'];\r\n\t\t// \t\t\tif (response.responseCode === 200) {\r\n\t\t// \t\t\t\tchanges = changes.map(opt => ({ ...opt, parentId: opt['parentId'] === parentRelation ? response.load.id : opt['parentId'] }))\r\n\t\t// \t\t\t\tsuccessCount++;\r\n\t\t// \t\t\t} else {\r\n\t\t// \t\t\t\terrorCount++;\r\n\t\t// \t\t\t}\r\n\t\t// \t\t\tthis.validSuccess(\"Cambios Guardados\", \"Ocurrió un error al guardar los cambios\", successCount, errorCount, changes.length)\r\n\t\t// \t\t},\r\n\t\t// \t\terror: () => {\r\n\t\t// \t\t\terrorCount++;\r\n\t\t// \t\t\tthis.validSuccess(\"Cambios Guardados\", \"Ocurrió un error al guardar los cambios\", successCount, errorCount, changes.length)\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// })\r\n\r\n\t}\r\n\r\n\tdeleteOption(option: TreeNode) {\r\n\t\tthis.snackbar.info('Eliminando...')\r\n\t\tif (this.editedTree.some(node => ((node.id ?? - 2) > -1) && node.parentId === option.id)) {\r\n\t\t\tthis.snackbar.warning(`No se puede eliminar \"${option.label}\" porque contiene más opciones`, 5000);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.securityAdminService.deleteMenuOption(option).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tswitch (response.responseCode) {\r\n\t\t\t\t\tcase 200:\r\n\t\t\t\t\t\tthis.editedTree = this.editedTree.filter(node => (node.id !== option.id) && (!node.ancestorIds.includes(option.id)))\r\n\t\t\t\t\t\tthis.snackbar.success(`Opción \"${option.label}\" eliminada`);\r\n\t\t\t\t\t\tthis.resetSelectedNode()\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 207:\r\n\t\t\t\t\t\tthis.snackbar.warning(`No se puede eliminar \"${option.label}\" porque contiene más opciones`, 5000)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tthis.snackbar.warning(\"Ocurrió un error al eliminar la opción\")\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: _ => this.snackbar.warning(\"Ocurrió un error al eliminar la opción\")\r\n\t\t});\r\n\t}\r\n\r\n\tdeleteCurrentNode() {\r\n\t\tif (this.selectedNode.id !== -1) {\r\n\t\t\tif ((this.selectedNode.id ?? -1) > -1) {\r\n\t\t\t\tthis.dialogService.multiOption({\r\n\t\t\t\t\tmessage: `¿Deseas eliminar \"${this.selectedNode.label}\"?`,\r\n\t\t\t\t\ttheme: this.securityAdminService.theme,\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: 'Eliminar', callback: () => this.deleteOption(this.selectedNode), type: 'primary' },\r\n\t\t\t\t\t\t{ label: 'Cancelar', callback: () => { }, type: 'secondary' }\r\n\t\t\t\t\t]\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.editedTree = this.editedTree.filter(node => (node.id !== this.selectedNode.id) && (!node.ancestorIds.includes(this.selectedNode.id)))\r\n\t\t\t\tthis.resetSelectedNode()\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tselectedClass(node: TreeNode) {\r\n\t\treturn node.id === this.selectedNode.id ? 'selected' : '';\r\n\t}\r\n\r\n\tselectNode(node: TreeNode) {\r\n\t\tthis.selectedNode = node;\r\n\t}\r\n\r\n\tresetSelectedNode() {\r\n\t\tthis.selectNode({ id: -1, parentId: null, label: '', children: [], ancestorIds: [] });\r\n\t}\r\n\r\n\tisExpanded(node: TreeNode) {\r\n\t\treturn this.expandedNodes.has(node.id);\r\n\t}\r\n\r\n\tgetLevel(node: TreeNode) {\r\n\t\treturn node.ancestorIds.length;\r\n\t}\r\n\r\n\ttoggleNode(node: TreeNode) {\r\n\t\tthis.expandedNodes.has(node.id) ? this.expandedNodes.delete(node.id) : this.expandedNodes.add(node.id);\r\n\t}\r\n\r\n\thasChildren(node: TreeNode) {\r\n\t\treturn this.editedTree.filter(node_ => node_.parentId === node.id).length > 0;\r\n\t}\r\n\r\n\tnodeContainerStyle(node: TreeNode) {\r\n\t\treturn { 'padding-left': `${20 * (node.level ?? 0)}px` }\r\n\t}\r\n\r\n\thideNode(node: TreeNode) {\r\n\t\treturn (node.parentId !== null) && (!(node.ancestorIds.every(nodeId => this.expandedNodes.has(nodeId)))) || !(this.filterNodes.has(node.id));\r\n\t}\r\n\r\n\tget formComponentInputs() {\r\n\t\treturn {\r\n\t\t\toption: this.selectedNode,\r\n\t\t}\r\n\t}\r\n\r\n\tmoveOption(node: TreeNode) {\r\n\t\tthis.dialog.open(MoveMenuOptionComponent,{\r\n\t\t\tdata:{\r\n\t\t\t\toption: node,\r\n\t\t\t\ttree: this.unflattenedTree\r\n\t\t\t}\r\n\t\t}).afterClosed().subscribe({\r\n\t\t\tnext: (value) => {\r\n\t\t\t\tif (value?.reload) {\r\n\t\t\t\t\tthis.loadTree();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n}\r\n\r\nfunction changedItems(previous: { [key: string]: any }[], current: { [key: string]: any }[]) {\r\n\tlet changed: { [key: string]: any; }[] = [];\r\n\tcurrent.forEach((item, index) => {\r\n\t\tlet previousItem = previous.find(i => i['id'] === item['id']);\r\n\t\t//console.error(' for loop', previousItem, item);\r\n\t\tif (previousItem) {\r\n\t\t\tfor (let key in previousItem) {\r\n\t\t\t\tif (previousItem[key] !== item[key]) {\r\n\t\t\t\t\tchanged.push(item);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tchanged.push(item);\r\n\t\t}\r\n\r\n\t})\r\n\treturn changed;\r\n}\r\n\r\nconst completeNode = (node: TreeNode, level: number, prevAncestors: (number | null)[]) => ({\r\n\t...node,\r\n\tlevel: level,\r\n\tancestorIds: (node.parentId === null) ? [] : [...prevAncestors],\r\n})\r\n\r\nfunction flattenTree(tree: TreeNode[], mapNode: Function = (node: TreeNode) => node, level: number = 0, prevAncestors: (number | null)[] = []) {\r\n\tlet response: TreeNode[] = tree.flatMap(node => [mapNode(node, level, prevAncestors), ...flattenTree(node.children ?? [], mapNode, level + 1, [...prevAncestors, node.id])])\r\n\treturn response;\r\n}\r\n\r\n\r\nfunction unFlatten(flatTree: TreeNode[]) {\r\n\r\n\tlet response: TreeNode[] = flatTree.reduce((acc, current) => [...acc,], [])\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"list\">\r\n\t<div class=\"title-info-header\">\r\n\t\t<div class=\"title-info\">\r\n\t\t\t<i class=\"menu-list\"></i>\r\n\t\t\t<span class=\"title\">{{'Menu' | translate}}</span>\r\n\t\t</div>\r\n\t\t<div class=\"buttons-section\">\r\n\t\t\t<button (click)=\"addNodeToCurrent()\"><i class=\"menu-plus\"></i></button>\r\n\t\t\t<button (click)=\"deleteCurrentNode()\"><i class=\"menu-minus\"></i></button>\r\n\t\t\t<button (click)=\"saveChanges()\"><i class=\"menu-save\"></i></button>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"search-contianer-notification\">\r\n\t\t<lib-input ngDefaultControl [formControl]=\"search\" name=\"search\" [label]=\"'Search...' | translate\" [clearButton]=\"true\"\r\n\t\t\ticon=\"menu-search\" [theme]=\"theme\"></lib-input>\r\n\t</div>\r\n\t<lib-loader [theme]=\"theme\" [type]=\"'bar'\" [loading]=\"loadingStatus\"></lib-loader>\r\n\t<div class=\"tree-container\">\r\n\t\t<!-- <lib-tree [tree]=\"treeData\"></lib-tree> -->\r\n\t\t<div *ngFor=\"let node of editedTree\" [class]=\"['node-container', hideNode(node) ? 'hide' : '']\"\r\n\t\t\t[style]=\"nodeContainerStyle(node)\">\r\n\t\t\t<div [class]=\"['node', selectedClass(node)]\" (click)=\"selectNode(node)\">\r\n\t\t\t\t<div *ngIf=\"hasChildren(node)\" (click)=\"toggleNode(node)\"\r\n\t\t\t\t\t[class]=\"['tree-toggle', isExpanded(node) ? '': 'rotated']\">\r\n\t\t\t\t\t<i [class]=\"['menu-arrow-down']\"></i>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div *ngIf=\"!hasChildren(node)\" class=\"tree-toggle\">\r\n\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"tree-node\">\r\n\t\t\t\t\t<div class=\"input-container\">\r\n\t\t\t\t\t\t<input #nodeNameInput ngDefaultControl [(ngModel)]=\"node.label\" />\r\n\t\t\t\t\t\t<span class=\"tree-name\" (click)=\"nodeNameInput.focus()\">{{node.label}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div *ngIf=\"getLevel(node) > 0\" class=\"node-options\">\r\n\t\t\t\t\t\t<span (click)=\"moveOption(node)\">\r\n\t\t\t\t\t\t\t<i class=\"menu-folder-send\" *ngIf=\"getLevel(node) > 0\"></i>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<!-- <span>\r\n\t\t\t\t\t\t\t<i class=\"menu-move\"></i>\r\n\t\t\t\t\t\t</span> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" class=\"editor-panel\">\r\n\t<div class=\"editor-title\">\r\n\t\t<span class=\"title-label\">Editar Opción</span>\r\n\t\t<span class=\"title-name\">{{selectedNode.label ?? selectedNode.name ?? ''}}</span>\r\n\t</div>\r\n\t<!-- {{currentNode.name ?? currentNode.label}} -->\r\n\t<ng-container *ngIf=\"menuOptionFormComponent\">\r\n\t\t<ng-container *ngComponentOutlet=\"menuOptionFormComponent; inputs: formComponentInputs\">\r\n\r\n\t\t</ng-container>\r\n\r\n\t</ng-container>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./checkbox.component.scss']\r\n})\r\nexport class CheckboxComponent {\r\n @Input() checked: boolean = false;\r\n @Output() inputChange = new EventEmitter<any>(); \r\n @Input() name: string = '';\r\n @Input() label: string = '';\r\n @Input() theme: string = 'default';\r\n\r\n}\r\n","<div class=\"checkbox-container\">\r\n <input ngDefaultControl [name]=\"name\" class=\"custom-checkbox\" type=\"checkbox\" [checked]=\"checked\" (change)=\"inputChange.emit($event)\"/>\r\n <span class=\"checkmark\"></span>\r\n</div>","import { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges, Type } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { BasicItemComponent } from '../basic-item/basic-item.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { debounceTime, isObservable, map, of, Subject, switchMap } from 'rxjs';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\nimport { RequestDetails, SecurityEndpoint } from '../interfaces/interfaces';\r\nimport { defaultMapper, defaultSwitchMapper } from '../utils/utils';\r\nimport { TranslatePipe } from '../pipes/translate.pipe';\r\n\r\nconst defaultFilter = (item: any) => [item?.name ?? JSON.stringify(item)];\r\n\r\n@Component({\r\n\tselector: 'lib-items-viewer',\r\n\ttemplateUrl: './items-viewer.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './items-viewer.component.scss']\r\n})\r\nexport class ItemsViewerComponent implements OnInit, OnChanges {\r\n\r\n\t@Input() icon: string = '';\r\n\t@Input() theme: string = 'default';\r\n\t@Input() title: string = '';\r\n\t@Input() itemIcon: string = '';\r\n\t@Input() items: any[] = [];\r\n\t@Input() entityUiComponent: Type<any> | null = null;\r\n\t@Input() uiComponentInputs: { [key: string]: any } = {};\r\n\t// @Input() searchBy: string[] = ['name'];\r\n\t@Input() searchFilter?: Function;\r\n\t@Input() showCreateButton: boolean = false;\r\n\t@Input() showOrderButtons: boolean = false;\r\n\t@Input() selectedItem: any = null;\r\n\t@Input() selectionIds: Set<string | number> = new Set([]);\r\n\t@Input() multipleSelection: boolean = false;\r\n\t@Input() showSelectedAtTop: boolean = false;\r\n\t@Input() itemControls: { [key: number | string]: any } = {};\r\n\t@Input() showPaginator: boolean = true;\r\n\t@Input() draggableItems: boolean = false;\r\n\t@Input() showSearch: boolean = true;\r\n\t@Input() listEndpoint: string = '';\r\n\t@Input() itemsEndpoint: SecurityEndpoint = {url: ''};\r\n\t@Input() listRequestMapping: any = (response: any) => of(response);\r\n\t@Input() endpointParams: string = '';\r\n\t@Input() reloadSubject?: Subject<boolean>;\r\n\t@Input() externalLoading: boolean = false;\r\n\t@Input() orderProperties: { property: string, ascIcon: string, descIcon: string, tooltip?: string }[] = [];\r\n\t@Input() emptyPlaceholder: string = 'Not Found 2';\r\n\t@Input() itemLabelMap: any = (item: any) => item.name;\r\n\t@Output() selectItem = new EventEmitter<any>();\r\n\t@Output() toggleItem = new EventEmitter<any>();\r\n\t@Output() addClick = new EventEmitter<any>();\r\n\t@Output() itemsLoaded = new EventEmitter<any>();\r\n\t@HostBinding('style') hostStyle: any;\r\n\r\n\torderPropertyIcon: { [property: string]: string } = { name: 'menu-alphabet-asc' };\r\n\tcurrentOrder: { property: string, asc: boolean } = { property: 'name', asc: true };\r\n\torderItems: Subject<any> = new Subject();\r\n\tsearch = new FormControl<string>('');\r\n\tcurrentPage = 1;\r\n\t@Input() pageSize = 50;\r\n\tpageIndexUsers = 1;\r\n\tlengthUsers = 10;\r\n\tpageEvent: any = '';\r\n\tfilterItems: Set<number> = new Set([]);\r\n\tloadedItems: any[] = [];\r\n\tloadingStatus: boolean = false;\r\n\tget hasTitle() { return Boolean(this.title) }\r\n\tget hasIcon() { return Boolean(this.icon) }\r\n\tget hasOrderButtons() { return this.orderProperties.length > 0 }\r\n\tget loading() { return this.loadingStatus || this.externalLoading }\r\n\r\n\tget isDynamic() { return Boolean(this.listEndpoint) }\r\n\t@Input() set style(styleInput: { [key: string]: any }) {\r\n\t\tthis.hostStyle = styleInput;\r\n\t};\r\n\r\n\tget isEmpty() {\r\n\t\treturn this.listItems.length < 1\r\n\t}\r\n\r\n\tget emptyLabel() {\r\n\t\treturn Boolean(this.search.value) ? \"Not Found 1\" : this.emptyPlaceholder;\r\n\t}\r\n\r\n\tgetItemClass(item: any) {\r\n\t\treturn ['filter-item', this.multipleSelection ? (this.selectionIds.has(item.id) ? 'selected-item' : '') : (this.isItemSelected(item) ? 'selected-item' : ''), (this.multipleSelection && this.isItemSelected(item)) ? 'second-selection' : '', this.multipleSelection ? 'checkbox-margin' : '']\r\n\t}\r\n\r\n\r\n\tget listItems() {\r\n\t\t// return (Boolean(this.listEndpoint) ? this.loadedItems : this.items).filter((item: any) => this.searchBarProperties.some(property => item[property]?.includes(this.search.value?.toLowerCase() ?? '')))\r\n\t\t// \t.sort((a, b) => a.name.localeCompare(b.name));\r\n\t\treturn this.loadedItems\r\n\t}\r\n\r\n\tgetOrderIcon(property: string) {\r\n\t\treturn this.orderPropertyIcon[property];\r\n\t}\r\n\r\n\tconstructor(private http: HttpClient, private snackbar: SnackbarService, private translate: TranslatePipe) {\r\n\t\tthis.orderItems.subscribe({\r\n\t\t\tnext: (newOrderProperty) => {\r\n\t\t\t\tthis.currentOrder = { property: newOrderProperty.property, asc: !this.currentOrder.asc }\r\n\t\t\t\tthis.loadedItems = alphabetSort(this.loadedItems, newOrderProperty.property, this.currentOrder.asc);\r\n\t\t\t\tthis.orderPropertyIcon[newOrderProperty.property] = this.currentOrder.asc ? newOrderProperty.ascIcon : newOrderProperty.descIcon;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tisItemSelected(item: any) { return this.selectedItem?.id === item.id }\r\n\r\n\r\n\r\n\tloadItems() {\r\n\t\tthis.loadingStatus = true;\r\n\t\tif (this.listEndpoint) {this.http.get(this.showPaginator ? `${this.listEndpoint}?page=${this.currentPage}&pageSize=${this.pageSize}&${this.endpointParams}` : this.listEndpoint)\r\n\t\t\t.pipe(switchMap(this.listRequestMapping ?? defaultSwitchMapper)).subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.loadedItems = response.load;\r\n\t\t\t\t\t\tthis.itemsLoaded.emit(response.load);\r\n\t\t\t\t\t\tthis.lengthUsers = response.totalRecords;\r\n\t\t\t\t\t\tthis.search.setValue('');\r\n\t\t\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.error(response);\r\n\t\t\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t\t\t\tthis.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.[response.responseCode] ?? 'Something went wrong'));\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: (error) => {\r\n\t\t\t\t\tconsole.error(error);\r\n\t\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t\t\tthis.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.['default'] ?? 'Something went wrong'));\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t}\r\n\t\t\t});}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (Boolean(this.listEndpoint)) {\r\n\t\t\t// this.loadItems();\r\n\t\t\tthis.reloadSubject?.subscribe({ next: () => this.loadItems() });\r\n\t\t}\r\n\t\tthis.search.valueChanges.pipe(debounceTime(300)).subscribe({\r\n\t\t\tnext: (newSearch) => {\r\n\t\t\t\tthis.filterItems = new Set(this.loadedItems.filter(\r\n\t\t\t\t\titem => (this.searchFilter ?? defaultFilter)(item).filter((value: any) => Boolean(value)).some((value: string) => { return value.toLowerCase?.().includes(newSearch?.toLowerCase() ?? '') })\r\n\t\t\t\t).map(item => item.id));\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tlet { listEndpoint, items, orderProperties } = changes;\r\n\t\tif (Boolean(listEndpoint) && (listEndpoint?.previousValue !== listEndpoint?.currentValue)) {\r\n\t\t\tthis.loadItems();\r\n\t\t} else {\r\n\t\t\tif (items) {\r\n\t\t\t\tthis.loadedItems = items.currentValue;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!Boolean(this.listEndpoint) && items?.currentValue) {\r\n\t\t\tthis.search.setValue('');\r\n\t\t}\r\n\t\tif (orderProperties?.currentValue) {\r\n\t\t\tthis.orderPropertyIcon = orderProperties.currentValue.reduce((acc: any, curr: any) => ({ ...acc, [curr.property]: curr.ascIcon }), {})\r\n\t\t}\r\n\t}\r\n\r\n\tsetOrder(property: any) {\r\n\t\tthis.orderItems.next(property);\r\n\t}\r\n\r\n\tselectUser(user: any) { }\r\n\r\n\tgetServerDataUsers(event: any) {\r\n\t\tthis.currentPage = event.pageIndex + 1\r\n\t\tthis.loadItems();\r\n\t}\r\n\r\n\tgetUiComponentInputs(item: any) {\r\n\t\treturn ({ ...this.uiComponentInputs, object: item });\r\n\t}\r\n\r\n\r\n\thasFormControl(item: any) {\r\n\t\treturn Boolean(this.itemControls[item.id]) ?? false;\r\n\t}\r\n\r\n\titemControl(item: any) {\r\n\t\treturn this.itemControls[item.id];\r\n\t}\r\n\r\n\tcheckboxChange(event: any, id: number) {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.toggleItem.emit({ id, checked: event.target.checked });\r\n\t}\r\n\r\n}\r\n\r\n\r\n\r\nfunction getNestedProperty(obj: any, property: string) {\r\n\treturn property.split('.').reduce((acc, part) => acc && acc[part], obj);\r\n}\r\n\r\nfunction alphabetSort(array: any[], property: string, asc: boolean) {\r\n\treturn array.sort((a, b) => {\r\n\t\tconst aValue = getNestedProperty(a, property) ?? '';\r\n\t\tconst bValue = getNestedProperty(b, property) ?? '';\r\n\r\n\t\tif (aValue < bValue) {\r\n\t\t\treturn asc ? -1 : 1;\r\n\t\t}\r\n\t\tif (aValue > bValue) {\r\n\t\t\treturn asc ? 1 : -1;\r\n\t\t}\r\n\t\treturn 0;\r\n\t});\t\r\n}\r\n\r\nfunction switchMapper (mapper: Function) : any {\r\n\treturn (value: any) => {\r\n\t\treturn mapper(value)}\r\n}","<div [attr.data-theme]=\"theme\" class=\"title-info-header\"\r\n\t*ngIf=\"hasIcon || hasTitle || showCreateButton || showOrderButtons\">\r\n\t<div class=\"title-info\" *ngIf=\"hasIcon || hasTitle || showCreateButton\">\r\n\t\t<i *ngIf=\"hasIcon\" [class]=\"[icon]\"></i>\r\n\t\t<span class=\"title\" *ngIf=\"hasTitle\">{{title | translate}}</span>\r\n\t\t<div *ngIf=\"showCreateButton\" class=\"add-button-user\" matTooltip=\"Nuevo Usuario\" (click)=\"addClick.emit($event)\">\r\n\t\t\t<i class=\"menu-plus\"></i>\r\n\t\t</div>\r\n\t</div>\r\n\t<!-- <div *ngIf=\"showOrderButtons\" class=\"buttons-filter-section\">\r\n\t\t<div class=\"alphabetic-user-filter-button\" [class.active]=\"orderBy.name == 'name'\" (click)=\"setOrder('name')\"\r\n\t\t\tmatTooltip=\"Order By Name\" matTooltipClass=\"pulse-tooltip\">\r\n\t\t\t<div class=\"icon-button-filter\">\r\n\t\t\t\t<div class=\"icon-button-filter\" [ngClass]=\"\r\n orderBy.name == 'name' && orderBy.orderDirection == 'DESC'\r\n ? 'menu-alphabet-asc'\r\n : 'menu-alphabet-desc'\r\n \">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"alphabetic-user-filter-button\" [class.active]=\"orderBy.name == 'secondname'\"\r\n\t\t\t(click)=\"setOrder('lastname')\" matTooltip=\"Order By Last Name\" matTooltipClass=\"pulse-tooltip\">\r\n\t\t\t<div class=\"icon-button-filter\" [ngClass]=\"\r\n orderBy.name == 'secondname' && orderBy.orderDirection == 'DESC'\r\n ? 'menu-user-left'\r\n : 'menu-user-right'\r\n \"></div>\r\n\t\t</div>\r\n\t\t<div class=\"alphabetic-user-filter-button\" [class.active]=\"orderBy.name == 'customer'\"\r\n\t\t\t(click)=\"setOrder('customer.name')\" matTooltip=\"Order By Customer\" matTooltipClass=\"pulse-tooltip\">\r\n\t\t\t<div class=\"icon-button-filter\" [ngClass]=\"\r\n orderBy.name == 'customer' && orderBy.orderDirection == 'DESC'\r\n ? 'meun-customer-asc'\r\n : 'menu-customer-desc'\r\n \"></div>\r\n\t\t</div>\r\n\t</div> -->\r\n\t<div *ngIf=\"hasOrderButtons\" class=\"buttons-filter-section\">\r\n\t\t<div *ngFor=\"let order of orderProperties\" class=\"alphabetic-user-filter-button\"\r\n\t\t\t[class.active]=\"currentOrder.property === order.property\" (click)=\"setOrder(order)\"\r\n\t\t\t[matTooltip]=\"order.tooltip ?? ''\">\r\n\t\t\t<div class=\"icon-button-filter\">\r\n\t\t\t\t<div class=\"icon-button-filter\" [class]=\"[orderPropertyIcon[order.property]]\">\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t</div>\r\n</div>\r\n\r\n<!-- <div [attr.data-theme]=\"theme\" class=\"filter-item selected-item\" *ngIf=\"selectedItem && showSelectedAtTop\">\r\n\t<ng-container *ngComponentOutlet=\"entityUiComponent; inputs:getUiComponentInputs(selectedItem)\">\r\n\r\n\t</ng-container>\r\n\r\n</div> -->\r\n\r\n\r\n<lib-input ngDefaultControl [formControl]=\"search\" name=\"search\" [label]=\"'Search...' | translate\" [clearButton]=\"true\"\r\n\ticon=\"menu-search\" [theme]=\"theme\" *ngIf=\"showSearch\"></lib-input>\r\n\r\n\r\n<div class=\"list-item-container\">\r\n\t<lib-loader [theme]=\"theme\" [type]=\"'bar'\" [loading]=\"loading\"></lib-loader>\r\n\t<span class=\"placeholder\" *ngIf=\"!loading && isEmpty\">{{emptyLabel | translate\r\n\t\t}}</span>\r\n\t<ng-container *ngFor=\"let item of listItems\">\r\n\t\t<ng-container *ngIf=\"filterItems.has(item.id)\">\r\n\t\t\t<div *ngIf=\"draggableItems\" cdkDrag [cdkDragData]=\"item\">\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n\t\t\t</div>\r\n\t\t\t<div *ngIf=\"!draggableItems\">\r\n\t\t\t\t<ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\r\n\t\t\t</div>\r\n\t\t\t<ng-template #itemTemplate>\r\n\t\t\t\t\r\n\t\t\t\t<div [attr.data-theme]=\"theme\"\r\n\t\t\t\t\t[class]=\"getItemClass(item)\"\r\n\t\t\t\t\t(click)=\"selectItem.emit(item)\">\r\n\t\t\t\t\t<lib-checkbox *ngIf=\"multipleSelection\" [checked]=\"selectionIds.has(item.id)\"\r\n\t\t\t\t\t\t(inputChange)=\"checkboxChange($event, item.id)\" />\r\n\t\t\t\t\t<ng-container *ngIf=\"entityUiComponent\">\r\n\t\t\t\t\t\t<ng-container *ngComponentOutlet=\"entityUiComponent; inputs:getUiComponentInputs(item)\"></ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t<div class=\"simple-item\" *ngIf=\"!entityUiComponent\">\r\n\t\t\t\t\t\t{{itemLabelMap(item) ?? item.name}}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t</div>\r\n\t\t\t\t<!-- <div [attr.data-theme]=\"theme\"\r\n [class]=\"['filter-item', selectionIds.has(item.id) ? 'selected-item': '', multipleSelection ? 'checkbox-margin' : '']\"\r\n (click)=\"selectItem.emit(item)\">\r\n <lib-checkbox *ngIf=\"multipleSelection\" [checked]=\"selectionIds.has(item.id)\"\r\n (inputChange)=\"checkboxChange($event, item.id)\" />\r\n <ng-container *ngComponentOutlet=\"entityUiComponent; inputs:getUiComponentInputs(item)\"></ng-container>\r\n \t</div> -->\r\n\t\t\t</ng-template>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</div>\r\n<mat-paginator *ngIf=\"showPaginator && isDynamic\" #paginator hidePageSize showFirstLastButtons [pageSize]=\"pageSize\"\r\n\t[pageIndex]=\"currentPage - 1\" [length]=\"lengthUsers\" (page)=\"pageEvent = getServerDataUsers($event)\"\r\n\tclass=\"msf-paginator-mapping msf-paginator-Style\">\r\n\r\n</mat-paginator>\r\n<!-- \r\n<mat-paginator\r\n *ngIf=\"!isLoadingTypeFilters\"\r\n #paginator\r\n hidePageSize\r\n showFirstLastButtons\r\n [pageSize]=\"pageSizeUsers\"\r\n [pageIndex]=\"pageIndexUsers\"\r\n [length]=\"lengthUsers\"\r\n (page)=\"pageEvent = getServerDataUsers($event)\"\r\n class=\"msf-paginator-mapping msf-paginator-Style\"\r\n >\r\n</mat-paginator> -->","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { SecurityEndpoint } from '../interfaces/interfaces';\r\nimport { Subject, switchMap } from 'rxjs';\r\nimport { defaultSwitchMapper } from '../utils/utils';\r\n\r\n@Component({\r\n\tselector: 'lib-items-selector',\r\n\ttemplateUrl: './items-selector.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './items-selector.component.scss']\r\n})\r\nexport class ItemsSelectorComponent implements OnInit {\r\n\t@Input() items: any[] = [];\r\n\t@Input() listTitle: string = '';\r\n\t@Input() theme: string = 'default';\r\n\t@Input() selectionTitle: string = '';\r\n\t@Input() initialSelection: any[] = [];\r\n\t@Input() listEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() reloadSelectionSubject?: Subject<any>;\r\n\t@Input() itemLabelMap: any = (item: any) => item.name;\r\n\t// @Input() selectionEndpoint: string = '';\r\n\t@Input() selectionEndpoint?: SecurityEndpoint = { url: '' };\r\n\t@Input() showPaginator: boolean = true;\r\n\t@Output() saveClick = new EventEmitter<any[]>();\r\n\t@Input() hidden: boolean = false;\r\n\t@HostBinding('style.display') get display() { return this.hidden ? 'none' : 'flex' }\r\n\tselectionIds: Set<number | string> = new Set([]);\r\n\tloadedItems: any[] = [];\r\n\tloadingSelection: boolean = false;\r\n\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.reloadSelectionSubject?.subscribe({\r\n\t\t\tnext: (newValue: any) => {\r\n\t\t\t\tif(Boolean(newValue)) {this.loadingSelection = true;\r\n\t\t\t\tthis.http.get(`${this.selectionEndpoint?.url}${this.selectionEndpoint?.queryParams?.(newValue)}`).pipe(switchMap(this.selectionEndpoint?.responseMapping ?? defaultSwitchMapper)).subscribe({\r\n\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\t\tthis.selectionIds = new Set(response.load);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.loadingSelection = false;\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: () => this.loadingSelection = false\r\n\t\t\t\t})}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\ttoggleItem({ id, checked }: { id: number, checked: boolean }) {\r\n\r\n\t\tchecked ? this.selectionIds.add(id) : this.selectionIds.delete(id);\r\n\t}\r\n\r\n\tselectItem(item: any) {\r\n\t\tthis.toggleItem({ id: item.id, checked: !this.selectionIds.has(item.id) });\r\n\t}\r\n\r\n\tloadItems(newItems: any) {\r\n\t\tthis.loadedItems = newItems;\r\n\t}\r\n\r\n\tget selectionItems() {\r\n\t\treturn (Boolean(this.listEndpoint) ? this.loadedItems : this.items).filter(item => this.selectionIds.has(item.id));\r\n\t}\r\n\r\n\tsave() {\r\n\t\tthis.saveClick.emit(this.selectionItems);\r\n\t}\r\n\r\n}\r\n","<lib-items-viewer [listEndpoint]=\"listEndpoint.url\" [listRequestMapping]=\"listEndpoint.responseMapping\" [multipleSelection]=\"true\" [items]=\"items\" [title]=\"listTitle\"\r\n\t[theme]=\"theme\" [selectionIds]=\"selectionIds\" (toggleItem)=\"toggleItem($event)\"\r\n\t(selectItem)=\"selectItem($event)\" [itemLabelMap]=\"itemLabelMap\" (itemsLoaded)=\"loadItems($event)\" [showPaginator]=\"showPaginator\"></lib-items-viewer>\r\n<div [attr.data-theme]=\"theme\" class=\"selection-container\">\r\n\t<div class=\"selection-header\">\r\n\t\t<span class=\"selection-title\">{{selectionTitle}}</span>\r\n\t\t<button class=\"primary\" (click)=\"save()\">{{'Save' | translate}}</button>\r\n\t</div>\r\n\t<lib-loader [theme]=\"theme\" [type]=\"'bar'\" [loading]=\"loadingSelection\"></lib-loader>\r\n\t<div class=\"selection-content\">\r\n\t\t<div class=\"selection-list\">\r\n\t\t\t<div *ngFor=\"let item of selectionItems\" class=\"selection-item\">{{itemLabelMap(item) ?? item.name ?? ''}} <i class=\"menu-close\"\r\n\t\t\t\t\t(click)=\"toggleItem({id: item.id, checked: false})\"></i></div>\r\n\t\t</div>\r\n\t</div>\r\n</div>","import { HttpClient } from '@angular/common/http';\r\nimport { Component, ElementRef, HostBinding, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\n@Component({\r\n selector: 'lib-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './select.component.scss']\r\n})\r\nexport class SelectComponent implements OnInit {\r\n @Input() name: string = 'input';\r\n @Input() label: string = '';\r\n @Input() icon?: string = '';\r\n @Input() iconPosition?: string = 'left';\r\n @Input() className?: string = '';\r\n @Input() formControl!: FormControl;\r\n @Input() theme: string = 'default';\r\n @Input() options: any[] = [];\r\n\t@Input() optionsEndpoint: string = '';\r\n @ViewChild(\"t\") menuTrigger?: MatMenuTrigger;\r\n searchControl = new FormControl<string>('');\r\n @HostBinding('style') hostStyle: any;\r\n\tloadedItems: any[] = [];\r\n\tloadingStatus: boolean = false;\r\n\r\n @Input() set style(styleInput :{[key: string]: any}) {\r\n this.hostStyle = styleInput;\r\n };\r\n\r\n get hasIcon() {\r\n return Boolean(this.icon);\r\n }\r\n\tconstructor(private http: HttpClient, private snackbar: SnackbarService) { }\r\n\r\n\tloadItems() {\r\n\t\tthis.loadingStatus = true;\r\n\t\tthis.http.get(`${this.optionsEndpoint}?page=${1}&pageSize=${100}`).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\t\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.loadedItems = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t},\r\n\t\t\terror: () => {\r\n\t\t\t\tthis.loadingStatus = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (Boolean(this.optionsEndpoint)) {\r\n\t\t\tthis.loadItems();\r\n\t\t\t// this.reloadSubject?.subscribe({ next: () => this.loadItems()});\r\n\t\t}\r\n\t}\r\n\r\n\r\n get filteredOptions() {\r\n return (Boolean(this.optionsEndpoint) ? this.loadedItems : this.options).filter(option => (option.name ?? option.label)?.toLowerCase().includes(this.searchControl.value?.toLowerCase() ?? ''))\r\n }\r\n\r\n\tget selectOptions () {\r\n\t\treturn Boolean(this.optionsEndpoint) ? this.loadedItems : this.options;\r\n\t}\r\n\r\n get noOptions() {\r\n return this.selectOptions.length < 1;\r\n }\r\n \r\n inputClick() {\r\n this.searchControl.setValue('');\r\n }\r\n\r\n selectOption(option: any) {\r\n this.formControl.setValue(option);\r\n }\r\n\r\n} \r\n","<div [attr.data-theme]=\"theme\" [class]=\"['wrapper', iconPosition]\">\r\n <input ngDefaultControl (click)=\"inputClick()\" [matMenuTriggerFor]=\"menu\" readonly [class]=\"[icon ? iconPosition : '', t.menuOpen ? 'opened' : '']\" [name]=\"name\"\r\n [value]=\"formControl.value?.name ?? formControl.value?.label ?? ''\" placeholder=\"\" autocomplete=\"off\" \r\n #t=\"matMenuTrigger\"/>\r\n <i [class]=\"[icon, iconPosition]\" *ngIf=\"hasIcon\"></i>\r\n <div class=\"border\">\r\n <div class=\"left-border\"></div>\r\n <div class=\"label-border\">\r\n <div class=\"border-top\"></div>\r\n <label [class]=\"[icon ? iconPosition : '']\" [for]=\"name\">{{ label }}</label>\r\n <div class=\"border-bottom\"></div>\r\n </div>\r\n <div class=\"right-border\"></div>\r\n </div>\r\n <i [class]=\"['menu-arrow-down', 'select-arrow', iconPosition]\" *ngIf=\"iconPosition === 'left'\"></i>\r\n <mat-menu #menu=\"matMenu\" yPosition=\"below\">\r\n <div *ngIf=\"selectOptions.length > 0\" [attr.data-theme]=\"theme\" class=\"menu-content\">\r\n <div *ngIf=\"selectOptions.length > 5\" class=\"search-container\" (click)=\"$event.stopPropagation()\">\r\n <i class=\"menu-search\"></i>\r\n <input [name]=\"'search'\" ngDefaultControl [formControl]=\"searchControl\" [placeholder]=\"'Search...' | translate\" />\r\n </div>\r\n <option (click)=\"selectOption(option)\" *ngFor=\"let option of filteredOptions\">{{option.name ?? option.label ?? option}}</option>\r\n <div *ngIf=\"filteredOptions.length < 1\" class=\"placeholder\"> {{'Not Found 1' | translate}} </div>\r\n </div>\r\n <div [attr.data-theme]=\"theme\" class=\"placeholder\" *ngIf=\"noOptions\">{{'No options found' | translate}}</div>\r\n </mat-menu>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './radio-group.component.scss']\r\n})\r\nexport class RadioGroupComponent {\r\n @Input() name: string = 'input';\r\n @Input() label: string = '';\r\n @Input() icon?: string = '';\r\n @Input() className?: string = '';\r\n @Input() formControl!: FormControl;\r\n @Input() groupDirection: string = 'row';\r\n @Input() theme: string = 'default';\r\n @Input() options: any[] = [];\r\n @Input() optionClass: string = '';\r\n\r\n get hasLabel() {\r\n return Boolean(this.label);\r\n }\r\n\r\n selectOption(option: any) {\r\n this.formControl.setValue(option);\r\n }\r\n\r\n optionLabel(option: any) {\r\n return (typeof (option) === 'string') ? option : option.label ;\r\n }\r\n\r\n isActive(option: any) {\r\n return (typeof (option) === 'string') ? (option === this.formControl.value ): (option.value === this.formControl.value?.value);\r\n }\r\n\r\n get hasIcon() {\r\n return Boolean(this.icon);\r\n }\r\n}\r\n","<div *ngIf=\"hasLabel\" class=\"label\">\r\n <i *ngIf=\"hasIcon\" [class]=\"[icon]\"></i>\r\n <span>{{label}}</span>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" [class]=\"['buttons', groupDirection]\">\r\n <div [class]=\"[optionClass]\" *ngFor=\"let option of options\" (click)=\"selectOption(option)\">\r\n <lib-radio-button [active]=\"isActive(option)\"></lib-radio-button>\r\n <span>{{optionLabel(option) | translate}}</span>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-checkbox-field',\r\n templateUrl: './checkbox-field.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './checkbox-field.component.scss']\r\n})\r\nexport class CheckboxFieldComponent {\r\n @Input() control!: FormControl;\r\n @Input() theme: string = 'default';\r\n @Input() label: string = '';\r\n @Input() name: string = '';\r\n\r\n checkboxChange($event: any){\r\n \r\n this.control?.setValue($event.target.checked);\r\n }\r\n}\r\n","<lib-checkbox [label]=\"label\" [name]=\"name\" [theme]=\"theme\" [checked]=\"control?.value === true\" (inputChange)=\"checkboxChange($event)\"></lib-checkbox>\r\n","import { CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, Type, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FormField } from '../interfaces/interfaces';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n\tselector: 'lib-form',\r\n\ttemplateUrl: './form.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './form.component.scss']\r\n})\r\nexport class FormComponent implements OnInit, OnChanges {\r\n\t@Input() form: FormField[] = [];\r\n\t@Input() formControls: any;\r\n\t@Input() formActions: any[] = [];\r\n\t@Input() theme: string = 'default';\r\n\t@Input() title: string = '';\r\n\t@Input() icon: string = '';\r\n\t@Input() entityObject: any;\r\n\t@Output() saveClick = new EventEmitter<any>();\r\n\t@ViewChild('dropItemsList') dropItemsList1: any;\r\n\t@ViewChild('dragOptionsList') dragOptionsList1: any;\r\n\t@ViewChild('dropItemsListMO') dropItemsListMO: any;\r\n\t@ViewChild('dragOptionsListMO') dragOptionsListMO: any;\r\n\tassigned: Set<string | number> = new Set([]);\r\n\tassignedMO: Set<string | number> = new Set([]);\r\n\tdropHover: boolean = false;\r\n\tdropHoverMO: boolean = false;\r\n\tloadingDragOptions: boolean = false;\r\n\tloadingMenuOptionsDragOptions: boolean = false;\r\n\tloadedDragOptions: any[] = [];\r\n\tloadedMenuOptionsDragOptions: any[] = [];\r\n\tloadingDroppedOptions: boolean = false;\r\n\tloadingDroppedOptionsMO: boolean = false;\r\n\tget hasRadioButtons() { return this.form.some(field => field.type === 'radiobutton'); }\r\n\tget hasCheckBoxes() { return this.form.some(field => field.type === 'checkbox'); }\r\n\tget hasDragAndDrop() { return this.form.some(field => field.type === 'dragdrop') }\r\n\tget hasMenuOptionsDragAndDrop() { return this.form.some(field => field.type === 'dragdropMenuOptions') }\r\n\tget dragDropField() { return this.form.find(field => field.type === 'dragdrop'); }\r\n\tget dragDropFieldOptions() { return Boolean(this.dragDropField?.optionsEndpoint) ? this.loadedDragOptions : this.dragDropField?.options }\r\n\tget dragOptions() { return this.dragDropFieldOptions?.filter(option => !this.assigned.has(option.id)) ?? []; }\r\n\tget droppedItems() { return this.dragDropFieldOptions?.filter(option => this.assigned.has(option.id)) ?? []; }\r\n\tget dragMenuOptionsDropField() { return this.form.find(field => field.type === 'dragdropMenuOptions'); }\r\n\tget dragMenuOptionsDropFieldOptions() { return Boolean(this.dragMenuOptionsDropField?.optionsEndpoint) ? this.loadedMenuOptionsDragOptions : this.dragMenuOptionsDropField?.options }\r\n\tget dragMenuOptionsOptions() { return this.dragMenuOptionsDropFieldOptions?.filter(option => !this.assignedMO.has(option.id)) ?? []; }\r\n\tget droppedItemsMenuOptions() { return this.dragMenuOptionsDropFieldOptions?.filter(option => this.assignedMO.has(option.id)) ?? []; }\r\n\tget isCreating() { return this.entityObject?.id === null}\r\n\tget dropItemSetupUi() { return this.dragDropField?.setupUi }\r\n\r\n\tentityFormInputs(types: string[]) {\r\n\t\treturn this.form.filter(field => types.includes(field.type));\r\n\t}\r\n\r\n\tshowField(field: FormField) {\r\n\t\treturn field.creationRequired ? (this.entityObject?.id !== null ? false: true ) : true;\r\n\t}\r\n\r\n\tsaveButtonClick(event: any){\r\n\t\tthis.saveClick.emit(this.formControls);\r\n\t}\r\n\r\n\tcheckboxChange(checkbox:FormField) {\r\n\t\tlet control = this.getFormControl(checkbox);\r\n\t\tif (control) control.setValue(!control.value);\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\r\n\t\tconst { entityObject } = changes;\r\n\t\tif ((typeof (entityObject.currentValue.id) === 'number') && Boolean(this.dragDropField?.selectionEndpoint)) {\r\n\t\t\tthis.loadingDroppedOptions = true;\r\n\t\t\tthis.http.get(`${this.dragDropField?.selectionEndpoint?.url}${this.dragDropField?.selectionEndpoint?.queryParams?.(entityObject.currentValue)}`).subscribe({\r\n\t\t\t\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.assigned = new Set(response.load.map((item: any) => item.id));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loadingDroppedOptions = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: () => this.loadingDroppedOptions = false\r\n\t\t\t})\r\n\t\t\t// this.http.get(this.dragDropField!.selectionEndpoint! + '?roledId=' + entityObject.currentValue.id).subscribe({\r\n\t\t\t// \tnext: (response: any) => {\r\n\t\t\t// \t\tif (response.responseCode === 200) {\r\n\t\t\t// \t\t\tthis.assigned = new Set(response.load.map((item: any) => item.id));\r\n\t\t\t// \t\t}\r\n\t\t\t// \t\tthis.loadingDroppedOptions = false;\r\n\t\t\t// \t},\r\n\t\t\t// \terror: () => this.loadingDroppedOptions = false\r\n\t\t\t// })\r\n\t\t}\r\n\r\n\t\tif ((typeof (entityObject.currentValue.id) === 'number') && Boolean(this.dragMenuOptionsDropField?.selectionEndpoint)) {\r\n\t\t\tthis.loadingDroppedOptionsMO = true;\r\n\t\t\tthis.http.get(`${this.dragMenuOptionsDropField?.selectionEndpoint?.url}${this.dragMenuOptionsDropField?.selectionEndpoint?.queryParams?.(entityObject.currentValue)}`).subscribe({\r\n\t\t\t\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.assignedMO = new Set(response.load.map((item: any) => item.id));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loadingDroppedOptionsMO = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: () => this.loadingDroppedOptionsMO = false\r\n\t\t\t})\r\n\t\t\t// this.http.get(this.dragDropField!.selectionEndpoint! + '?roledId=' + entityObject.currentValue.id).subscribe({\r\n\t\t\t// \tnext: (response: any) => {\r\n\t\t\t// \t\tif (response.responseCode === 200) {\r\n\t\t\t// \t\t\tthis.assigned = new Set(response.load.map((item: any) => item.id));\r\n\t\t\t// \t\t}\r\n\t\t\t// \t\tthis.loadingDroppedOptions = false;\r\n\t\t\t// \t},\r\n\t\t\t// \terror: () => this.loadingDroppedOptions = false\r\n\t\t\t// })\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (Boolean(this.dragDropField?.optionsEndpoint?.url)) {\r\n\t\t\tthis.loadingDragOptions = true;\r\n\t\t\tthis.http.get(this.dragDropField?.optionsEndpoint?.url ?? '').subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.loadedDragOptions = response.load;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loadingDragOptions = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: () => this.loadingDragOptions = false\r\n\t\t\t})\r\n\r\n\t\t}\r\n\t\tif (Boolean(this.dragMenuOptionsDropField?.optionsEndpoint?.url)) {\r\n\t\t\tthis.loadingMenuOptionsDragOptions = true;\r\n\t\t\tthis.http.get(this.dragMenuOptionsDropField?.optionsEndpoint?.url ?? '').subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\tthis.loadedMenuOptionsDragOptions = response.load;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loadingMenuOptionsDragOptions = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: () => this.loadingMenuOptionsDragOptions = false\r\n\t\t\t})\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tdrop(event: CdkDragDrop<any[]>) {\r\n\r\n\t\tif (!(event.previousContainer === event.container)) {\r\n\r\n\t\t\tthis.assigned.add(event.item.data?.id);\r\n\t\t\tthis.getFormControl(this.dragDropField)?.setValue(this.dragDropFieldOptions?.filter(option => this.assigned.has(option.id)) ?? [])\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField.control.value?.push?.(event.item.data))\r\n\t\t}\r\n\t\tthis.setDropHover(false);\r\n\t}\r\n\r\n\tdropMO(event: CdkDragDrop<any[]>) {\r\n\r\n\t\tif (!(event.previousContainer === event.container)) {\r\n\r\n\t\t\tthis.assignedMO.add(event.item.data?.id);\r\n\t\t\tthis.getFormControl(this.dragMenuOptionsDropField)?.setValue(this.dragMenuOptionsDropFieldOptions?.filter(option => this.assignedMO.has(option.id)) ?? [])\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t\t// this.dragDropField?.control.setValue(this.dragDropField.control.value?.push?.(event.item.data))\r\n\t\t}\r\n\t\tthis.setDropHoverMO(false);\r\n\t}\r\n\r\n\tsetDropHover(value: boolean) {\r\n\r\n\t\tthis.dropHover = value;\r\n\t}\r\n\r\n\tsetDropHoverMO(value: boolean) {\r\n\r\n\t\tthis.dropHoverMO = value;\r\n\t}\r\n\r\n\tremoveDroppedItem(item: any) {\r\n\t\tthis.assigned.delete(item.id);\r\n\t\tthis.getFormControl(this.dragDropField)?.setValue(this.dragDropFieldOptions?.filter(option => this.assigned.has(option.id)) ?? [])\r\n\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t// \r\n\t}\r\n\r\n\tremoveDroppedItemMO(item: any) {\r\n\t\tthis.assignedMO.delete(item.id);\r\n\t\tthis.getFormControl(this.dragMenuOptionsDropField)?.setValue(this.dragMenuOptionsDropFieldOptions?.filter(option => this.assignedMO.has(option.id)) ?? [])\r\n\t\t// this.dragDropField?.control.setValue(this.dragDropField?.options?.filter(option => this.assigned.has(option.id)) ?? []);\r\n\t\t// \r\n\t}\r\n\r\n\tsetupItem(item: any) {\r\n\t\tif (this.dropItemSetupUi) {\r\n\t\t\tthis.dialog.open(this.dropItemSetupUi, {\r\n\t\t\t\tdata: { item, theme: this.theme, entityObject: this.entityObject }\r\n\t\t\t}).afterClosed().subscribe(result => {\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tconstructor(public dialog: MatDialog, private http: HttpClient) {\r\n\r\n\t}\r\n\r\n\tgetFormControl(field: any) {\r\n\t\treturn this.formControls[field.name];\r\n\t}\r\n\r\n\tisActive(checkbox: FormField){\r\n\t\treturn this.getFormControl(checkbox).value;\r\n\t}\r\n\r\n\r\n}\r\n\r\n\r\n","<div class=\"content-header\">\r\n\t<div class=\"section-title\">\r\n\t\t<i [class]=\"icon\"></i>\r\n\t\t<span>{{title}}</span>\r\n\t</div>\r\n\t<div>\r\n\t\t<ng-container *ngIf=\"!isCreating\">\r\n\t\t\t<button (click)=\"action.callback?.()\" *ngFor=\"let action of formActions\">{{action.label | translate}}</button>\r\n\t\t</ng-container>\r\n\t\t<button class=\"primary\" (click)=\"saveClick.emit($event)\">{{'Save' | translate}}</button>\r\n\t</div>\r\n</div>\r\n<div class=\"content\">\r\n\t<div class=\"content-form\">\r\n\t\t<div *ngIf=\"hasRadioButtons\">\r\n\t\t\t<ng-container *ngFor=\"let radio of entityFormInputs(['radiobutton'])\">\r\n\t\t\t\t<ng-container *ngIf=\"showField(radio)\">\r\n\t\t\t\t\t<div class=\"radio\">\r\n\t\t\t\t\t\t<lib-radio-group ngDefaultControl [theme]=\"theme\" [label]=\"radio.label\"\r\n\t\t\t\t\t\t\t[formControl]=\"getFormControl(radio)\" [options]=\"radio.options ?? []\"></lib-radio-group>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"form inputsForm\">\r\n\t\t\t<ng-container *ngFor=\"let input of entityFormInputs(['text', 'select'])\">\r\n\t\t\t\t<ng-container *ngIf=\"showField(input)\">\r\n\t\t\t\t\t<div [style]=\"input.style\">\r\n\t\t\t\t\t\t<ng-container [ngSwitch]=\"input.type\">\r\n\t\t\t\t\t\t\t<lib-input *ngSwitchCase=\"'text'\" ngDefaultControl [name]=\"input.name\" [label]=\"input.label\"\r\n\t\t\t\t\t\t\t\t[theme]=\"theme\" [formControl]=\"getFormControl(input)\" [disabled]=\"input.readOnly ?? false\" [type]=\"input.inputType ?? 'text'\"></lib-input>\r\n\t\t\t\t\t\t\t<lib-select *ngSwitchCase=\"'select'\" ngDefaultControl [name]=\"input.name\" [label]=\"input.label\"\r\n\t\t\t\t\t\t\t\t[theme]=\"theme\" [formControl]=\"getFormControl(input)\" [options]=\"input.options ?? []\"\r\n\t\t\t\t\t\t\t\t[optionsEndpoint]=\"input.optionsEndpoint?.url ?? ''\"></lib-select>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div *ngIf=\"hasCheckBoxes\" class=\"form\">\r\n\t\t\t<ng-container *ngFor=\"let checkbox of entityFormInputs(['checkbox'])\">\r\n\t\t\t\t<ng-container *ngIf=\"showField(checkbox)\">\r\n\r\n\t\t\t\t\t<div [attr.data-theme]=\"theme\"\r\n\t\t\t\t\t\t[class]=\"['checkbox', isActive(checkbox) ? 'active':'']\" (click)=\"checkboxChange(checkbox)\">\r\n\t\t\t\t\t\t<span>{{checkbox.label}}</span>\r\n\t\t\t\t\t\t<!-- <lib-checkbox-field [name]=\"checkbox.name\" [formControl]=\"checkbox.control\"></lib-checkbox-field> -->\r\n\t\t\t\t\t\t<!-- <mat-checkbox [checked]=\"checkbox.control.value\"></mat-checkbox> -->\r\n\t\t\t\t\t\t<lib-checkbox-field [name]=\"checkbox.name\" [control]=\"getFormControl(checkbox)\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</div>\r\n\t\t<div class=\"drag-drop-field\" *ngIf=\"hasDragAndDrop\">\r\n\t\t\t<div class=\"drop-area-container\">\r\n\t\t\t\t<div [class]=\"[ dropHover?'drop-area-hover':'', 'drop-area']\">\r\n\t\t\t\t\t<span class=\"drop-area-label\">{{(dragDropField?.dropLabel ?? '') | translate}}</span>\r\n\t\t\t\t\t<div class=\"drop-list\" cdkDropList #dropItemsList=\"cdkDropList\" [cdkDropListData]=\"droppedItems\"\r\n\t\t\t\t\t\t[cdkDropListConnectedTo]=\"dragOptionsList1\" (cdkDropListDropped)=\"drop($event)\"\r\n\t\t\t\t\t\t(cdkDropListEntered)=\"setDropHover(true)\" (cdkDropListExited)=\"setDropHover(false)\"\r\n\t\t\t\t\t\tcdkDropListSortingDisabled></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"drop-items\" *ngIf=\"hasDragAndDrop\">\r\n\t\t\t\t<lib-loader [theme]=\"theme\" type=\"bar\" [loading]=\"loadingDroppedOptionsMO\"></lib-loader>\r\n\t\t\t\t<div *ngFor=\"let dropItem of droppedItems\" class=\"drop-item\">\r\n\t\t\t\t\t<span>{{dropItem.name ?? dropItem}}</span>\r\n\t\t\t\t\t<div class=\"drop-item-buttons\">\r\n\t\t\t\t\t\t<i class=\"menu-gear\" (click)=\"setupItem(dropItem)\"></i>\r\n\t\t\t\t\t\t<i class=\"menu-bin\" (click)=\"removeDroppedItem(dropItem)\"></i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"drag-drop-field\" *ngIf=\"hasMenuOptionsDragAndDrop\">\r\n\t\t\t<div class=\"drop-area-container\">\r\n\t\t\t\t<div [class]=\"[ dropHoverMO?'drop-area-hover':'', 'drop-area']\">\r\n\t\t\t\t\t<span class=\"drop-area-label\">{{(dragMenuOptionsDropField?.dropLabel ?? '') | translate}}</span>\r\n\t\t\t\t\t<div class=\"drop-list\" cdkDropList #dropItemsListMO=\"cdkDropList\" [cdkDropListData]=\"droppedItemsMenuOptions\"\r\n\t\t\t\t\t\t[cdkDropListConnectedTo]=\"dragOptionsListMO\" (cdkDropListDropped)=\"dropMO($event)\"\r\n\t\t\t\t\t\t(cdkDropListEntered)=\"setDropHoverMO(true)\" (cdkDropListExited)=\"setDropHoverMO(false)\"\r\n\t\t\t\t\t\tcdkDropListSortingDisabled></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"drop-items\" *ngIf=\"hasMenuOptionsDragAndDrop\">\r\n\t\t\t\t<lib-loader [theme]=\"theme\" type=\"bar\" [loading]=\"loadingDroppedOptions\"></lib-loader>\r\n\t\t\t\t<div *ngFor=\"let dropItem of droppedItemsMenuOptions\" class=\"drop-item\">\r\n\t\t\t\t\t<span>{{dropItem.label ?? dropItem}}</span>\r\n\t\t\t\t\t<div class=\"drop-item-buttons\">\t\t\t\t\t\t\r\n\t\t\t\t\t\t<i class=\"menu-bin\" (click)=\"removeDroppedItemMO(dropItem)\"></i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"bottom-spacer\">\r\n\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"hasDragAndDrop\" class=\"drag-container\">\r\n\t\t<div class=\"drag-area\">\r\n\t\t\t<span class=\"drag-area-label\">{{(dragDropField?.dragTitle ?? '') | translate}}</span>\r\n\t\t\t<ng-container *ngIf=\"!loadingDragOptions\">\r\n\t\t\t\t<div cdkDropList #dragOptionsList=\"cdkDropList\" [cdkDropListData]=\"dragOptions\"\r\n\t\t\t\t\t[cdkDropListConnectedTo]=\"[dropItemsList1]\" cdkDropListSortingDisabled class=\"drag-options\">\r\n\t\t\t\t\t<div [attr.data-theme]=\"theme\" *ngFor=\"let option of dragOptions\" class=\"drag-option\" cdkDrag\r\n\t\t\t\t\t\t[cdkDragData]=\"option\">\r\n\t\t\t\t\t\t<i class=\"menu-move\"></i>\r\n\t\t\t\t\t\t{{option.name ?? option}}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\t\t\t<div *ngIf=\"loadingDragOptions\" class=\"placeholder\">\r\n\t\t\t\t<lib-loader type=\"spinner\" [theme]=\"theme\" [loading]=\"loadingDragOptions\"></lib-loader>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"hasMenuOptionsDragAndDrop\" class=\"drag-container\">\r\n\t\t<div class=\"drag-area\">\r\n\t\t\t<span class=\"drag-area-label\">{{(dragMenuOptionsDropField?.dragTitle ?? '') | translate}}</span>\r\n\t\t\t<ng-container *ngIf=\"!loadingMenuOptionsDragOptions\">\r\n\t\t\t\t<div cdkDropList #dragOptionsListMO=\"cdkDropList\" [cdkDropListData]=\"dragMenuOptionsOptions\"\r\n\t\t\t\t\t[cdkDropListConnectedTo]=\"[dropItemsListMO]\" cdkDropListSortingDisabled class=\"drag-options\">\r\n\t\t\t\t\t<div [attr.data-theme]=\"theme\" *ngFor=\"let option of dragMenuOptionsOptions\" class=\"drag-option\" cdkDrag\r\n\t\t\t\t\t\t[cdkDragData]=\"option\">\r\n\t\t\t\t\t\t<i class=\"menu-move\"></i>\r\n\t\t\t\t\t\t{{option.label ?? option}}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\t\t\t<div *ngIf=\"loadingMenuOptionsDragOptions\" class=\"placeholder\">\r\n\t\t\t\t<lib-loader type=\"spinner\" [theme]=\"theme\" [loading]=\"loadingMenuOptionsDragOptions\"></lib-loader>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<!-- <ng-template>\r\n\t<div class=\"drop-list\" cdkDropList #dropItemsList=\"cdkDropList\" [cdkDropListData]=\"droppedItems\"\r\n\t\t[cdkDropListConnectedTo]=\"[dragOptionsList]\" (cdkDropListDropped)=\"drop($event)\"\r\n\t\t(cdkDropListEntered)=\"setDropHover(true)\" (cdkDropListExited)=\"setDropHover(false)\" cdkDropListSortingDisabled>\r\n\t</div>\r\n\t<div cdkDropList #dragOptionsList=\"cdkDropList\" [cdkDropListData]=\"dragOptions\"\r\n\t\t[cdkDropListConnectedTo]=\"[dropItemsList]\" cdkDropListSortingDisabled class=\"drag-options\">\r\n\t\t<div [attr.data-theme]=\"theme\" *ngFor=\"let option of dragOptions\" class=\"drag-option\" cdkDrag\r\n\t\t\t[cdkDragData]=\"option\">\r\n\t\t\t<i class=\"menu-move\"></i>\r\n\t\t\t{{option.name ?? option}}\r\n\t\t</div>\r\n\t</div>\r\n</ng-template> -->","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { map, Subject, switchMap } from 'rxjs';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SecurityEndpoint } from '../interfaces/interfaces';\r\nimport { defaultMapper, defaultSwitchMapper, removeArrayDuplicates } from '../utils/utils';\r\n\r\n@Component({\r\n\tselector: 'lib-nested-items-selector',\r\n\ttemplateUrl: './nested-items-selector.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './nested-items-selector.component.scss']\r\n})\r\nexport class NestedItemsSelectorComponent implements OnChanges, OnInit {\r\n\t// @Input() items: any[] = [];\r\n\t@Input() theme: string = 'default';\r\n\t@Input() listTitle: string = '';\r\n\t@Input() secondListTitle: string = '';\r\n\t@Input() selectionTitle: string = '';\r\n\t@Input() listEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() secondListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() selectionEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() secondSelectionEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() reloadSelectionSubject?: Subject<any>;\r\n\t@Output() saveClick = new EventEmitter<any>();\r\n\t@Input() hidden: boolean = false;\r\n\t@HostBinding('style.display') get display() { return this.hidden ? 'none' : 'flex' }\r\n\r\n\tselectedItem: any;\r\n\tselectedItemSubject = new Subject<any>;\r\n\tselectionIds: Set<number | string> = new Set([]);\r\n\tsecondSelection: { [id: number]: Set<number> } = {};\r\n\tloadingSecondItems: boolean = false;\r\n\tloadedItems: any[] = [];\r\n\tloadedSecondItems: any[] = [];\r\n\tloadedSecondItemsById: { [id: number]: any[] } = {};\r\n\tcurrentSecondSelection: Set<number> = new Set([]);\r\n\tcurrentSecondItems: any[] = [];\r\n\tloadingSelection: boolean = false;\r\n\r\n\r\n\r\n\tconstructor(private http: HttpClient, private securityAdminService: SecurityAdminService) { }\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.reloadSelectionSubject?.subscribe({\r\n\t\t\tnext: (newUser: any) => {\r\n\t\t\t\tthis.http.get(`${this.selectionEndpoint.url}${this.selectionEndpoint.queryParams?.(newUser)}`).pipe(switchMap(this.selectionEndpoint.responseMapping ?? defaultSwitchMapper)).subscribe(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\t\t\tconsole.warn('first response in subj reload', response, this.loadedItems);\r\n\t\t\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\t\t\tthis.selectionIds = new Set(response.load);\r\n\t\t\t\t\t\t\t\tthis.http.get(`${this.secondSelectionEndpoint.url}${this.secondSelectionEndpoint.queryParams?.(newUser)}`).pipe(switchMap(this.secondSelectionEndpoint.responseMapping ?? defaultSwitchMapper)).subscribe(\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tnext: (response2: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\tconsole.warn('second response in subj reload', response, this.loadedSecondItems);\r\n\t\t\t\t\t\t\t\t\t\t\tif (response2.responseCode === 200) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tObject.entries(this.secondSelection).forEach((entry: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.secondSelection[entry[0]] = response2.load[entry[0]] ?? new Set();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.currentSecondSelection = this.secondSelection[this.selectedItem.id]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (response.load.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlet loadedItem = this.loadedItems.find(i => i.id === response.load[0]);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (loadedItem) this.selectItem(loadedItem);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t// this.secondSelectionIds = new Set(response.load);\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\t// if (selectionEndpoint.currentValue) {\r\n\t\t// \tthis.http.get(selectionEndpoint.currentValue.url).subscribe({\r\n\t\t// \t\tnext: (response:any) => {\r\n\t\t// \t\t\tif (response.responseCode === 200) {\r\n\t\t// \t\t\t\tthis.selectionIds = new Set(response.load.map((item: any) => item.id));\r\n\t\t// \t\t\t\tif (response.load?.length > 0) this.selectItem(response.load[0]);\r\n\t\t// \t\t\t}\r\n\t\t// \t\t}\r\n\t\t// \t})\r\n\t\t// }\r\n\t}\r\n\r\n\r\n\tinSelection(item: any) {\r\n\t\treturn this.selectionIds.has(item.id);\r\n\t}\r\n\r\n\tinSecondSelection(item: any) {\r\n\t\t// return true;\r\n\t\treturn Object.values(this.secondSelection).some(set => set.has(item.id));\r\n\t\t// return this.secondSelectionIds.has(item.id);\r\n\t}\r\n\r\n\ttoggleItem({ id, checked }: { id: number, checked: boolean }) {\r\n\t\tif (checked) {\r\n\t\t\tthis.selectionIds.add(id)\r\n\t\t} else {\r\n\t\t\tthis.selectionIds.delete(id);\r\n\t\t\tthis.secondSelection[this.selectedItem.id] = new Set([]);\r\n\t\t\tthis.currentSecondSelection = this.secondSelection[this.selectedItem.id];\r\n\t\t}\r\n\r\n\t}\r\n\r\n\ttoggleSecondItem({ id, checked }: { id: number, checked: boolean }) {\r\n\t\t// checked ? this.secondSelectionIds.add(id) : this.secondSelectionIds.delete(id);\r\n\t\tif (checked) this.selectionIds.add(this.selectedItem.id);\r\n\t\tchecked ? this.secondSelection[this.selectedItem.id]?.add(id) : this.secondSelection[this.selectedItem.id]?.delete(id);\r\n\t\tthis.currentSecondSelection = this.secondSelection[this.selectedItem.id];\r\n\t}\r\n\r\n\tselectSecondItem(item: any) {\r\n\t\t// this.toggleSecondItem({ id: item.id, checked: !this.selectionIds.has(item.id) });\r\n\t\t// this.selectedItemSubject.next(item);\r\n\t}\r\n\r\n\tshowSecondOptions(item: any) {\r\n\t\tthis.loadingSecondItems = true;\r\n\t\tthis.currentSecondItems = this.loadedSecondItemsById[item.id];\r\n\t\tthis.currentSecondSelection = this.secondSelection[item.id];\r\n\t\tsetTimeout(() => this.loadingSecondItems = false, 2000)\r\n\t\t// this.loadingSecondItems = false;\r\n\t}\r\n\r\n\tselectItem(item: any) {\r\n\t\tthis.selectedItem = item;\r\n\t\tthis.showSecondOptions(item);\r\n\t}\r\n\r\n\tloadItems(newItems: any) {\r\n\t\tconsole.warn('loaded items', newItems);\r\n\t\tthis.loadedItems = newItems;\r\n\t\tthis.loadedSecondItems = [];\r\n\t\tthis.loadedSecondItemsById = newItems.reduce((acc: any, curr: any) => ({ ...acc, [curr.id]: [] }), {});\r\n\t\tthis.secondSelection = newItems.reduce((acc: any, curr: any) => ({ ...acc, [curr.id]: new Set([]) }), {});\r\n\t\tthis.selectItem(this.selectedItem ?? this.loadedItems[0]);\r\n\t\tthis.currentSecondSelection = this.secondSelection[this.selectedItem.id]\r\n\t\tthis.loadedItems.forEach(mainItem => {\r\n\t\t\tthis.loadingSecondItems = true;\r\n\t\t\tthis.http.request(this.secondListEndpoint.method ?? 'GET', this.secondListEndpoint.url, {\r\n\t\t\t\tbody: this.secondListEndpoint.requestBodyMapping?.(mainItem) ?? mainItem\r\n\t\t\t}).pipe(switchMap(switchMapper(this.secondListEndpoint.responseMapping ?? defaultSwitchMapper))).subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tthis.loadedSecondItemsById[mainItem.id] = response.responseCode === 200 ? response.load : [];\r\n\t\t\t\t\tthis.loadedSecondItems = removeArrayDuplicates(Object.values(this.loadedSecondItemsById).flat());\r\n\t\t\t\t\tthis.showSecondOptions(this.selectedItem);\r\n\t\t\t\t\tthis.loadingSecondItems = false;\r\n\t\t\t\t},\r\n\t\t\t\terror: _ => this.loadingSecondItems = false\r\n\t\t\t})\r\n\t\t});\r\n\t}\r\n\r\n\tsave() {\r\n\t\t// let secondaryItems = \r\n\t\tthis.saveClick.emit({\r\n\t\t\tprimaryItems: this.loadedItems.filter(item => this.selectionIds.has(item?.id)),\r\n\t\t\tsecondaryItems: Object.fromEntries(Object.entries(this.secondSelection).map((entry: any) => [entry[0], Array.from(entry[1]).map(item2Id => this.loadedSecondItemsById[entry[0]].find(x => x.id === item2Id))]))\r\n\t\t\t// secondaryItems: Object.values(this.loadedSecondItemsById).flat().filter(item => this.secondSelectionIds.has(item.id))\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\nfunction switchMapper(mapper: Function): any {\r\n\treturn (value: any) => {\r\n\t\treturn mapper(value)\r\n\t}\r\n}","<ng-container>\r\n\t<lib-items-viewer [listEndpoint]=\"listEndpoint.url\" [listRequestMapping]=\"listEndpoint.responseMapping\"\r\n\t\t[multipleSelection]=\"true\" [title]=\"listTitle\" [theme]=\"theme\" [selectionIds]=\"selectionIds\"\r\n\t\t(toggleItem)=\"toggleItem($event)\" (selectItem)=\"selectItem($event)\" (itemsLoaded)=\"loadItems($event)\"\r\n\t\t[showPaginator]=\"false\" [selectedItem]=\"selectedItem\"></lib-items-viewer>\r\n\t<lib-items-viewer *ngIf=\"selectedItem\" [items]=\"currentSecondItems\" [multipleSelection]=\"true\"\r\n\t\t[title]=\"secondListTitle\" [theme]=\"theme\" [selectionIds]=\"currentSecondSelection\"\r\n\t\t(toggleItem)=\"toggleSecondItem($event)\" (selectItem)=\"selectSecondItem($event)\" [showPaginator]=\"false\"\r\n\t\t[externalLoading]=\"loadingSecondItems\"></lib-items-viewer>\r\n\t<div [attr.data-theme]=\"theme\" class=\"selection-container\">\r\n\t\t<div class=\"selection-header\">\r\n\t\t\t<!-- <span class=\"selection-title\">{{selectionTitle}}</span> -->\r\n\t\t\t<button class=\"primary\" (click)=\"save()\">{{'Save' | translate}}</button>\r\n\t\t</div>\r\n\t\t<lib-loader [theme]=\"theme\" [type]=\"'bar'\" [loading]=\"loadingSelection\"></lib-loader>\r\n\t\t<div class=\"selection-content\">\r\n\t\t\t<div class=\"selection-list\">\r\n\t\t\t\t<ng-container *ngFor=\"let item of loadedItems\">\r\n\t\t\t\t\t<div *ngIf=\"inSelection(item)\" class=\"selection-item\">{{item.name ?? ''}} <i class=\"menu-close\"\r\n\t\t\t\t\t\t\t(click)=\"toggleItem({id: item.id, checked: false})\"></i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<ng-container *ngFor=\"let item of loadedSecondItems\">\r\n\t\t\t\t\t<div *ngIf=\"inSecondSelection(item)\" class=\"selection-item\">{{item.name ?? ''}} <i class=\"menu-close\"\r\n\t\t\t\t\t\t\t(click)=\"toggleSecondItem({id: item.id, checked: false})\"></i>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Type, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { RoleCardComponent } from '../role-card/role-card.component';\r\nimport { CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { Observable, of, Subject } from 'rxjs';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\nimport { FormField, SecurityEndpoint } from '../interfaces/interfaces';\r\nimport { TranslatePipe } from '../pipes/translate.pipe';\r\nimport { removeArrayDuplicates } from '../utils/utils';\r\n\r\nconst nameOrder = { property: 'name', ascIcon: 'menu-alphabet-asc', descIcon: 'menu-alphabet-desc', tooltip: 'Ordenar por nombre' };\r\nconst customerOrder = { property: 'customer.name', ascIcon: 'menu-customer-asc', descIcon: 'menu-customer-desc', tooltip: 'Ordenar por empresa' };\r\nconst lastname = { property: 'lastname', ascIcon: 'menu-user-right', descIcon: 'menu-user-left', tooltip: 'Ordenar por apellido' }\r\n\r\n\r\n@Component({\r\n\tselector: 'lib-users-admin',\r\n\ttemplateUrl: './entity-admin.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './entity-admin.component.scss'],\r\n\tproviders: [TranslatePipe]\r\n})\r\nexport class EntityAdminComponent implements OnInit {\r\n\t@Input() theme: string = 'default';\r\n\t@Input() listTitle: string = '';\r\n\t@Input() listIcon: string = '';\r\n\t@Input() listItemIcon: string = '';\r\n\t@Input() entity: \"User\" | \"Customer\" | \"Role\" = \"User\";\r\n\t@Input() entityName: string = '';\r\n\t@Input() entityActions: any[] = [];\r\n\t@Input() entityForm: FormField[] = [];\r\n\t@Input() entityListEndpoint: string = '';\r\n\t@Input() entityItemsEndpoint: SecurityEndpoint = { url: ''};\r\n\t@Input() entityList: any[] = [];\r\n\t@Input() entityUiComponent: Type<any> | null = null;\r\n\t@Input() uiComponentInputs: { [key: string]: any } = {};\r\n\t@Input() searchFilter?: Function;\r\n\t@Input() customerList: any[] = [];\r\n\t@Input() roleList: any[] = [];\r\n\t@Input() userList: any[] = [];\r\n\t@Input() customerListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() agencyListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() roleListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() userListEndpoint: SecurityEndpoint = { url: '' };\r\n\t@Input() saveEntityEndpoint: string = '';\r\n\t@Input() entityListRequestMapping: Function = (response: any) => of(response);\r\n\t@Input() usersByCustomerEndpoint: string = '';\r\n\t@Input() reloadSubject?: Subject<boolean>;\r\n\t@Input() itemSelected: Function = () => { };\r\n\t@Input() resetItemSelected?: Subject<boolean>;\r\n\troleCard = RoleCardComponent;\r\n\tformControls: { [key: string]: FormControl } = {};\r\n\tselectedItem: any = { id: null };\r\n\tselectedUser: any;\r\n\tloadingUserRoles: boolean = false;\r\n\tloadingUserCustomerRoles: boolean = false;\r\n\tget userSubject() { return this.securityAdminService.selectedUserSubject }\r\n\tget customerSubject() { return this.securityAdminService.selectedCustomerSubject }\r\n\tget roleSubject() { return this.securityAdminService.selectedRoleSubject }\r\n\tget disableCreation() { return this.securityAdminService.blockCreationFor.has(this.entity) }\r\n\tget disableForm() { return !this.isItemSelected && this.disableCreation }\r\n\r\n\tget userAssignedRoles() { return this.selectedUser?.roles ?? [] }\r\n\tget userCustomerAssignedRoles() { return this.selectedUser?.customerRoles ?? [] }\r\n\tget mainListOrderProperties() {\r\n\t\tswitch (this.entity) {\r\n\t\t\tcase 'User':\r\n\t\t\t\treturn [nameOrder, lastname];\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\treturn [nameOrder];\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(private securityAdminService: SecurityAdminService, private snackbar: SnackbarService, private translatePipe: TranslatePipe) {\r\n\r\n\t}\r\n\r\n\tget formTitle() { return `${this.translatePipe.transform(this.selectedItem.id ? \"Edit\" : \"Create\")} ${this.translatePipe.transform(this.entityName)}` }\r\n\r\n\r\n\tagencyEndpointParams: Function = (customer: any) => `customerId=${customer.id}`\r\n\r\n\tget isItemSelected() {\r\n\t\treturn typeof (this.selectedItem?.id) === 'number';\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.formControls = this.entityForm.reduce((object, field) => ({ ...object, [field.name]: new FormControl<any>(field.defaultValue ?? null) }), {})\r\n\t\tthis.securityAdminService.subjects[this.entity].subscribe({\r\n\t\t\tnext: (item) => {\r\n\t\t\t\tthis.selectedItem = item;\r\n\t\t\t\tObject.entries(this.formControls).forEach(([name, control]) => {\r\n\t\t\t\t\tlet field = this.entityForm.find(x => x.name === name);\r\n\t\t\t\t\tcontrol.patchValue(parseType(item[name], field?.type));\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.securityAdminService.selectedUserSubject.subscribe({\r\n\t\t\tnext: (user) => {\r\n\t\t\t\tthis.selectedUser = user;\r\n\t\t\t\tif (user.id !== null) {\r\n\t\t\t\t\tthis.loadingUserRoles = true;\r\n\t\t\t\t\tthis.securityAdminService.getAssignedRoles(user.id, \"User\").subscribe({\r\n\t\t\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\t\t\t\tthis.loadingUserCustomerRoles = true;\r\n\t\t\t\t\t\t\t\tthis.securityAdminService.getUserRolesByCustomers(user).subscribe({\r\n\t\t\t\t\t\t\t\t\tnext: (customerResponse: any) => {\r\n\t\t\t\t\t\t\t\t\t\tif (customerResponse.responseCode === 200) {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.selectedUser = { ...user, roles: response.load, customerRoles: removeArrayDuplicates(customerResponse.load) }\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.selectedUser = { ...user, roles: response.load }\r\n\t\t\t\t\t\t\t\t\t\t\tthis.loadingUserRoles = false;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tthis.loadingUserCustomerRoles = false;\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\terror: () => this.loadingUserCustomerRoles = false\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t// if (user.customer?.id) {\r\n\t\t\t\t\t\t\t\t// \tthis.loadingUserCustomerRoles = true;\r\n\t\t\t\t\t\t\t\t// \tthis.securityAdminService.getAssignedRoles(user.customer.id, \"Customer\").subscribe({\r\n\t\t\t\t\t\t\t\t// \t\tnext: (customerResponse: any) => {\r\n\t\t\t\t\t\t\t\t// \t\t\tif (customerResponse.responseCode === 200) {\r\n\t\t\t\t\t\t\t\t// \t\t\t\tthis.selectedUser = { ...user, roles: response.load, customerRoles: customerResponse.load }\r\n\t\t\t\t\t\t\t\t// \t\t\t}\r\n\t\t\t\t\t\t\t\t// \t\t\tthis.loadingUserCustomerRoles = false;\r\n\t\t\t\t\t\t\t\t// \t\t},\r\n\t\t\t\t\t\t\t\t// \t\terror: _ => this.loadingUserCustomerRoles = false\r\n\t\t\t\t\t\t\t\t// \t})\r\n\t\t\t\t\t\t\t\t// } else {\r\n\t\t\t\t\t\t\t\t// \tthis.selectedUser = { ...user, roles: response.load }\r\n\t\t\t\t\t\t\t\t// \tthis.loadingUserRoles = false;\r\n\t\t\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.selectedUser = { ...user, roles: response.load }\r\n\t\t\t\t\t\t\t\tthis.loadingUserRoles = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.loadingUserRoles = false;\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\terror: () => this.loadingUserRoles = false\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.resetItemSelected?.subscribe({\r\n\t\t\tnext: () => {\r\n\t\t\t\tthis.resetForm();\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tselectItem(newItem: any) {\r\n\t\tswitch (this.entity) {\r\n\t\t\tcase \"User\":\r\n\t\t\t\tthis.securityAdminService.selectUser(newItem);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Customer\":\r\n\t\t\t\tthis.securityAdminService.selectCustomer(newItem);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"Role\":\r\n\t\t\t\tthis.securityAdminService.selectRole(newItem);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tsaveItem() {\r\n\t\tthis.snackbar.info(\"Guardando...\", 3000);\r\n\t\tlet newInfo = this.entityForm.reduce((acc, field) => field.requiresNewValue ?\r\n\t\t\t(Boolean(this.formControls[field.name].value) ? { ...acc, [field.name]: this.formControls[field.name].value } : { ...acc }) :\r\n\t\t\t({ ...acc, [field.name]: this.formControls[field.name].value }),\r\n\t\t\t{}\r\n\t\t);\r\n\t\tconsole.warn('entityForm', this.entityForm, this.formControls, newInfo);\r\n\t\tthis.selectedItem = { id: this.selectedItem.id, ...newInfo };\r\n\t\tthis.securityAdminService.saveItem(this.saveEntityEndpoint, { id: this.selectedItem.id, ...newInfo }).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tif (this.entity === 'Role') {\r\n\t\t\t\t\t\tif (this.selectedItem.resources != null) {\r\n\t\t\t\t\t\t\tthis.securityAdminService.assignResource(this.selectedItem.id, this.selectedItem.resources).subscribe({\r\n\t\t\t\t\t\t\t\tnext: (assignResponse: any) => {\r\n\t\t\t\t\t\t\t\t\tif (assignResponse.reponseCode === 200) {\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tthis.selectItem(response.load);\r\n\t\t\t\t\t\t\t\t\tthis.snackbar.success(`${this.translatePipe.transform(this.entityName)} ${this.selectedItem.id === null ? 'Creado' : 'Guardado'}`);\r\n\t\t\t\t\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.selectedItem.menuOptions != null) {\r\n\t\t\t\t\t\t\tthis.securityAdminService.assignOptions(this.selectedItem.id, this.selectedItem.menuOptions).subscribe({\r\n\t\t\t\t\t\t\t\tnext: (assignResponse: any) => {\r\n\t\t\t\t\t\t\t\t\tif (assignResponse.reponseCode === 200) {\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tthis.selectItem(response.load);\r\n\t\t\t\t\t\t\t\t\tthis.snackbar.success(`${this.translatePipe.transform(this.entityName)} ${this.selectedItem.id === null ? 'Creado' : 'Guardado'}`);\r\n\t\t\t\t\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.selectItem(response.load);\r\n\t\t\t\t\t\tthis.snackbar.success(`${this.translatePipe.transform(this.entityName)} ${this.selectedItem.id === null ? 'Creado' : 'Guardado'}`);\r\n\t\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: (error) => {\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\tthis.snackbar.warning('Ha ocurrido un error al guardar');\r\n\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t}\r\n\t\t});;\r\n\t}\r\n\r\n\tget userLabel() {\r\n\t\treturn (item: any) => `${item.name} ${item.lastname ?? ''}`\r\n\t}\r\n\r\n\tresetForm(event?: any) {\r\n\t\tthis.selectItem({ id: null, ...this.entityForm.reduce((acc: any, curr: any) => curr.defaultValue !== undefined ? ({ ...acc, [curr.name]: curr.defaultValue }) : ({ ...acc }), {}) });\r\n\t}\r\n\r\n\tget currentCustomerUsers() {\r\n\t\treturn this.selectedItem.users ?? [];\r\n\t}\r\n\r\n\tget userCustomersEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.customersByUser ?? { url: '' };\r\n\t}\r\n\r\n\tget userAgenciesEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.agenciesByUser ?? { url: '' };\r\n\t}\r\n\r\n\tget customerUsersEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.usersByCustomer;\r\n\t}\r\n\r\n\tget customerRolesEndpoint() {\r\n\t\treturn (typeof(this.selectedItem.id) === 'number') ? this.securityAdminService.endpoints.rolesByCustomer?.url + '?customerId=' + this.selectedItem.id : '';\r\n\t}\r\n\r\n\tget agencyListEndpoint2() {\r\n\t\treturn this.securityAdminService.endpoints.listAllAgencies ?? { url: '' };\r\n\t}\r\n\r\n\r\n\tget roleUsersEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.usersByRole;\r\n\t}\r\n\r\n\tget roleCustomersEndpoint() {\r\n\t\treturn this.securityAdminService.endpoints.customersByRole;\r\n\t}\r\n\r\n\tassignCustomerToUser(customer: any) {\r\n\t\tthis.selectItem({ ...this.selectedItem, customer });\r\n\t}\r\n\r\n\tassignCustomersAndAgencies(items: { primaryItems: any[], secondaryItems: any[] }) {\r\n\t\tthis.snackbar.info('Guardando...');\r\n\t\tthis.securityAdminService.assignUserCustomerAndAgencies(this.selectedItem.id, items.primaryItems, items.secondaryItems).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Empresas/agencias actualizadas');\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar Empresas')\r\n\t\t\t\t}\r\n\t\t\t}, error: () => this.snackbar.warning('Ocurrió un error al asignar Empresas')\r\n\r\n\t\t})\r\n\t\t// let customers = items.primaryItems;\r\n\t\t// let agencies = items.secondaryItems;\r\n\t\t// console.log('try to save', customers, agencies, this.selectedItem);\r\n\t\t// let successCustomers = false;\r\n\t\t// this.snackbar.info('Guardando...');\r\n\t\t// this.securityAdminService.assignUserCustomers(this.selectedItem.id, customers).subscribe({\r\n\t\t// \tnext: (response: any) => {\r\n\t\t// \t\tif (response.responseCode === 200) {\r\n\t\t// \t\t\tif (agencies?.length > 0) {\r\n\t\t// \t\t\t\tthis.securityAdminService.assignUserAgencies(this.selectedItem.id, agencies).subscribe({\r\n\t\t// \t\t\t\t\tnext: (response: any) => {\r\n\t\t// \t\t\t\t\t\tif (response.responseCode === 200) {\r\n\t\t// \t\t\t\t\t\t\tthis.snackbar.success('Empresas y agencias asignadas');\r\n\t\t// \t\t\t\t\t\t}\r\n\t\t// \t\t\t\t\t},\r\n\t\t// \t\t\t\t\terror: _=> this.snackbar.warning('Ha ocurrido un error al asignar Agencias')\r\n\t\t// \t\t\t\t});\r\n\t\t// \t\t\t} else {\r\n\r\n\t\t// \t\t\t}\r\n\t\t// \t\t} else {\r\n\t\t// \t\t\tthis.snackbar.warning('Ha ocurrido un error al asignar Empresas')\r\n\t\t// \t\t}\r\n\t\t// \t}, error: _=> this.snackbar.warning('Ha ocurrido un error al asignar Empresas')\r\n\t\t// });\r\n\t}\r\n\r\n\tassignUsersToCustomer(users: any[]) {\r\n\t\t// this.selectedItem = { ...this.selectedItem, users: users };\r\n\t\t// this.saveItem();\r\n\t\tthis.snackbar.info('Guardando...');\r\n\t\tthis.securityAdminService.assignCustomerUsers(this.selectedItem, users).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Usuarios asignados');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ha ocurrido un error al asignar usuarios')\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: () => this.snackbar.warning('Ha ocurrido un error al asignar usuarios')\r\n\t\t})\r\n\t}\r\n\r\n\tassignUsersToRole(users: any[]) {\r\n\t\tthis.snackbar.info('Guardando...')\r\n\t\tthis.securityAdminService.assignRoleUsers(this.selectedItem.id, users).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Usuarios asignados');\r\n\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar usuarios.');\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: () => this.snackbar.warning('Ocurrió un error al asignar usuarios.')\r\n\t\t});\r\n\t}\r\n\r\n\tassignCustomersToRole(customers: any[]) {\r\n\t\tthis.snackbar.info('Guardando...')\r\n\t\tthis.securityAdminService.assignRoleCustomers(this.selectedItem.id, customers).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.snackbar.success('Empresas asignadas');\r\n\t\t\t\t\tthis.reloadSubject?.next(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al asignar empresas.');\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: () => this.snackbar.warning('Ocurrió un error al asignar empresas.')\r\n\t\t});\r\n\t}\r\n\tget mainTabTitle() { return `Edit ${this.listTitle}` }\r\n\r\n\r\n}\r\n\r\nfunction parseType(value: any, type?: string) {\r\n\tswitch (type) {\r\n\t\tcase 'checkbox':\r\n\t\t\treturn String(value).toLowerCase() === \"true\";\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\treturn value\r\n\t}\r\n}\r\n","<lib-items-viewer [listEndpoint]=\"entityListEndpoint\" [itemsEndpoint]=\"entityItemsEndpoint\" [listRequestMapping]=\"entityListRequestMapping\"\r\n\t(selectItem)=\"selectItem($event)\" [showOrderButtons]=\"true\" [showCreateButton]=\"!disableCreation\"\r\n\t[uiComponentInputs]=\"uiComponentInputs\" [entityUiComponent]=\"entityUiComponent\" [items]=\"entityList\"\r\n\t[title]=\"listTitle\" [icon]=\"listIcon\" [theme]=\"theme\" [itemIcon]=\"listItemIcon\" [reloadSubject]=\"reloadSubject\"\r\n\t(addClick)=\"resetForm($event)\" [selectedItem]=\"selectedItem\" [searchFilter]=\"searchFilter\"\r\n\t[orderProperties]=\"mainListOrderProperties\" [pageSize]=\"50\">\r\n</lib-items-viewer>\r\n<div [attr.data-theme]=\"theme\" class=\"tabs-container\">\r\n\t<mat-tab-group>\r\n\t\t<mat-tab [label]=\"mainTabTitle | translate\">\r\n\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t<ng-container *ngIf=\"disableForm\">\r\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a customer to edit'}\">\r\n\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<lib-form *ngIf=\"!disableForm\" [form]=\"entityForm\" [formControls]=\"formControls\"\r\n\t\t\t\t\t[formActions]=\"entityActions\" [theme]=\"theme\" [title]=\"formTitle\" (saveClick)=\"saveItem()\" icon=\"menu-edit\"\r\n\t\t\t\t\t[entityObject]=\"selectedItem\"></lib-form>\r\n\t\t\t</div>\r\n\t\t</mat-tab>\r\n\t\t<ng-container [ngSwitch]=\"entity\">\r\n\t\t\t<ng-container *ngSwitchCase=\"'User'\">\r\n\t\t\t\t<mat-tab [label]=\"'Customers' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!isItemSelected\">\r\n\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t*ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a user to assign customers'}\">\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t<lib-nested-items-selector [hidden]=\"!isItemSelected\" [selectionEndpoint]=\"userCustomersEndpoint\"\r\n\t\t\t\t\t\t\t\t\t[secondSelectionEndpoint]=\"userAgenciesEndpoint\" [reloadSelectionSubject]=\"userSubject\"\r\n\t\t\t\t\t\t\t\t\t[listEndpoint]=\"customerListEndpoint\" [listTitle]=\"'Available Customers' | translate\"\r\n\t\t\t\t\t\t\t\t\t[secondListEndpoint]=\"agencyListEndpoint\" [secondListTitle]=\"'Available Agencies' | translate\"\r\n\t\t\t\t\t\t\t\t\t[theme]=\"theme\" [selectionTitle]=\"'Empresas y agencias'\"\r\n\t\t\t\t\t\t\t\t\t(saveClick)=\"assignCustomersAndAgencies($event)\">\r\n\t\t\t\t\t\t\t\t</lib-nested-items-selector>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t</mat-tab>\r\n\t\t\t\t<mat-tab [label]=\"'Roles' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<lib-items-viewer [showPaginator]=\"false\" [externalLoading]=\"loadingUserRoles\"\r\n\t\t\t\t\t\t\t\t\t[entityUiComponent]=\"roleCard\" [items]=\"userAssignedRoles\" [theme]=\"theme\"\r\n\t\t\t\t\t\t\t\t\t[title]=\"'Assigned Roles (User)' | translate\" [showPaginator]=\"false\"></lib-items-viewer>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<lib-items-viewer [showPaginator]=\"false\" [externalLoading]=\"loadingUserCustomerRoles\"\r\n\t\t\t\t\t\t\t\t\t[entityUiComponent]=\"roleCard\" [items]=\"userCustomerAssignedRoles\" [theme]=\"theme\"\r\n\t\t\t\t\t\t\t\t\t[title]=\"'Assigned Roles (Customer)' | translate\" [showPaginator]=\"false\"></lib-items-viewer>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-container *ngSwitchCase=\"'Customer'\">\r\n\t\t\t\t<mat-tab [label]=\"'Users' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!isItemSelected\">\r\n\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t*ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a customer to assign users'}\">\r\n\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t<lib-items-selector *ngIf=\"!isItemSelected\" [hidden]=\"!isItemSelected\" [selectionEndpoint]=\"customerUsersEndpoint\"\r\n\t\t\t\t\t\t\t\t\t[listEndpoint]=\"userListEndpoint\" [items]=\"userList\" [reloadSelectionSubject]=\"customerSubject\"\r\n\t\t\t\t\t\t\t\t\t[listTitle]=\"'Available Users' | translate\" [theme]=\"theme\" [itemLabelMap]=\"userLabel\"\r\n\t\t\t\t\t\t\t\t\t[selectionTitle]=\"'Selected Users' | translate\" (saveClick)=\"assignUsersToCustomer($event)\">\r\n\t\t\t\t\t\t\t\t</lib-items-selector>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t\t<mat-tab [label]=\"'Roles' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<lib-items-viewer [listEndpoint]=\"customerRolesEndpoint\" [entityUiComponent]=\"roleCard\"\r\n\t\t\t\t\t\t\t\t\t[items]=\"roleList\" [theme]=\"theme\" [title]=\"'Assigned Roles' | translate\"\r\n\t\t\t\t\t\t\t\t\t[showPaginator]=\"false\"></lib-items-viewer>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-container *ngSwitchCase=\"'Role'\">\r\n\t\t\t\t<mat-tab [label]=\"'Users' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!isItemSelected\">\r\n\t\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a role to assign users'}\">\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t<lib-items-selector *ngIf=\"!isItemSelected\" [hidden]=\"!isItemSelected\" [reloadSelectionSubject]=\"roleSubject\"\r\n\t\t\t\t\t\t\t\t\t[listEndpoint]=\"userListEndpoint\" [selectionEndpoint]=\"roleUsersEndpoint\"\r\n\t\t\t\t\t\t\t\t\t[listTitle]=\"'Available Users' | translate\" [theme]=\"theme\"\r\n\t\t\t\t\t\t\t\t\t[itemLabelMap]=\"userLabel\"\r\n\t\t\t\t\t\t\t\t\t[selectionTitle]=\"'Selected Users' | translate\" (saveClick)=\"assignUsersToRole($event)\">\r\n\r\n\t\t\t\t\t\t\t\t</lib-items-selector>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t\t<mat-tab [label]=\"'Customers' | translate\">\r\n\t\t\t\t\t<div class=\"tab-content\">\r\n\t\t\t\t\t\t<div class=\"content padding-container\">\r\n\t\t\t\t\t\t\t<div class=\"container\">\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"!isItemSelected\">\r\n\t\t\t\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t\t\t\t*ngTemplateOutlet=\"placeholder; context:{$implicit: 'Select a role to assign customers'}\">\r\n\t\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t\t<lib-items-selector *ngIf=\"!isItemSelected\" [hidden]=\"!isItemSelected\" [reloadSelectionSubject]=\"roleSubject\"\r\n\t\t\t\t\t\t\t\t\t[listEndpoint]=\"customerListEndpoint\" [selectionEndpoint]=\"roleCustomersEndpoint\"\r\n\t\t\t\t\t\t\t\t\t[listTitle]=\"'Available Customers' | translate\" [theme]=\"theme\"\r\n\t\t\t\t\t\t\t\t\t[selectionTitle]=\"'Selected Customers' | translate\" (saveClick)=\"assignCustomersToRole($event)\">\r\n\t\t\t\t\t\t\t\t</lib-items-selector>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</mat-tab>\r\n\t\t\t</ng-container>\r\n\r\n\t\t</ng-container>\r\n\t</mat-tab-group>\r\n\r\n</div>\r\n\r\n<ng-template #placeholder let-msg>\r\n\t<div class=\"placeholder\">\r\n\t\t<i class=\"menu-info\"></i>\r\n\t\t<span>{{msg | translate}}</span>\r\n\t</div>\r\n</ng-template>","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormField } from '../interfaces/interfaces';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { debounceTime } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'lib-form-2',\r\n\ttemplateUrl: './form-2.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './form-2.component.scss']\r\n})\r\nexport class Form2Component implements OnInit, OnChanges {\r\n\t@Input() form: FormField[] = [];\r\n\t@Input() editElement: any;\r\n\tcontrols: {[key:string]:FormControl} = {};\r\n\tgroup?: FormGroup;\r\n\t@Output() formChange = new EventEmitter<FormGroup>;\r\n\tget hasRadioButtons() { return this.form.some(field => field.type === 'radiobutton'); }\r\n\tget hasCheckBoxes() { return this.form.some(field => field.type === 'checkbox'); }\r\n\t@Input() theme: string = 'default';\r\n\r\n\tngOnInit(){\r\n\t\tthis.controls = this.form.reduce((object, field) => ({ ...object, [field.name]: new FormControl<any>(null) }), {})\r\n\t\tthis.group = new FormGroup(this.controls);\r\n\t\tthis.group.valueChanges.pipe(debounceTime(300)).subscribe(newValue => {\r\n\t\t\tthis.formChange.emit(newValue);\r\n\t\t})\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tlet {editElement} = changes;\r\n\t\tif (editElement.currentValue){\r\n\t\t\tfor (let key in editElement.currentValue) {\r\n\t\t\t\tthis.controls[key]?.patchValue(editElement.currentValue[key]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetFormInputs(types: string[]) {\r\n\t\treturn this.form.filter(field => types.includes(field.type));\r\n\t}\r\n\r\n\tgetFormControl(field: any) {\r\n\t\treturn this.controls[field.name];\r\n\t}\r\n\r\n\thtmlEditorConfig: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: false,\r\n placeholder: \"\",\r\n translate: \"no\",\r\n defaultFontName: \"Roboto\",\r\n defaultFontSize: \"2\",\r\n fonts: [\r\n { class: \"roboto\", name: \"Roboto\" },\r\n { class: \"arial\", name: \"Arial\" },\r\n { class: \"times-new-roman\", name: \"Times New Roman\" },\r\n { class: \"calibri\", name: \"Calibri\" },\r\n { class: \"comic-sans-ms\", name: \"Comic Sans MS\" },\r\n ],\r\n customClasses: [\r\n {\r\n name: \"Primary Font Theme Color\",\r\n class: \"primary-font-color\",\r\n },\r\n {\r\n name: \"Title Text\",\r\n class: \"title-text\",\r\n tag: \"h3\",\r\n },\r\n ],\r\n };\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"form\">\r\n\t<div *ngIf=\"hasRadioButtons\">\r\n\t\t<div *ngFor=\"let radio of getFormInputs(['radiobutton'])\" class=\"radio\">\r\n\t\t\t<lib-radio-group ngDefaultControl [theme]=\"theme\" [label]=\"radio.label\" [formControl]=\"getFormControl(radio)\"\r\n\t\t\t\t[options]=\"radio.options ?? []\"></lib-radio-group>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div [style]=\"input.style\" *ngFor=\"let input of getFormInputs(['text', 'select'])\">\r\n\t\t<ng-container [ngSwitch]=\"input.type\">\r\n\t\t\t<lib-input *ngSwitchCase=\"'text'\" ngDefaultControl [name]=\"input.name\" [label]=\"input.label\" [theme]=\"theme\"\r\n\t\t\t\t[formControl]=\"getFormControl(input)\"></lib-input>\r\n\t\t\t<lib-select *ngSwitchCase=\"'select'\" ngDefaultControl [name]=\"input.name\" [label]=\"input.label\" [theme]=\"theme\"\r\n\t\t\t\t[formControl]=\"getFormControl(input)\" [options]=\"input.options ?? []\"\r\n\t\t\t\t[optionsEndpoint]=\"input.optionsEndpoint?.url ?? ''\"></lib-select>\r\n\t\t</ng-container>\r\n\t</div>\r\n\t<div class=\"editor-container\" [style]=\"input.style\" *ngFor=\"let input of getFormInputs(['editor'])\">\r\n\t\t<div class=\"editor-wrapper\">\r\n\t\t\t<span>{{input.label}}</span>\r\n\t\t\t<angular-editor ngDEfaultControl [formControl]=\"getFormControl(input)\" [config]=\"htmlEditorConfig\"></angular-editor>\r\n\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<div *ngIf=\"hasCheckBoxes\" class=\"form\">\r\n\t<div *ngFor=\"let checkbox of getFormInputs(['checkbox'])\" [attr.data-theme]=\"theme\" class=\"checkbox\">\r\n\t\t<span>{{checkbox.label}}</span>\r\n\t\t<!-- <lib-checkbox-field [name]=\"checkbox.name\" [formControl]=\"checkbox.control\"></lib-checkbox-field> -->\r\n\t\t<!-- <mat-checkbox [checked]=\"checkbox.control.value\"></mat-checkbox> -->\r\n\t\t<lib-checkbox-field [name]=\"checkbox.name\" [control]=\"getFormControl(checkbox)\" />\r\n\t</div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { FormField } from '../interfaces/interfaces';\r\nimport { FormControl } from '@angular/forms';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\n\r\ninterface Module {\r\n\tid: number | null,\r\n\tname: string,\r\n\ticon?: string,\r\n\tdescription: string,\r\n\twelcomeMessage?: string,\r\n}\r\n\r\nconst moduleForm: FormField[] = [\r\n\t{ type: 'text', label: 'Nombre', name: 'name', style: { \"grid-column\": \"span 4\" } },\r\n\t{ type: 'text', label: 'Descripción', name: 'description', style: { \"grid-column\": \"span 4\" } },\r\n\t{ type: 'editor', label: 'Texto de bienvenida', name: 'welcomeMessage', style: { \"grid-column\": \"span 4\" } },\r\n]\r\n\r\n@Component({\r\n\tselector: 'lib-modules-admin',\r\n\ttemplateUrl: './modules-admin.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './modules-admin.component.scss']\r\n})\r\nexport class ModulesAdminComponent implements OnInit {\r\n\r\n\t@Input() theme: string = 'default';\r\n\tselectedModule: Module = { id: null, name: '', description: '' };\r\n\tloading: boolean = false;\r\n\tmodules: Module[] = [];\r\n\r\n\tmoduleForm = moduleForm;\r\n\tformValues: { [key: string]: any } = {};\r\n\r\n\tconstructor(private securityAdminService: SecurityAdminService, private snackbar: SnackbarService) {\r\n\t\t// this.theme = this.securityAdminService.theme;\r\n\t}\r\n\r\n\tloadModules() {\r\n\t\tthis.loading = true;\r\n\t\tthis.securityAdminService.getAppModules().subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.modules = response.load;\r\n\t\t\t\t}\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t},\r\n\t\t\terror: _ => { this.loading = false }\r\n\t\t})\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\t// this.formControls = this.moduleForm.reduce((object, field) => ({ ...object, [field.name]: new FormControl<any>(null) }), {});\r\n\t\tthis.loadModules();\r\n\t}\r\n\r\n\tactiveModule(module: Module) {\r\n\t\treturn module.id === this.selectedModule.id ? 'selected' : '';\r\n\t}\r\n\r\n\tget selectedModuleName() { return this.noSelection ? '' : `- ${this.selectedModule.name}` }\r\n\r\n\tget noSelection() { return this.selectedModule.id === null || this.selectedModule.id < 0 }\r\n\r\n\tget title() { return this.noSelection ? 'Create' : 'Edit' }\r\n\r\n\tselectModule(module: Module) {\r\n\t\tthis.selectedModule = module;\r\n\t\t// for (let key in module) {\r\n\t\t// \tthis.formControls[key].patchValue(module[key as keyof Module]);\r\n\t\t// }\r\n\t}\r\n\r\n\tnewModule() {\r\n\t\tthis.selectModule({ id: null, name: '', description: '', welcomeMessage: '' })\r\n\t}\r\n\r\n\tformChange(newValues: any) {\r\n\t\tthis.formValues = newValues;\r\n\t}\r\n\r\n\tsave() {\r\n\t\t// let newInfo: any = {}\r\n\t\tthis.snackbar.info('Guardando...');\r\n\t\t// for(let key in this.formControls) {\r\n\t\t// \tnewInfo [key] = this.formControls[key].value;\r\n\t\t// }\r\n\t\tthis.securityAdminService.saveModule({ ...this.selectedModule, ...this.formValues }).subscribe({\r\n\t\t\tnext: (response: any) => {\r\n\t\t\t\tif (response.responseCode === 200) {\r\n\t\t\t\t\tthis.selectModule(response.load);\r\n\t\t\t\t\tthis.snackbar.success(`Módulo \"${this.formValues['name']}\" Guardado`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snackbar.warning('Ocurrió un error al guardar el módulo');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.loadModules();\r\n\r\n\t\t\t},\r\n\t\t\terror: (error) => this.snackbar.warning('Ocurrió un error al guardar el módulo')\r\n\t\t});\r\n\t}\r\n\r\n\tmoduleIcon(module: Module){\r\n\t\treturn Boolean(module.icon) ? module.icon : 'menu-default';\r\n\t}\r\n\r\n}\r\n","<div [attr.data-theme]=\"theme\" class=\"list\">\r\n\t<div class=\"list-header\">\r\n\t\t<i class=\"menu-default\"></i>\r\n\t\t<span>{{'Modules' | translate}}</span>\r\n\t\t<button (click)=\"newModule()\">\r\n\t\t\t<i class=\"menu-plus\"></i>\r\n\t\t</button>\r\n\t</div>\r\n\t<div class=\"list-content\">\r\n\t\t<lib-loader type=\"bar\" [theme]=\"theme\" [loading]=\"loading\"></lib-loader>\r\n\t\t<span class=\"placeholder\" *ngIf=\"!(modules.length > 0)\"> No hay elementos </span>\r\n\t\t<div [class]=\"['module', activeModule(module)]\" *ngFor=\"let module of modules\" (click)=\"selectModule(module)\">\r\n\t\t\t<i [class]=\"[moduleIcon(module)]\"></i>\r\n\t\t\t<span class=\"module-name\">{{module.name}}</span>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<div [attr.data-theme]=\"theme\" class=\"module-editor\">\r\n\t<div [class]=\"['editor-content', 'show']\">\r\n\t\t<div class=\"module-header\">\r\n\t\t\t<div class=\"module-title\">\r\n\t\t\t\t<i class=\"menu-edit\"></i>\r\n\t\t\t\t<span>{{title | translate}} {{'module' | translate}} {{selectedModuleName}}</span>\r\n\t\t\t</div>\r\n\t\t\t<button (click)=\"save()\" class=\"primary\">\r\n\t\t\t\t{{'Save' | translate}}\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div class=\"form\">\r\n\t\t\t<lib-form-2 [editElement]=\"selectedModule\" [theme]=\"theme\" [form]=\"moduleForm\" (formChange)=\"formChange($event)\"></lib-form-2>\r\n\t\t\t<!-- <lib-form [form]=\"moduleForm\" [theme]=\"theme\"></lib-form> -->\r\n\t\t</div>\r\n\t</div>\r\n\t<!-- <ng-container *ngIf=\"noSelection\">\r\n\t\t<div class=\"placeholder\">\r\n\t\t\t<i class=\"menu-info\"></i>\r\n\t\t\t<span>Selecciona un módulo para ver su configuración</span>\r\n\t\t</div>\r\n\t</ng-container> -->\r\n</div>","import { Component, Inject, Input, LOCALE_ID, OnInit, Type } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { BasicItemComponent } from '../basic-item/basic-item.component';\r\nimport { ResourceActionsComponent } from '../resource-actions/resource-actions.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AssignRolesComponent } from '../assign-roles/assign-roles.component';\r\nimport { FormField, SecurityEndpoints } from '../interfaces/interfaces';\r\nimport { MenuAdminComponent } from '../menu-admin/menu-admin.component';\r\nimport { EntityAdminComponent } from '../entity-admin/entity-admin.component';\r\nimport { SecurityAdminService } from '../services/security-admin.service';\r\nimport { SnackbarService } from '../services/snackbar.service';\r\nimport { Subject } from 'rxjs';\r\nimport { ModulesAdminComponent } from '../modules-admin/modules-admin.component';\r\nimport { TranslatePipe } from '../translate.pipe';\r\n\r\nconst defaultUserForm = [\r\n\t{ label: 'Name', control: new FormControl<string>(''), name: 'name', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Last Name', control: new FormControl<string>(''), name: 'lastName', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Address', control: new FormControl<string>(''), name: 'address', type: 'text', style: { \"grid-column\": \"span 4\" } },\r\n\t{ label: 'Country', control: new FormControl<string>(''), name: 'country', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'City', control: new FormControl<string>(''), name: 'city', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Postal Code', control: new FormControl<string>(''), name: 'postalCode', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Email', control: new FormControl<string>(''), name: 'email', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Phone Indicative', control: new FormControl<string>(''), name: 'phoneIndicative', type: 'select', options: [...Array.from({ length: 5 }).map((_, i) => ({ label: `phone ${i}` }))], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Client', control: new FormControl<string>(''), name: 'proposedCustomer', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Company Name', control: new FormControl<string>(''), name: 'companyName', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Active', control: new FormControl<boolean>(false), name: 'active', type: 'checkbox', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Two Factor Authentication', control: new FormControl<boolean>(false), name: 'twoFactorAuthentication', type: 'checkbox', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Token Expires', control: new FormControl<boolean>(false), name: 'tokenExpires', type: 'checkbox', style: { \"grid-column\": \"span 2\" } }\r\n];\r\n\r\nconst defaultCustomerForm = [\r\n\t{ label: 'Name', control: new FormControl<string>(''), name: 'name', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Short Name', control: new FormControl<string>(''), name: 'shortName', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Customer Code', control: new FormControl<string>(''), name: 'customerCode', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Contact Full Name', control: new FormControl<string>(''), name: 'contactFullName', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Type', control: new FormControl<string>(''), name: 'type', type: 'select', options: [], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Contact Email', control: new FormControl<string>(''), name: 'contactEmail', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Country', control: new FormControl<string>(''), name: 'country', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'State', control: new FormControl<string>(''), name: 'state', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'City', control: new FormControl<string>(''), name: 'city', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Zip Code', control: new FormControl<string>(''), name: 'zipCode', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Address 1', control: new FormControl<string>(''), name: 'address1', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Address 2', control: new FormControl<string>(''), name: 'address2', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'License Type', control: new FormControl<string>(''), name: 'licenseType', type: 'select', options: [], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'License Number', control: new FormControl<string>(''), name: 'licenseNumber', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Payment Type', control: new FormControl<string>(''), name: 'paymentType', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Start Date', control: new FormControl<string>(''), name: 'startDate', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'End Date', control: new FormControl<string>(''), name: 'endDate', type: 'text', style: { \"grid-column\": \"span 1\" } },\r\n\t{ label: 'Status', control: new FormControl<string>(''), name: 'status', type: 'select', options: [...Array.from({ length: 10 }).map((_, i) => ({ label: `Country ${i}` }))], style: { \"grid-column\": \"span 2\" } },\r\n\t{ label: 'Terms', control: new FormControl<string>(''), name: 'terms', type: 'text', style: { \"grid-column\": \"span 2\" } },\r\n];\r\n\r\nconst defaultRoleForm = [\r\n\t{ label: 'Role Type', control: new FormControl<any>(''), type: 'radiobutton', name: 'roleType', options: ['Básico', 'Admin', 'Super Admin'] },\r\n\t{ label: 'Role Name', control: new FormControl<string>(''), name: 'name', type: 'text', style: { \"grid-column\": \"span 4\" } },\r\n\t{ label: 'Role Description', control: new FormControl<string>(''), name: 'description', type: 'text', style: { \"grid-column\": \"span 4\" } },\r\n]\r\n\r\n\r\n@Component({\r\n\tselector: 'lib-security-admin',\r\n\ttemplateUrl: './security-admin.component.html',\r\n\tstyleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './security-admin.component.scss'],\r\n})\r\nexport class SecurityAdminComponent implements OnInit {\r\n\ttitle: string = \"security\";\r\n\t@Input() theme: string = 'default';\r\n\t@Input() securityEndpoints: SecurityEndpoints = {};\r\n\t@Input() language: string = 'en';\r\n\t@Input() menuOptionFormComponent?: Type<any>;\r\n\t@Input() userUiComponent: Type<any> = BasicItemComponent;\r\n\t@Input() customerUiComponent = BasicItemComponent;\r\n\t@Input() roleUiComponent = BasicItemComponent;\r\n\t@Input() userForm: FormField[] = defaultUserForm;\r\n\t@Input() customerForm: FormField[] = defaultCustomerForm;\r\n\t@Input() roleForm: FormField[] = defaultRoleForm;\r\n\torderViewBy: FormControl = new FormControl<any>({ value: localStorage.getItem(\"/security/lastView\") ?? 'USERS' });\r\n\tresourcesField = { label: '', dropLabel: 'Drag Resources Here', name: 'resources', type: 'dragdrop', dragTitle: 'Resources', setupUi: ResourceActionsComponent, optionsEndpoint: this.securityEndpoints.listResources ?? '' };\r\n\tmenuOptionsField = { label: '', dropLabel: 'Drag Menu Options Here', name: 'menuOptions', type: 'dragdropMenuOptions', dragTitle: 'Menu Options', setupUi: ResourceActionsComponent, optionsEndpoint: this.securityEndpoints.parentoptions ?? '' };\r\n\tresetItemSelected = new Subject<boolean>;\r\n\r\n\tassignRoles = (entityType: \"Customer\" | \"User\") => {\r\n\t\tthis.dialog.open(AssignRolesComponent, {\r\n\t\t\tdata: { theme: this.theme, entityType }\r\n\t\t}).afterClosed().subscribe(result => {\r\n\t\t});\r\n\t}\r\n\r\n\tuserActions = [{ label: 'Assign Roles', callback: () => this.assignRoles(\"User\") }]\r\n\tcustomerActions = [{ label: 'Assign Roles', callback: () => this.assignRoles(\"Customer\") }];\r\n\troleActions = [];\r\n\tviewOptions: any[] = [];\r\n\r\n\tsetupAdminSevice(){\r\n\t\tthis.securityAdminService.setSecurityEndpoints(this.securityEndpoints);\r\n\t\tthis.securityAdminService.setTheme(this.theme);\r\n\t\tthis.securityAdminService.setMenuOptionFormComponent(this.menuOptionFormComponent);\r\n\t\tthis.securityAdminService.setLanguage(this.language);\r\n\t\tthis.snackbar.setTheme(this.theme);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.setupAdminSevice();\r\n\t\tlet commonInputs = {\r\n\t\t\troleListEndpoint: this.securityEndpoints.listRoles ?? {url: ''},\r\n\t\t\tcustomerListEndpoint: this.securityEndpoints.listCustomers ?? {url: ''},\r\n\t\t\tuserListEndpoint: this.securityEndpoints.listUsers ?? {url: ''},\r\n\t\t\tagencyListEndpoint: this.securityEndpoints.agencyList ?? {url:''},\r\n\t\t\t// userList: this.userList,\r\n\t\t\t// customerList: this.customerList,\r\n\t\t\t// roleList: this.roleList,\r\n\t\t\tresetItemSelected: this.resetItemSelected\r\n\t\t}\r\n\t\tthis.viewOptions = [\r\n\t\t\t{\r\n\t\t\t\tlabel: \"USERS\", value: 'USERS', ui: EntityAdminComponent, inputs: {\r\n\t\t\t\t\t...commonInputs,\r\n\t\t\t\t\tlistTitle: \"Users\",\r\n\t\t\t\t\tentityName: \"User\",\r\n\t\t\t\t\tentity: \"User\",\r\n\t\t\t\t\tentityForm: this.userForm,\r\n\t\t\t\t\tentityActions: this.userActions,\r\n\t\t\t\t\tlistIcon: \"menu-users\",\r\n\t\t\t\t\tlistItemIcon: \"menu-user\",\r\n\t\t\t\t\tentityListEndpoint: this.securityEndpoints.listUsers?.url ?? '',\r\n\t\t\t\t\tentityItemsEndpoint: this.securityEndpoints.listUsers,\r\n\t\t\t\t\tentityUiComponent: this.userUiComponent,\r\n\t\t\t\t\tsaveEntityEndpoint: this.securityEndpoints.saveUser?.url ?? '',\r\n\t\t\t\t\treloadSubject: this.securityAdminService.userReload,\r\n\t\t\t\t\tsearchFilter: (user: any) => { return [user.name, user.lastname, user.customer?.name, user.email] }\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: \"CLIENTS\", value: 'CUSTOMERS', ui: EntityAdminComponent, inputs: {\r\n\t\t\t\t\t...commonInputs,\r\n\t\t\t\t\tlistTitle: \"Customers\",\r\n\t\t\t\t\tentityName: \"Customer\",\r\n\t\t\t\t\tentity: \"Customer\",\r\n\t\t\t\t\tentityForm: this.customerForm,\r\n\t\t\t\t\tentityActions: this.customerActions,\r\n\t\t\t\t\tlistIcon: \"menu-domain\",\r\n\t\t\t\t\tentityListEndpoint: this.securityEndpoints.listCustomers?.url ?? '',\r\n\t\t\t\t\tentityItemsEndpoint: this.securityEndpoints.listCustomers,\r\n\t\t\t\t\tentityUiComponent: this.customerUiComponent,\r\n\t\t\t\t\tentityListRequestMapping: this.securityAdminService.endpoints.listCustomers?.responseMapping,\r\n\t\t\t\t\tsaveEntityEndpoint: this.securityEndpoints.saveCustomer?.url ?? '',\r\n\t\t\t\t\treloadSubject: this.securityAdminService.customerReload\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: \"ROLES\", value: 'ROLES', ui: EntityAdminComponent, inputs: {\r\n\t\t\t\t\t...commonInputs,\r\n\t\t\t\t\tlistTitle: \"Roles\",\r\n\t\t\t\t\tentityName: \"Role\",\r\n\t\t\t\t\tentity: \"Role\",\r\n\t\t\t\t\tentityForm: [...this.roleForm, { ...this.resourcesField, optionsEndpoint: this.securityEndpoints.listResources ?? '', selectionEndpoint: this.securityEndpoints.resourcesByRole ?? '' },\r\n\t\t\t\t\t\t{ ...this.menuOptionsField, optionsEndpoint: this.securityEndpoints.parentoptions ?? '', selectionEndpoint: this.securityEndpoints.optionsbyrole ?? '' }\r\n\t\t\t\t\t],\r\n\t\t\t\t\tentityActions: this.roleActions,\r\n\t\t\t\t\tlistIcon: \"menu-roles\",\r\n\t\t\t\t\tentityListEndpoint: this.securityEndpoints.listRoles?.url ?? '',\r\n\t\t\t\t\tentityItemsEndpoint: this.securityEndpoints.listRoles,\r\n\t\t\t\t\tentityUiComponent: this.roleUiComponent,\r\n\t\t\t\t\tsaveEntityEndpoint: this.securityEndpoints.saveRole?.url ?? '',\r\n\t\t\t\t\treloadSubject: this.securityAdminService.roleReload,\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{ label: \"MENU\", value: 'MENU', ui: MenuAdminComponent, inputs: {} },\r\n\t\t\t{ label: \"MODULES\", value: 'MODULES', ui: ModulesAdminComponent, inputs: {} },\r\n\t\t];\r\n\t}\r\n\r\n\tgetViewInputs(view: any) {\r\n\t\treturn { ...view.inputs, theme: this.theme }\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic dialog: MatDialog,\r\n\t\tprivate securityAdminService: SecurityAdminService,\r\n\t\tprivate snackbar: SnackbarService) {\r\n\t\tthis.orderViewBy.valueChanges.subscribe(newValue => {\r\n\t\t\tthis.resetItemSelected.next(true);\r\n\t\t\tlocalStorage.setItem('/security/lastView', newValue.value);\r\n\t\t});\r\n\t}\r\n\r\n\tclearValueSelected($event: any) {\r\n\r\n\r\n\t}\r\n\r\n\r\n}\r\n","<div class=\"user-mapping-body\">\r\n <div class=\"header-user-title-config\">\r\n <!-- <span>{{title | translate}}</span> -->\r\n </div>\r\n <div class=\"order-view-options-container\">\r\n <!-- <div class=\"view-title\">\r\n <span>Ver por</span>\r\n </div> -->\r\n <div class=\"radio-container\">\r\n <lib-radio-group ngDefaultControl [formControl]=\"orderViewBy\" [theme]=\"theme\" [optionClass]=\"'white'\"\r\n [options]=\"viewOptions\"></lib-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"current-view-container\">\r\n\t\t<ng-container *ngFor=\"let view of viewOptions\">\r\n\t\t\t<ng-container *ngIf=\"orderViewBy.value.value===view.value\">\r\n\t\t\t\t<ng-container *ngComponentOutlet=\"view.ui; inputs: getViewInputs(view)\">\r\n\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n </div>\r\n</div>","export const menuData = {\r\n categories: [\r\n {\r\n id: 3,\r\n parentId: null,\r\n label: 'DOT Operations',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n parentId: null,\r\n label: 'DOT Operations 2',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 5,\r\n parentId: null,\r\n label: 'DOT Operations 2',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n parentId: null,\r\n label: 'DOT Operations 2',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 7,\r\n parentId: null,\r\n label: 'DOT Operations 2',\r\n options: [\r\n {\r\n id: 2,\r\n label: 'Preconfigured Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 72,\r\n categoryId: null,\r\n label: 'By Route',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 74,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 75,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 76,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 77,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 78,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n {\r\n id: 79,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 72,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 73,\r\n categoryId: null,\r\n label: 'By Airport',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 2,\r\n children: [\r\n {\r\n id: 80,\r\n label: 'Arrival delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/ArrivalDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 81,\r\n label: 'Departure delay',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/DepartureDelay',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 82,\r\n label: 'Arrival flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivalFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 83,\r\n label: 'Departure flights',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartureFlights',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 84,\r\n categoryId: 3,\r\n label: 'Arrivals (Taxi-In > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getArrivals',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 85,\r\n label: 'Departures (Taxi-Out > 60)',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getDepartures',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 86,\r\n label: 'Extended Tarmac Times - Arrivals',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesArrival',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n {\r\n id: 87,\r\n label: 'Extended Tarmac Times - Departures',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/BtsFormatAnalysis100/getTarmacTimesDeparture',\r\n icon: null,\r\n parentId: 73,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n label: 'Airport On-Time Reports (234)',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 67,\r\n label: 'Gate Returns and Cancellations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getGateReturnsAndCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 68,\r\n label: 'Cancellations Causes ',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalCancellations',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 69,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getDeparturePerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 70,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getArrivalPerAirports',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n {\r\n id: 71,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/Comprehensive234Query/getWeatherConditions',\r\n icon: null,\r\n parentId: 4,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 6,\r\n label: 'FAA ASPM',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: null,\r\n children: [\r\n {\r\n id: 17,\r\n label: 'Airport Operations',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 19,\r\n label: 'Daily Statistics',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 101,\r\n label: 'Weather Conditions',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/WeatherConditions',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 102,\r\n label: 'Departures Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/DepartureSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 104,\r\n label: 'Arrivals Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/ArrivalSummary',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n {\r\n id: 106,\r\n label: 'Runway Statistics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/DailyReportingToolRest/RunwayStatistics',\r\n icon: null,\r\n parentId: 19,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 20,\r\n label: 'Operation Summary',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 17,\r\n children: [\r\n {\r\n id: 107,\r\n label: 'Airport Operations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportOperations',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n {\r\n id: 108,\r\n label: 'Airport Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/OperationsTypeQueryRest/AirportSummary',\r\n icon: null,\r\n parentId: 20,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: 18,\r\n label: 'Airport And Runway Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 6,\r\n children: [\r\n {\r\n id: 21,\r\n label: 'Efficiency Reports',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 116,\r\n label: 'General Metrics',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/GeneralMetrics',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 117,\r\n label: 'Runway Configurations',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/RunwayConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n {\r\n id: 118,\r\n label: 'Wind Configuration',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/AirPortEfficiencyQueryToolRest/WindConfiguration',\r\n icon: null,\r\n parentId: 21,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 22,\r\n label: 'Weather & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 119,\r\n label: 'ASPM Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/AspmOutPut',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n {\r\n id: 120,\r\n label: 'METAR Records',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/MetarQueryToolRest/MetarOutput',\r\n icon: null,\r\n parentId: 22,\r\n children: [],\r\n },\r\n ],\r\n },\r\n {\r\n id: 23,\r\n label: 'Runway & Efficiency',\r\n baseUrl: null,\r\n icon: null,\r\n parentId: 18,\r\n children: [\r\n {\r\n id: 121,\r\n label: 'Runway Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/RunwaySummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n {\r\n id: 122,\r\n label: 'Weather Summary',\r\n baseUrl:\r\n 'https://stagingpulse.anuvu.com:8886/WsMasflightRemake_v1/RunwayAndWeatherHistoryTool500/WeatherSummary',\r\n icon: null,\r\n parentId: 23,\r\n children: [],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n};\r\n\r\nexport const dropdownRecentOptions = [\r\n {\r\n id: 0,\r\n label: 'dashboard',\r\n icon: 'brasilia-dashboard',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 1,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 2,\r\n label: 'dashboard',\r\n icon: 'brasilia-dashboard',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 3,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 4,\r\n label: 'dashboard',\r\n icon: 'brasilia-dashboard',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 5,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 6,\r\n label: 'dashboard',\r\n icon: 'brasilia-dashboard',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 7,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 8,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 9,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 10,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n {\r\n id: 11,\r\n label: 'general configuration',\r\n icon: 'brasilia-configuration',\r\n date: '19/04/2024, 9:45 am',\r\n },\r\n];\r\n\r\nexport const dropdownNotificationOptions = [\r\n {\r\n id: 0,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 1,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 2,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 3,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 4,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 5,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n {\r\n id: 6,\r\n name: 'Jhon Doe',\r\n label: 'comento en el incidente',\r\n description: '(TEST - problema en el sistema)',\r\n time: 'Aproximandamente hacer una hora',\r\n },\r\n];\r\n\r\nexport const dropdownCompaniesOptions = [\r\n {\r\n id: 0,\r\n name: \"Expreso Brasilia\",\r\n icon: \"brasilia-seagull\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 1,\r\n name: \"Unitransco\",\r\n icon: \"brasilia-unitransco\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 2,\r\n name: \"Lorem\",\r\n icon: \"brasilia-lorem\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 3,\r\n name: \"Lorem\",\r\n icon: \"brasilia-lorem\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n },\r\n {\r\n id: 4,\r\n name: \"Lorem\",\r\n icon: \"brasilia-lorem\",\r\n agencies: [\r\n {\r\n id: 0,\r\n name: \"Agencia Barranquilla\"\r\n },\r\n {\r\n id: 0,\r\n name: \"Agencia Santa Marta\"\r\n }\r\n ]\r\n }\r\n]","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class SecurityServices {\r\n\r\n static readonly HISTORY = '/security/secure/gethistory';\r\n static readonly MODULES = '/security/secure/modulesbyuser';\r\n static readonly MODULE_OPTION = '/security/secure/optionsbymodule';\r\n static readonly COMPANIES_INFO = '/security/secure/getCompaniesInfo';\r\n static readonly VERIFY_AUTH = '/security/secure/validatesession';\r\n static readonly RESOURCES_BY_USER = '/security/secure/resourcesbyuser';\r\n static readonly LOGOUT = '/security/secure/logOut';\r\n static readonly SAVE_HISTORY = '/security/secure/savehistory';\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n\r\n getHistory(baseUrl:string){\r\n return this.http.get(baseUrl + SecurityServices.HISTORY);\r\n }\r\n \r\n getModules(baseUrl:string){\r\n return this.http.get(baseUrl + SecurityServices.MODULES);\r\n }\r\n \r\n menuModuleSelected(baseUrl:string,appId: any) {\r\n const params = new URLSearchParams();\r\n params.append('appId', appId);\r\n return this.http.get(baseUrl + SecurityServices.MODULE_OPTION + '?' + params.toString());\r\n }\r\n\r\n getCompaniesInfo(baseUrl:string) {\r\n return this.http.get(baseUrl + SecurityServices.COMPANIES_INFO);\r\n }\r\n\r\n isAuthenticated(baseUrl:string){\r\n return this.http.get(baseUrl + SecurityServices.VERIFY_AUTH);\r\n }\r\n\r\n getResourcesByUser(baseUrl:string){\r\n return this.http.get(baseUrl + SecurityServices.RESOURCES_BY_USER);\r\n }\r\n\r\n logOut(baseUrl:string){\r\n return this.http.post(baseUrl + SecurityServices.LOGOUT,null);\r\n }\r\n\r\n saveHistory(baseUrl:string,option:any){\r\n return this.http.post(baseUrl + SecurityServices.SAVE_HISTORY,option);\r\n }\r\n\r\n }","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\r\n\r\nexport interface OptionDropdown {\r\n id: number;\r\n label: string;\r\n icon: string;\r\n date: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lib-recents-dropdown',\r\n templateUrl: './recents-dropdown.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./recents-dropdown.component.scss'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })), // Use 'visibility' to remove the element from interaction when not visible\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ]\r\n})\r\nexport class RecentsDropdownComponent implements OnInit {\r\n @Input() options: any[] = [];\r\n @Output() optionSelected: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n isOpen: boolean = false;\r\n selectedOption: OptionDropdown | null = null;\r\n fadeInOut: string = 'out';\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n \r\n ngOnInit(): void {\r\n this.selectedOption = {\r\n id: 0,\r\n label: 'Recientes',\r\n icon: 'brasilia-recents',\r\n date: '',\r\n };\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onClick(targetElement: HTMLElement) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.isOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n toggleDropdown(): void {\r\n this.isOpen = !this.isOpen;\r\n this.fadeInOut = this.isOpen ? 'in' : 'out';\r\n }\r\n\r\n selectOption(option: any): void {\r\n this.selectedOption = option;\r\n this.toggleDropdown();\r\n this.optionSelected.emit(option);\r\n }\r\n\r\n toggleOverlayHandler(event: MouseEvent): void {\r\n // Check if the click is outside the dropdown menu\r\n if (\r\n event.target instanceof Element &&\r\n !event.target.classList.contains('dropdown-menu')\r\n ) {\r\n this.toggleDropdown();\r\n }\r\n }\r\n\r\n handleDropdownClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n }\r\n\r\n}\r\n","<!-- dropdown.component.html -->\r\n<div class=\"dropdown\">\r\n <button class=\"dropdown-toggle\" (click)=\"toggleDropdown()\">\r\n <span class=\"selected-option\" *ngIf=\"selectedOption\">\r\n <span class=\"icon\" [ngClass]=\"selectedOption.icon\"></span>\r\n <span class=\"label\">{{ selectedOption.label }}</span>\r\n </span>\r\n <span\r\n class=\"arrows\"\r\n [ngClass]=\"isOpen ? 'brasilia-arrowUp1' : 'brasilia-arrowDown1'\"\r\n ></span>\r\n </button>\r\n\r\n <div\r\n class=\"dropdown-recent-overlay\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"toggleOverlayHandler($event)\"\r\n ></div>\r\n\r\n <div\r\n class=\"dropdown-menu\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"handleDropdownClick($event)\"\r\n >\r\n <div class=\"dropdown-recent\">\r\n <div class=\"notification-container\">\r\n <span class=\"brasilia-recents icon\"></span>\r\n <span>Recientes</span>\r\n </div>\r\n <span\r\n (click)=\"toggleDropdown()\"\r\n class=\"brasilia-close1 close-icon\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"options-container\">\r\n <div\r\n class=\"options\"\r\n *ngFor=\"let option of options; let i = index\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <div class=\"dropdown-content\">\r\n <span class=\"number\">{{ i + 1 }}</span>\r\n <span [ngClass]=\"option.icon\"></span>\r\n <div class=\"dropdown-option\">\r\n <span class=\"label\">{{ option.label }}</span>\r\n <span class=\"hour\">{{ option.lastTime }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-company-dropdown',\r\n templateUrl: './company-dropdown.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./company-dropdown.component.scss'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })), // Use 'visibility' to remove the element from interaction when not visible\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ]\r\n})\r\nexport class CompanyDropdownComponent {\r\n @Input() companies: any[] = [];\r\n @Output() optionSelected: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n isOpen: boolean = false;\r\n selectedOption: any;\r\n selectedAgency: any;\r\n fadeInOut: string = 'out';\r\n\r\n isCompanyOpen: boolean = true;\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onClick(targetElement: HTMLElement) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.isOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n toggleDropdownHandler(): void {\r\n this.isOpen = !this.isOpen;\r\n this.fadeInOut = this.isOpen ? 'in' : 'out';\r\n }\r\n\r\n selectCompany(option: any): void {\r\n this.selectedOption = option;\r\n //this.optionSelected.emit(option);\r\n }\r\n\r\n selectAgency(agency: any,company: any): void {\r\n this.selectedAgency = agency;\r\n localStorage.setItem('CCC', company.companyCode);\r\n localStorage.setItem('CAC', agency.agencyCode);\r\n this.optionSelected.emit(agency);\r\n }\r\n\r\n toggleOverlayHandler(event: MouseEvent): void {\r\n // Check if the click is outside the dropdown menu\r\n if (\r\n event.target instanceof Element &&\r\n !event.target.classList.contains('dropdown-menu')\r\n ) {\r\n this.toggleDropdownHandler();\r\n }\r\n }\r\n\r\n handleDropdownClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n }\r\n\r\n toggleCompaniesHandler(event: MouseEvent): void {\r\n event.stopPropagation();\r\n this.isCompanyOpen = !this.isCompanyOpen;\r\n }\r\n\r\n toggleSelectCompanysHandler(company: any, event: MouseEvent) {\r\n event.stopPropagation();\r\n \r\n\r\n company.isOpen = !company.isOpen;\r\n }\r\n\r\n isSelectedAgency(agency: any, company: any){\r\n if(!this.selectedAgency){\r\n const cac = localStorage.getItem('CAC');\r\n const ccc = localStorage.getItem('CCC');\r\n if(cac){\r\n if(agency.agencyCode == cac && company.companyCode == ccc){\r\n company.isOpen = true;\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n }else{\r\n return false;\r\n }\r\n }else{\r\n if(agency === this.selectedAgency){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n }\r\n \r\n }\r\n \r\n}\r\n","<div class=\"dropdown\" [ngClass]=\"isOpen ? 'dropdownOpen' : ''\">\r\n <span (click)=\"toggleDropdownHandler()\" class=\"brasilia-dots icons\"></span>\r\n <div\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"dropdown-company-overlay\"\r\n (click)=\"toggleOverlayHandler($event)\"\r\n ></div>\r\n <div\r\n [@fadeInOut]=\"fadeInOut\"\r\n class=\"dropdown-menu\"\r\n (click)=\"handleDropdownClick($event)\"\r\n >\r\n <div class=\"dropdown-menu-options\">\r\n <div class=\"companies-container\">\r\n <span class=\"brasilia-dots icon\"></span>\r\n <span>Opciones de menú</span>\r\n </div>\r\n <span\r\n (click)=\"toggleDropdownHandler()\"\r\n class=\"brasilia-close1 close-icon\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"dropdown-menu-content\">\r\n <div class=\"company-dropdown\" (click)=\"toggleCompaniesHandler($event)\">\r\n <span class=\"brasilia-company company-icon\"></span>\r\n <span class=\"title\">Empresas</span>\r\n <span\r\n class=\"arrow\"\r\n [ngClass]=\"\r\n isCompanyOpen ? 'brasilia-arrowUp1' : 'brasilia-arrowDown1'\r\n \"\r\n ></span>\r\n </div>\r\n\r\n <div\r\n class=\"options\"\r\n *ngFor=\"let company of companies; let i = index\"\r\n (click)=\"selectCompany(company)\"\r\n >\r\n <div *ngIf=\"isCompanyOpen\">\r\n <div\r\n class=\"agency-container\"\r\n (click)=\"toggleSelectCompanysHandler(company, $event)\"\r\n [ngClass]=\"{ isOptionOpen: company.isOpen }\"\r\n >\r\n <span [ngClass]=\"company.icon\" class=\"agency-logo\"></span>\r\n <span class=\"title\">{{ company.companyName }}</span>\r\n\r\n <span\r\n class=\"arrow\"\r\n [ngClass]=\"\r\n company.isOpen ? 'brasilia-arrowUp1' : 'brasilia-arrowDown1'\r\n \"\r\n ></span>\r\n </div>\r\n <div class=\"agencies-container\" *ngIf=\"company.isOpen\">\r\n <div class=\"agency\" *ngFor=\"let agency of company.agencies\" \r\n (click)=\"selectAgency(agency,company)\"\r\n [ngClass]=\"{ isAgencySelected: isSelectedAgency(agency,company) }\">\r\n <span class=\"brasilia-agency\"></span>\r\n <span class=\"agency-name\">{{ agency.agencyName }}</span>\r\n <!-- <span class=\"brasilia-out\"></span> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { Component, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { SecurityServices } from '../utils/services/SecurityServicesDefault';\r\n\r\n@Component({\r\n selector: 'lib-user-dropdown',\r\n templateUrl: './user-dropdown.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./user-dropdown.component.scss'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })), // Use 'visibility' to remove the element from interaction when not visible\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ]\r\n})\r\nexport class UserDropdownComponent {\r\n @Input() baseUrl: string = '';\r\n @Input() isMobile: boolean = false;\r\n isUserDropdownOpen: boolean = false;\r\n fadeInOut: string = 'out';\r\n\r\n constructor(private elementRef: ElementRef,private services:SecurityServices) {}\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onClick(targetElement: HTMLElement) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.isUserDropdownOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n get username() {\r\n return localStorage.getItem('username');\r\n }\r\n\r\n openUserDropdownHandler(): void {\r\n this.isUserDropdownOpen = !this.isUserDropdownOpen;\r\n this.fadeInOut = this.isUserDropdownOpen ? 'in' : 'out';\r\n }\r\n\r\n logOut(){\r\n this.services.logOut(this.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data) {\r\n if(data.load){\r\n localStorage.clear();\r\n window.open('/', '_self');\r\n } \r\n \r\n } else {\r\n \r\n }\r\n },\r\n (err: any) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n goToHome(){\r\n if(this.isMobile){\r\n window.open('../index.html', '_self');\r\n }else{\r\n window.open('/home', '_self');\r\n }\r\n }\r\n}\r\n","<div class=\"header-user-container\" (click)=\"openUserDropdownHandler()\">\r\n <span *ngIf=\"username\">{{username[0]}}</span>\r\n <i *ngIf=\"!username\" class=\"brasilia-user\"></i>\r\n</div>\r\n\r\n<div\r\n class=\"user-overlay\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"openUserDropdownHandler()\"\r\n></div>\r\n\r\n<div [@fadeInOut]=\"fadeInOut\" class=\"header-user-dropdown-container\">\r\n <div (click)=\"goToHome()\" class=\"edit-profile user-options\">\r\n <span class=\"brasilia-agency\"></span>\r\n <span>Home</span>\r\n </div>\r\n <div (click)=\"logOut()\" class=\"logout user-options\">\r\n <span class=\"brasilia-out\"></span>\r\n <span>Cerrar sesión</span>\r\n </div>\r\n</div>\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { dropdownCompaniesOptions, dropdownNotificationOptions, dropdownRecentOptions, menuData } from '../assets/menu-data/menuDataTest';\r\nimport { Data, Router } from '@angular/router';\r\nimport { ServicesConfig } from '../utils/models/ServicesConfig';\r\nimport { SecurityServices } from '../utils/services/SecurityServicesDefault';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nexport interface DropdownOptions {\r\n id: number;\r\n label: string;\r\n parentId: any;\r\n options: DropdownOptionCatergory[];\r\n}\r\n\r\nexport interface DropdownOptionCatergory {\r\n label: string;\r\n icon: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lib-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./header.component.scss']\r\n})\r\nexport class HeaderComponent {\r\n @Input() appLogo: string = '';\r\n @Input() theme: string = 'default';\r\n @Input() showBackButton: boolean = true;\r\n @Input() menuData: Data = {categories: []};\r\n @Input() recentOptions :any = [];\r\n @Input() companies :any = [];\r\n @Input() moduleList: any = [];\r\n @Input() auto: boolean = false;\r\n @Input() servicesConfig: ServicesConfig = {\r\n baseUrl: ''\r\n };\r\n @Input() isMobile: boolean = false;\r\n @Output() returnClick = new EventEmitter<any>();\r\n @Output() menuItemClick = new EventEmitter<string>();\r\n @Output() menuNavigate = new EventEmitter<any>();\r\n @Output() recentNavigate = new EventEmitter<any>(); \r\n @Output() moduleSelect = new EventEmitter<any>();\r\n @Output() lastOption = new EventEmitter<any>();\r\n \r\n isAuth$: Observable<boolean> | undefined;\r\n dropdownOptions = dropdownRecentOptions;\r\n notificationOptions = dropdownNotificationOptions;\r\n companiesDropdown = dropdownCompaniesOptions;\r\n selectedOption: any;\r\n dropdownOptionsMenu: DropdownOptions[] = [ \r\n {\r\n id: 0,\r\n label: 'Lorem Ipsum',\r\n parentId: null,\r\n options: [\r\n { label: 'Lorem Ipsum', icon: 'brasilia-configuration' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-bus-gaviota' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-satelite' },\r\n ]\r\n },\r\n {\r\n id: 0,\r\n label: 'Lorem Ipsum',\r\n parentId: null,\r\n options: [\r\n { label: 'Lorem Ipsum', icon: 'brasilia-video' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-rute' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-calendar' },\r\n { label: 'Lorem Ipsum', icon: 'brasilia-dashboard' }, \r\n ]\r\n }\r\n ];\r\n\r\n constructor(private services:SecurityServices,private router: Router){\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n if(this.auto){\r\n this.isAuth$ = this.isAuth();\r\n this.isAuth$.subscribe(isAuthenticated => {\r\n if (isAuthenticated) {\r\n this.checkResource();\r\n } else {\r\n window.open('/', '_self');\r\n }\r\n }); \r\n }\r\n }\r\n\r\n isAuth(){\r\n return this.services.isAuthenticated(this.servicesConfig.baseUrl).pipe(\r\n map(response => {\r\n if (response) {\r\n return true;\r\n } else { \r\n return false;\r\n }\r\n }),\r\n catchError(() => {\r\n return of(false);\r\n })\r\n );\r\n }\r\n\r\n handleOptionSelected(option: any): void {\r\n this.selectedOption = option;\r\n if(!this.auto){\r\n this.recentNavigate.emit(option);\r\n } \r\n }\r\n\r\n onItemClick(url: any) {\r\n if(!this.auto){\r\n this.menuNavigate.emit(url);\r\n }else{\r\n const urlObj = url.urlSend;\r\n const event = url.event;\r\n \r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n \r\n if(urlObj.url){\r\n this.services.saveHistory(this.servicesConfig.baseUrl,{optionId: urlObj.id}).subscribe(\r\n (data: any) => {\r\n if (urlObj.new === true) {\r\n if(this.isMobile){\r\n const newWindow = window.open(urlObj.url, '_blank');\r\n if (newWindow) {\r\n newWindow.opener = null; \r\n }\r\n }else{\r\n const newWindow = window.open(urlObj.url, '_blank');\r\n if (newWindow) {\r\n newWindow.opener = null; \r\n }\r\n }\r\n \r\n } else {\r\n if(this.isMobile){\r\n window.open(urlObj.url, '_self');\r\n }else{\r\n window.open(urlObj.url, '_self');\r\n }\r\n \r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n \r\n /*\r\n this.inboxService.saveHistory({optionId: urlObj.id}).subscribe(\r\n (data: any) => {\r\n },\r\n (err) => { \r\n }\r\n );\r\n */\r\n } \r\n }\r\n\r\n arrowClick($event: MouseEvent) {\r\n if(!this.auto){\r\n this.returnClick.emit($event);\r\n } \r\n }\r\n\r\n onItemModuleSelected(event: any){\r\n if(!this.auto){\r\n this.moduleSelect.emit(event.id);\r\n }else{\r\n this.currentModule(event.id);\r\n }\r\n \r\n }\r\n\r\n getCompanies(){\r\n this.services.getCompaniesInfo(this.servicesConfig.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data) {\r\n if(data.load){\r\n const cac = localStorage.getItem('CAC');\r\n const ccc = localStorage.getItem('CCC');\r\n if(cac && ccc){\r\n data.load.forEach((c: any) => {\r\n c.agencies.forEach((a: any) => {\r\n if(a.agencyCode == cac && c.companyCode == ccc){\r\n c.isOpen = true;\r\n }\r\n });\r\n });\r\n }\r\n this.companies = data.load;\r\n }\r\n } else {\r\n \r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n getHistory(){\r\n this.services.getHistory(this.servicesConfig.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data) {\r\n if(data.load){\r\n this.recentOptions = data.load;\r\n if(this.recentOptions.length > 0){\r\n console.log(\"last option emit\");\r\n this.lastOption.emit(this.recentOptions[0]);\r\n }\r\n } \r\n this.getModules();\r\n } else {\r\n \r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n checkResource(){\r\n this.services.getResourcesByUser(this.servicesConfig.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data) {\r\n if(data.load){\r\n console.log(data.load);\r\n this.getHistory();\r\n this.getCompanies();\r\n } \r\n \r\n } else {\r\n \r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n getModules(){\r\n this.services.getModules(this.servicesConfig.baseUrl).subscribe(\r\n (data: any) => {\r\n if (data.load) {\r\n this.moduleList = data.load;\r\n }\r\n if (this.recentOptions && this.recentOptions.length > 0) {\r\n if(this.recentOptions[0].applicationId){\r\n this.currentModule(this.recentOptions[0].applicationId);\r\n }else{\r\n this.currentModule(this.moduleList[0].id)\r\n }\r\n \r\n } else {\r\n this.currentModule(this.moduleList[0].id)\r\n }\r\n },\r\n (err) => {\r\n \r\n }\r\n );\r\n /*\r\n if (this.recentData) {\r\n this.moduleSelect(this.recentData[0].applicationId);\r\n } else {\r\n console.log( this.dropdownOptionsMenu)\r\n // const firstOptionId = this.dropdownOptionsMenu?.[0]?.id;\r\n // if (firstOptionId !== undefined) {\r\n // this.moduleSelect(firstOptionId);\r\n // }\r\n }\r\n */\r\n \r\n }\r\n\r\n currentModule(event: any){\r\n this.services.menuModuleSelected(this.servicesConfig.baseUrl,event).subscribe(\r\n (data: any) => {\r\n if (data.load) {\r\n const menuData = {\r\n categories: \r\n data.load\r\n }\r\n\r\n this.menuData = menuData;\r\n } else {\r\n }\r\n },\r\n (err) => {\r\n \r\n }\r\n );\r\n }\r\n\r\n}\r\n","<header [attr.data-theme]=\"theme\" class=\"header-container\" (menuItemClick)=\"menuItemClick\">\r\n <div class=\"header-menu-dashboard-container\">\r\n <div *ngIf=\"showBackButton\" class=\"header-button\" (click)=\"arrowClick($event)\">\r\n <i class=\"menu-arrow-left\"></i>\r\n </div>\r\n <lib-menu class=\"header-menu-lib\" [data]=\"menuData\" [theme]=\"theme\"\r\n [dropdownOptions]=\"moduleList\" (menuItemClick)=\"onItemClick($event)\" (moduleSelected)=\"onItemModuleSelected($event)\" [isMobile]=\"isMobile\"></lib-menu>\r\n </div>\r\n <div class=\"header-logo\">\r\n <span [class]=\"appLogo\"></span>\r\n </div>\r\n\r\n <div class=\"header-notifications-container\">\r\n <div class=\"menu-recents-container\">\r\n <lib-recents-dropdown [options]=\"recentOptions\"\r\n (optionSelected)=\"handleOptionSelected($event)\"></lib-recents-dropdown>\r\n </div>\r\n <!--\r\n <lib-notifications [options]=\"notificationOptions\"\r\n (optionSelected)=\"handleOptionSelected($event)\"></lib-notifications>\r\n -->\r\n \r\n\r\n <lib-company-dropdown [companies]=\"companies\"\r\n (optionSelected)=\"handleOptionSelected($event)\"></lib-company-dropdown>\r\n\r\n <lib-user-dropdown [baseUrl]=\"servicesConfig.baseUrl\" [isMobile]=\"isMobile\"></lib-user-dropdown>\r\n </div>\r\n</header>","import { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-notifications',\r\n templateUrl: './notifications.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss','./notifications.component.scss'],\r\n animations: [\r\n trigger('fadeInOut', [\r\n state('in', style({ opacity: 1, visibility: 'visible' })),\r\n state('out', style({ opacity: 0, visibility: 'hidden' })), // Use 'visibility' to remove the element from interaction when not visible\r\n transition('out => in', animate('0.3s ease-in')),\r\n transition('in => out', animate('0.3s ease-out')),\r\n ]),\r\n ]\r\n})\r\nexport class NotificationsComponent {\r\n @Input() options: any[] = [];\r\n @Output() optionSelected: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n isOpen: boolean = false;\r\n selectedOption: any;\r\n fadeInOut: string = 'out';\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n onClick(targetElement: HTMLElement) {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.isOpen = false;\r\n this.fadeInOut = 'out';\r\n }\r\n }\r\n\r\n toggleNotificationHandler(): void {\r\n this.isOpen = !this.isOpen;\r\n this.fadeInOut = this.isOpen ? 'in' : 'out';\r\n }\r\n\r\n selectOption(option: any): void {\r\n this.selectedOption = option;\r\n this.optionSelected.emit(option);\r\n }\r\n\r\n toggleOverlayHandler(event: MouseEvent): void {\r\n // Check if the click is outside the dropdown menu\r\n if (\r\n event.target instanceof Element &&\r\n !event.target.classList.contains('dropdown-menu')\r\n ) {\r\n this.toggleNotificationHandler();\r\n }\r\n }\r\n\r\n handleDropdownClick(event: MouseEvent): void {\r\n event.stopPropagation();\r\n }\r\n}\r\n","<div class=\"dropdown\" [ngClass]=\"isOpen ? 'dropdownOpen' : ''\">\r\n <span\r\n (click)=\"toggleNotificationHandler()\"\r\n class=\"brasilia-notification icons\"\r\n ></span>\r\n\r\n <div\r\n class=\"notifications-overlay\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"toggleOverlayHandler($event)\"\r\n ></div>\r\n\r\n <div\r\n class=\"dropdown-menu\"\r\n [@fadeInOut]=\"fadeInOut\"\r\n (click)=\"handleDropdownClick($event)\"\r\n >\r\n <div class=\"dropdown-recent\">\r\n <div class=\"notification-container\">\r\n <span class=\"brasilia-notification icons\"></span>\r\n <span>Notificaciones</span>\r\n </div>\r\n <span\r\n (click)=\"toggleNotificationHandler()\"\r\n class=\"brasilia-close1 close-icon\"\r\n ></span>\r\n </div>\r\n <div>\r\n <mat-tab-group>\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span class=\"brasilia-boards tab-icon\"></span>\r\n <span class=\"notification-tab-title\">Tableros</span>\r\n </ng-template>\r\n\r\n <div\r\n class=\"options\"\r\n *ngFor=\"let option of options; let i = index\"\r\n (click)=\"selectOption(option)\"\r\n >\r\n <div class=\"dropdown-content\">\r\n <div class=\"inital-label\">\r\n <span>A</span>\r\n </div>\r\n <div class=\"description-container\">\r\n <span class=\"label\">\r\n <span class=\"bold-text\">{{ option.name }}</span>\r\n <span class=\"label-description\">{{ option.label }}</span>\r\n </span>\r\n <span class=\"bold-text\">{{ option.description }}</span>\r\n <span class=\"time\">{{ option.time }}</span>\r\n </div>\r\n <div class=\"buttons-containers\">\r\n <div class=\"check icon\">\r\n <span class=\"brasilia-check\"></span>\r\n </div>\r\n <div class=\"close icon\">\r\n <span class=\"brasilia-close1\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-tab>\r\n\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span class=\"brasilia-roles tab-icon\"></span>\r\n <span class=\"notification-tab-title\">Roles</span>\r\n </ng-template>\r\n Content 2\r\n </mat-tab>\r\n\r\n <mat-tab>\r\n <ng-template mat-tab-label>\r\n <span class=\"brasilia-alert tab-icon\"></span>\r\n <span class=\"notification-tab-title\">Alerta</span>\r\n </ng-template>\r\n\r\n Content 3\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output, Type } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-list',\r\n templateUrl: './list.component.html',\r\n styleUrls: ['../assets/fonts/style.css', '../assets/theme.scss', './list.component.scss']\r\n})\r\nexport class ListComponent {\r\n\t@Input() icon: string = '';\r\n\t@Input() theme: string = 'default';\r\n\t@Input() title: string = '';\r\n\t@Input() itemIcon: string = '';\r\n\t@Input() items: any[] = [];\r\n\t@Input() itemUiComponent: Type<any> | null = null;\r\n\t@Input() uiComponentInputs: { [key: string]: any } = {};\r\n\t@Input() loading: boolean = false;\r\n\t@Input() showLoader: boolean = false;\r\n\t@Input() searchFilter?: Function;\r\n\t@Input() showCreateButton: boolean = false;\r\n\t@Input() selectedItem: any = null;\r\n\t@Input() multipleSelection: boolean = false;\r\n\t@Input() selectionIds: Set<string | number> = new Set([]);\r\n\t@Input() showSearch: boolean = true;\r\n\t@Input() orderProperties: {property: string, ascIcon: string, descIcon: string}[] = []\r\n\t@Output() selectItem = new EventEmitter<any>();\r\n\t@Output() toggleItem = new EventEmitter<any>();\r\n\t@Output() createClick = new EventEmitter();\r\n}\r\n","<p>list works!</p>\r\n","import { forwardRef, NgModule } from '@angular/core';\r\nimport { AspLibComponent } from './asp-lib.component';\r\nimport { MenuComponent } from './menu/menu.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ApplicationMenuComponent } from './application-menu/application-menu.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\n//import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { SecurityAdminComponent } from './security-admin/security-admin.component';\r\nimport { MatRadioButton, MatRadioGroup, MatRadioModule } from '@angular/material/radio';\r\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { ItemsViewerComponent } from './items-viewer/items-viewer.component';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { InputComponent } from './input/input.component';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { SelectComponent } from './select/select.component';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { EntityAdminComponent } from './entity-admin/entity-admin.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { RecentsDropdownComponent } from './recents-dropdown/recents-dropdown.component';\r\nimport { NotificationsComponent } from './notifications/notifications.component';\r\nimport { CompanyDropdownComponent } from './company-dropdown/company-dropdown.component';\r\nimport { UserDropdownComponent } from './user-dropdown/user-dropdown.component';\r\nimport { RadioGroupComponent } from './radio-group/radio-group.component';\r\nimport { BasicItemComponent } from './basic-item/basic-item.component';\r\nimport { RoleCardComponent } from './role-card/role-card.component';\r\nimport { ItemsSelectorComponent } from './items-selector/items-selector.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { CheckboxFieldComponent } from './checkbox-field/checkbox-field.component';\r\nimport { CdkDrag, CdkDropListGroup, CdkDropList, DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { FormComponent } from './form/form.component';\r\nimport { ResourceActionsComponent } from './resource-actions/resource-actions.component';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { AssignRolesComponent } from './assign-roles/assign-roles.component';\r\nimport { RoleInfoComponent } from './role-info/role-info.component';\r\nimport { MenuAdminComponent } from './menu-admin/menu-admin.component';\r\nimport {MatTreeModule} from '@angular/material/tree'\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { SnackbarComponent } from './snackbar/snackbar.component';\r\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\r\nimport { MenuChildReportComponent } from './menu/menu-child-report/menu-child-report.component';\r\nimport { TreeComponent } from './tree/tree.component';\r\nimport { MultiOptionDialogComponent } from './multi-option-dialog/multi-option-dialog.component';\r\nimport { MoveMenuOptionComponent } from './move-menu-option/move-menu-option.component';\r\nimport { ListComponent } from './list/list.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { ModulesAdminComponent } from './modules-admin/modules-admin.component';\r\nimport { Form2Component } from './form-2/form-2.component';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { NestedItemsSelectorComponent } from './nested-items-selector/nested-items-selector.component';\r\nimport { TranslatePipe } from './pipes/translate.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n AspLibComponent,\r\n MenuComponent,\r\n ApplicationMenuComponent,\r\n DropdownComponent,\r\n SecurityAdminComponent,\r\n ItemsViewerComponent,\r\n InputComponent,\r\n SelectComponent,\r\n EntityAdminComponent,\r\n HeaderComponent,\r\n RecentsDropdownComponent,\r\n NotificationsComponent,\r\n CompanyDropdownComponent,\r\n UserDropdownComponent,\r\n RadioGroupComponent,\r\n BasicItemComponent,\r\n RoleCardComponent,\r\n ItemsSelectorComponent,\r\n CheckboxComponent,\r\n CheckboxFieldComponent,\r\n FormComponent,\r\n ResourceActionsComponent,\r\n AssignRolesComponent,\r\n RoleInfoComponent,\r\n MenuAdminComponent,\r\n LoaderComponent,\r\n SnackbarComponent,\r\n RadioButtonComponent,\r\n MenuChildReportComponent,\r\n TreeComponent,\r\n MultiOptionDialogComponent,\r\n MoveMenuOptionComponent,\r\n ListComponent,\r\n ModulesAdminComponent,\r\n Form2Component,\r\n NestedItemsSelectorComponent,\r\n TranslatePipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n //BrowserAnimationsModule,\r\n MatRadioModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatPaginatorModule,\r\n MatTabsModule,\r\n MatMenuModule,\r\n MatCheckboxModule,\r\n DragDropModule,\r\n\t\tAngularEditorModule,\r\n MatDialogModule,\r\n MatTreeModule,\r\n HttpClientModule,\r\n\t\tMatTooltipModule\r\n ],\r\n exports: [\r\n AspLibComponent,\r\n MenuComponent,\r\n ApplicationMenuComponent,\r\n DropdownComponent,\r\n SecurityAdminComponent,\r\n ItemsViewerComponent,\r\n InputComponent,\r\n SelectComponent,\r\n EntityAdminComponent,\r\n HeaderComponent,\r\n RecentsDropdownComponent,\r\n NotificationsComponent,\r\n CompanyDropdownComponent,\r\n UserDropdownComponent,\r\n RadioGroupComponent,\r\n BasicItemComponent,\r\n RoleCardComponent,\r\n ItemsSelectorComponent,\r\n CheckboxFieldComponent,\r\n CheckboxComponent,\r\n MenuChildReportComponent\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appereance: 'outline' } }\r\n ]\r\n})\r\nexport class AspLibModule { }","/*\r\n * Public API Surface of asp-lib\r\n */\r\n\r\nexport * from './lib/asp-lib.service';\r\nexport * from './lib/asp-lib.component';\r\nexport * from './lib/asp-lib.module';\r\nexport * from './lib/menu/menu.component';\r\nexport * from './lib/application-menu/application-menu.component';\r\nexport * from './lib/dropdown/dropdown.component';\r\nexport * from './lib/security-admin/security-admin.component';\r\nexport * from './lib/items-viewer/items-viewer.component';\r\nexport * from './lib/input/input.component';\r\nexport * from './lib/select/select.component';\r\nexport * from './lib/entity-admin/entity-admin.component';\r\nexport * from './lib/header/header.component';\r\nexport * from './lib/recents-dropdown/recents-dropdown.component';\r\nexport * from './lib/notifications/notifications.component';\r\nexport * from './lib/company-dropdown/company-dropdown.component';\r\nexport * from './lib/user-dropdown/user-dropdown.component';\r\nexport * from './lib/radio-group/radio-group.component';\r\nexport * from './lib/basic-item/basic-item.component';\r\nexport * from './lib/role-card/role-card.component';\r\nexport * from './lib/items-selector/items-selector.component';\r\nexport * from './lib/checkbox/checkbox.component';\r\nexport * from './lib/checkbox-field/checkbox-field.component';\r\nexport * from './lib/menu/menu-child-report/menu-child-report.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.DropdownComponent","i4.MenuChildReportComponent","i1.SecurityAdminService","i2.SecurityAdminService","i3.SnackbarService","i4","i5.LoaderComponent","i6.RadioButtonComponent","i7.TranslatePipe","i3","i4.LoaderComponent","i5.TranslatePipe","i4.TranslatePipe","i5","i7.InputComponent","i8.RoleCardComponent","i9.LoaderComponent","i10.TranslatePipe","flattenTree","completeNode","i2.RadioButtonComponent","i5.TreeComponent","i4.DialogService","i6","i7","i8.InputComponent","i2.SnackbarService","i3.TranslatePipe","i9.InputComponent","i10.CheckboxComponent","i11.LoaderComponent","switchMapper","i3.ItemsViewerComponent","i6.TranslatePipe","i1.CheckboxComponent","i6.InputComponent","i7.SelectComponent","i8.RadioGroupComponent","i9.CheckboxFieldComponent","i10.LoaderComponent","i11.TranslatePipe","i4.ItemsViewerComponent","i6.ItemsViewerComponent","i7.ItemsSelectorComponent","i8.FormComponent","i9.NestedItemsSelectorComponent","i4.InputComponent","i5.SelectComponent","i6.RadioGroupComponent","i7.CheckboxFieldComponent","i5.Form2Component","i1.SecurityServices","map","i4.MenuComponent","i5.RecentsDropdownComponent","i6.CompanyDropdownComponent","i7.UserDropdownComponent"],"mappings":"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"}