// Angular imports // import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core'; import { downgradeComponent } from '@angular/upgrade/static'; declare const angular: angular.IAngularStatic; // Components // // Interfaces // // Services // // Directives // /** * Visar en alert av typerna info och warning. * Tänk på att kod med AngularJs använder kebab-case (show-dismiss) medan * Angular använder camel-case (showDismiss). * * @param type "info", "warning" eller "danger" * @param dismissObject Objekt som ska skickas till action * @param onDismiss Utförs när rutan stängs. Använd $event för att komma åt dismissObject * @param hideIcon Döljer ikonen */ @Component({ selector: 'fb-alert', templateUrl: './fb-alert.component.html' }) export class FbAlertComponent implements OnInit { @Input() type: string; @Input() dismissObject: any; @Input() hideIcon: boolean; @Output() onDismiss: EventEmitter = new EventEmitter(); showDismiss: boolean; icon: string; ngOnInit(): void { const _default: string = 'info'; const types: any = { 'info': 'fa-info-circle', 'warning': 'fa-warning', 'danger': 'fa-warning' }; this.type = types[this.type] ? this.type : _default; this.icon = types[this.type]; this.showDismiss = this.dismissObject || this.onDismiss.observers.length > 0; } dismiss(): void { this.onDismiss.emit(this.dismissObject); } } // Angular downgrade //// angular.module('fasit') .directive('fbAlert', downgradeComponent({ component: FbAlertComponent, inputs: ['type', 'dismissObject', 'hideIcon'], outputs: ['onDismiss'] }));