ngx-obelisco-example
Version:
Componentes funcionales y reutilizables para Angular.
1 lines • 18.9 kB
Source Map (JSON)
{"version":3,"file":"ngx-obelisco-example-dropdown.mjs","sources":["../../../projects/ngx-obelisco/dropdown/o-dropdown-navigation/o-dropdown-navigation.component.ts","../../../projects/ngx-obelisco/dropdown/o-dropdown-navigation/o-dropdown-navigation.component.html","../../../projects/ngx-obelisco/dropdown/o-dropdown-selection/o-dropdown-selection.component.ts","../../../projects/ngx-obelisco/dropdown/o-dropdown-selection/o-dropdown-selection.component.html","../../../projects/ngx-obelisco/dropdown/o-dropdown.module.ts","../../../projects/ngx-obelisco/dropdown/ngx-obelisco-example-dropdown.ts"],"sourcesContent":["import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { DropdownNavigationItem } from 'ngx-obelisco-example/core/models';\r\n\r\n@Component({\r\n selector: 'o-dropdown-navigation',\r\n templateUrl: './o-dropdown-navigation.component.html',\r\n styleUrls: ['./o-dropdown-navigation.component.scss']\r\n})\r\nexport class ODropdownNavigationComponent implements OnChanges {\r\n @Input() public dataTarget: string = 'dropdown';\r\n @Input() public title!: string;\r\n @Input() public iconLeft!: string;\r\n @Input() public iconRight!: string;\r\n @Input() public isAnimatedIconLeft: boolean = false;\r\n @Input() public isAnimatedIconRight: boolean = false;\r\n @Input() public dropNavItems!: DropdownNavigationItem[];\r\n @Input() public isPositionRight: boolean = false;\r\n @Input() public isBordered: boolean = true;\r\n @Input() public customClasses: string = '';\r\n @Input() public ariaLabel!: string;\r\n\r\n hasChildren: boolean = false;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if ('dropNavItems' in changes) {\r\n this.hasChildren = this.dropNavItems.some((item) => item.children && item.children.length > 0);\r\n }\r\n }\r\n}\r\n","<div class=\"dropdown\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-dropdown btn-dropdown-lg\"\r\n [class.btn-dropdown-border]=\"isBordered\"\r\n [class.dropdown-toggle]=\"!hasChildren\"\r\n [attr.data-toggle]=\"hasChildren ? 'collapse' : 'dropdown'\"\r\n [attr.data-target]=\"hasChildren ? '#' + dataTarget : null\"\r\n [attr.aria-controls]=\"hasChildren ? dataTarget : null\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n [ngClass]=\"customClasses\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n >\r\n <ng-container *ngIf=\"iconLeft\">\r\n <i *ngIf=\"iconLeft.includes('bx')\" class=\"{{ iconLeft }}\" [class.btn-dropdown-icon]=\"isAnimatedIconLeft\"></i>\r\n <span\r\n *ngIf=\"!iconLeft.includes('bx')\"\r\n class=\"material-icons-round\"\r\n aria-hidden=\"true\"\r\n [class.btn-dropdown-icon]=\"isAnimatedIconLeft\"\r\n >{{ iconLeft }}</span\r\n >\r\n </ng-container>\r\n <span class=\"btn-dropdown-text\" *ngIf=\"title\">{{ title }}</span>\r\n <ng-container *ngIf=\"iconRight\">\r\n <i *ngIf=\"iconRight.includes('bx')\" class=\"{{ iconRight }}\" [class.btn-dropdown-icon]=\"isAnimatedIconRight\"></i>\r\n <span\r\n *ngIf=\"!iconRight.includes('bx')\"\r\n class=\"material-icons-round\"\r\n aria-hidden=\"true\"\r\n [class.btn-dropdown-icon]=\"isAnimatedIconRight\"\r\n >{{ iconRight }}</span\r\n >\r\n </ng-container>\r\n </button>\r\n <div\r\n class=\"dropdown-menu\"\r\n [class.dropdown-menu-right]=\"isPositionRight\"\r\n [class.collapse]=\"hasChildren\"\r\n [id]=\"hasChildren ? dataTarget : null\"\r\n >\r\n <ng-container *ngFor=\"let item of dropNavItems\">\r\n <a\r\n *ngIf=\"item.route && !item.children\"\r\n class=\"dropdown-item\"\r\n [class.disabled]=\"item.isDisabled\"\r\n [class.item-danger]=\"item.isItemDanger\"\r\n [routerLink]=\"item.route\"\r\n [ngClass]=\"item.customClasses\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconLeft }\"></ng-container>\r\n <span class=\"item-text\" [class.text-right]=\"item.textPosition == 'right'\">{{ item.text }}</span>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconRight }\"></ng-container>\r\n </a>\r\n <a\r\n *ngIf=\"item.link && !item.children\"\r\n class=\"dropdown-item\"\r\n [class.disabled]=\"item.isDisabled\"\r\n [class.item-danger]=\"item.isItemDanger\"\r\n [href]=\"item.link\"\r\n target=\"_blank\"\r\n [ngClass]=\"item.customClasses\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconLeft }\"></ng-container>\r\n <span class=\"item-text\" [class.text-right]=\"item.textPosition == 'right'\">{{ item.text }}</span>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconRight }\"></ng-container>\r\n </a>\r\n\r\n <div *ngIf=\"item.children\" class=\"dropdown sub-dropdown\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-dropdown btn-dropdown-lg dropdown-toggle sub-btn-dropdown\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n [ngClass]=\"item.customClasses\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconLeft, animated: item.isAnimatedIconLeft }\"\r\n ></ng-container>\r\n <span class=\"item-text\" [class.text-right]=\"item.textPosition == 'right'\">{{ item.text }}</span>\r\n <ng-container\r\n *ngTemplateOutlet=\"iconTemplate; context: { icon: item.iconRight, animated: item.isAnimatedIconRight }\"\r\n ></ng-container>\r\n </button>\r\n <div class=\"dropdown-menu sub-dropdown-menu\">\r\n <ng-container *ngFor=\"let subitem of item.children\">\r\n <a\r\n *ngIf=\"subitem.route\"\r\n class=\"dropdown-item sub-item\"\r\n [class.item-danger]=\"subitem.isItemDanger\"\r\n [routerLink]=\"subitem.route\"\r\n [ngClass]=\"subitem.customClasses\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: subitem.iconLeft }\"></ng-container>\r\n <span class=\"item-text\" [class.text-right]=\"subitem.textPosition == 'right'\">{{ subitem.text }}</span>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: subitem.iconRight }\"></ng-container>\r\n </a>\r\n <a\r\n *ngIf=\"subitem.link\"\r\n class=\"dropdown-item sub-item\"\r\n [class.item-danger]=\"subitem.isItemDanger\"\r\n [href]=\"subitem.link\"\r\n target=\"_blank\"\r\n [ngClass]=\"subitem.customClasses\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: subitem.iconLeft }\"></ng-container>\r\n <span class=\"item-text\" [class.text-right]=\"subitem.textPosition == 'right'\">{{ subitem.text }}</span>\r\n <ng-container *ngTemplateOutlet=\"iconTemplate; context: { icon: subitem.iconRight }\"></ng-container>\r\n </a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #iconTemplate let-icon=\"icon\" let-animated=\"animated\">\r\n <ng-container *ngIf=\"icon\">\r\n <i *ngIf=\"icon.includes('bx')\" class=\"{{ icon }}\" [class.btn-dropdown-icon]=\"animated\"></i>\r\n <span\r\n *ngIf=\"!icon.includes('bx')\"\r\n class=\"material-icons-round\"\r\n aria-hidden=\"true\"\r\n [class.btn-dropdown-icon]=\"animated\"\r\n >{{ icon }}</span\r\n >\r\n </ng-container>\r\n</ng-template>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { DropdownSelectionItem, Sizes } from 'ngx-obelisco-example/core/models';\r\n\r\n@Component({\r\n selector: 'o-dropdown-selection',\r\n templateUrl: './o-dropdown-selection.component.html',\r\n styleUrls: ['./o-dropdown-selection.component.scss']\r\n})\r\nexport class ODropdownSelectionComponent {\r\n @Input() public dataTarget: string = 'dropdown';\r\n @Input() public title!: string;\r\n @Input() public isSelectionMultiple: boolean = false;\r\n @Input() public iconLeft!: string;\r\n @Input() public iconRight!: string;\r\n @Input() public isAnimatedIconLeft: boolean = false;\r\n @Input() public isAnimatedIconRight: boolean = false;\r\n @Input() public dropSelectItems: DropdownSelectionItem[] = [];\r\n @Input() public isBordered: boolean = true;\r\n @Input() public size!: Sizes;\r\n @Input() public customClasses: string = '';\r\n @Input() public ariaLabel!: string;\r\n\r\n @Output() public selectedItemChange: EventEmitter<DropdownSelectionItem | DropdownSelectionItem[]> =\r\n new EventEmitter();\r\n\r\n public selectedItem!: DropdownSelectionItem;\r\n public selectedItems: DropdownSelectionItem[] = [];\r\n\r\n public selectedIndex!: number;\r\n public activeIndex!: number;\r\n public selectedCheckboxCount!: number;\r\n\r\n constructor() {\r\n this.selectedItem = {};\r\n }\r\n\r\n public onRadioSelectionChange(item: DropdownSelectionItem, index: number) {\r\n this.selectedItem = item;\r\n this.selectedItemChange.emit(item);\r\n this.selectedIndex = index + 1;\r\n this.activeIndex = index;\r\n }\r\n\r\n public onCheckboxSelectionChange(item: DropdownSelectionItem) {\r\n const itemIndex = this.selectedItems.findIndex((selectedItem) => selectedItem.id === item.id);\r\n\r\n if (itemIndex !== -1) {\r\n this.selectedItems.splice(itemIndex, 1);\r\n } else {\r\n this.selectedItems.push(item);\r\n }\r\n\r\n this.selectedCheckboxCount = this.selectedItems.length;\r\n this.selectedItemChange.emit(this.selectedItems);\r\n }\r\n}\r\n","<div class=\"dropdown dropdown-form\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-dropdown\"\r\n [class.btn-dropdown-border]=\"isBordered\"\r\n [class.btn-dropdown-sm]=\"size == 'sm'\"\r\n [class.btn-dropdown-lg]=\"size == 'lg'\"\r\n data-toggle=\"collapse\"\r\n [attr.data-target]=\"'#' + dataTarget\"\r\n [attr.aria-controls]=\"dataTarget\"\r\n aria-expanded=\"false\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [ngClass]=\"customClasses\"\r\n >\r\n <ng-container *ngIf=\"iconLeft\">\r\n <i *ngIf=\"iconLeft.includes('bx')\" class=\"{{ iconLeft }}\" [class.btn-dropdown-icon]=\"isAnimatedIconLeft\"></i>\r\n <span\r\n *ngIf=\"!iconLeft.includes('bx')\"\r\n class=\"material-icons-round\"\r\n aria-hidden=\"true\"\r\n [class.btn-dropdown-icon]=\"isAnimatedIconLeft\"\r\n >{{ iconLeft }}</span\r\n >\r\n </ng-container>\r\n <span class=\"btn-dropdown-text\" *ngIf=\"isSelectionMultiple\"\r\n >{{ title }} {{ selectedCheckboxCount ? '(' + selectedCheckboxCount + ')' : '' }}</span\r\n >\r\n <span class=\"btn-dropdown-text\" *ngIf=\"!isSelectionMultiple\">\r\n {{ selectedItem!.text ? selectedItem!.text : title }}</span\r\n >\r\n <ng-container *ngIf=\"iconRight\">\r\n <i *ngIf=\"iconRight.includes('bx')\" class=\"{{ iconRight }}\" [class.btn-dropdown-icon]=\"isAnimatedIconRight\"></i>\r\n <span\r\n *ngIf=\"!iconRight.includes('bx')\"\r\n class=\"material-icons-round\"\r\n aria-hidden=\"true\"\r\n [class.btn-dropdown-icon]=\"isAnimatedIconRight\"\r\n >{{ iconRight }}</span\r\n >\r\n </ng-container>\r\n </button>\r\n <div class=\"dropdown-menu dropdown-body collapse\" [id]=\"dataTarget\">\r\n <ng-container *ngIf=\"!isSelectionMultiple\">\r\n <div class=\"custom-control custom-radio\" *ngFor=\"let item of dropSelectItems; let i = index\">\r\n <label class=\"btn btn-chip\" [class.active]=\"i === activeIndex\" [ngClass]=\"item.customClasses\">\r\n <input\r\n class=\"btn-check\"\r\n type=\"radio\"\r\n [id]=\"item.id\"\r\n [name]=\"item.name\"\r\n [value]=\"item.value\"\r\n (change)=\"onRadioSelectionChange(item, i)\"\r\n />\r\n <span class=\"btn-chip-text\">{{ item.text }}</span>\r\n <span class=\"material-icons-round\" aria-hidden=\"true\">done</span>\r\n </label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isSelectionMultiple\">\r\n <div\r\n class=\"custom-control custom-checkbox\"\r\n [class.disabled]=\"item.isDisabled\"\r\n *ngFor=\"let item of dropSelectItems\"\r\n [ngClass]=\"item.customClasses\"\r\n >\r\n <input\r\n class=\"custom-control-input\"\r\n type=\"checkbox\"\r\n [id]=\"item.id\"\r\n [name]=\"item.name\"\r\n [value]=\"item.value\"\r\n [disabled]=\"item.isDisabled\"\r\n (change)=\"onCheckboxSelectionChange(item)\"\r\n />\r\n <label class=\"custom-control-label\" [for]=\"item.id\"> {{ item.text }}</label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ODropdownNavigationComponent } from './o-dropdown-navigation/o-dropdown-navigation.component';\r\nimport { ODropdownSelectionComponent } from './o-dropdown-selection/o-dropdown-selection.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n declarations: [ODropdownNavigationComponent, ODropdownSelectionComponent],\r\n imports: [CommonModule, RouterModule],\r\n exports: [ODropdownNavigationComponent, ODropdownSelectionComponent]\r\n})\r\nexport class ODropdownModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}