{"version":3,"file":"sinequa-components-notification.mjs","sources":["../../../projects/components/notification/bootstrap/notification/notification.ts","../../../projects/components/notification/bootstrap/notification/notification.html","../../../projects/components/notification/bootstrap/notifications/notifications.ts","../../../projects/components/notification/bootstrap/notifications/notifications.html","../../../projects/components/notification/bootstrap/notifications-manager/notifications-manager.ts","../../../projects/components/notification/bootstrap/notifications-manager/notifications-manager.html","../../../projects/components/notification/bootstrap/notification.module.ts","../../../projects/components/notification/messages/en.ts","../../../projects/components/notification/messages/fr.ts","../../../projects/components/notification/messages/de.ts","../../../projects/components/notification/sinequa-components-notification.ts"],"sourcesContent":["import {Component, Input, OnInit} from \"@angular/core\";\nimport {trigger, animate, transition, style, AnimationTriggerMetadata} from '@angular/animations';\nimport {NotificationsService, Notification, NotificationState, NotificationType} from \"@sinequa/core/notification\";\nimport {Utils} from \"@sinequa/core/base\";\n\nexport function notificationAnimations(timings: number | string): AnimationTriggerMetadata[] {\n    return [\n        trigger('autoClose', [\n            transition('1 => void', [\n                animate(timings, style({ opacity: 0 }))\n            ])\n        ])\n    ];\n}\n\n@Component({\n    selector: \"sq-notification\",\n    templateUrl: \"./notification.html\",\n    animations: notificationAnimations(\".15s ease-in-out\"),\n    standalone: false\n})\nexport class BsNotification implements OnInit {\n    @Input() notification: Notification;\n    autoClose: boolean;\n    constructor(\n        private notificationsService: NotificationsService) {\n    }\n\n    ngOnInit() {\n        if (this.notification.autoClose && this.notification.state === NotificationState.Initial) {\n            this.autoClose = true;\n            Utils.delay(5000).then(value => {\n                if (this.notification.state === NotificationState.Initial) {\n                    this.close();\n                }\n            });\n        }\n    }\n\n    get alertClass(): string {\n        switch (this.notification.type) {\n            case NotificationType.Info: return \"info\";\n            case NotificationType.Success: return \"success\";\n            case NotificationType.Warning: return \"warning\";\n            case NotificationType.Error: return \"danger\";\n        }\n        return \"\";\n    }\n\n    get notificationClass(): string {\n        switch (this.notification.type) {\n            case NotificationType.Info: return \"fas fa-info-circle fa-lg\";\n            case NotificationType.Success: return \"fas fa-check-circle fa-lg\";\n            case NotificationType.Warning: return \"fas fa-exclamation-triangle fa-lg\";\n            case NotificationType.Error: return \"fas fa-exclamation-circle fa-lg\";\n        }\n        return \"\";\n    }\n\n    get showClose(): boolean {\n        return !this.notification.autoClose || this.notification.state !== NotificationState.Initial;\n    }\n\n    close() {\n        this.notificationsService.closeNotification(this.notification);\n    }\n}","<div [@autoClose]=\"autoClose\" class=\"alert alert-{{alertClass}} sq-notification alert-dismissible\" role=\"alert\">\n    <div class=\"sq-notification-container\">\n        <div>\n            <i class=\"sq-notification-icon {{notificationClass}}\"></i>\n        </div>\n        <div class=\"sq-notification-message\">\n            <span *ngIf=\"!!notification.title\" class=\"sq-notification-title\">{{notification.title | sqMessage}}</span>\n            <p class=\"sq-notification-text\">{{notification.text | sqMessage:{values: notification.params} }}</p>\n        </div>\n    </div>\n    <button *ngIf=\"showClose\" type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"close()\"></button>\n</div>","import {Component, OnInit, OnDestroy, ChangeDetectorRef} from \"@angular/core\";\nimport {Subscription} from \"rxjs\";\nimport {NotificationsService, Notification, NotificationState} from \"@sinequa/core/notification\";\n\n@Component({\n    selector: \"sq-notifications\",\n    templateUrl: \"./notifications.html\",\n    standalone: false\n})\nexport class BsNotifications implements OnInit, OnDestroy {\n    private subscription: Subscription;\n    notifications: Notification[];\n\n    constructor(\n        private notificationsService: NotificationsService,\n        private changeDetectorRef: ChangeDetectorRef) {\n        this.notifications = [];\n    }\n\n    ngOnInit() {\n        this.loadNotifications();\n        this.subscription = this.notificationsService.events.subscribe(\n            (event) => {\n                if (event.type === \"updated\") {\n                    this.loadNotifications();\n                    this.changeDetectorRef.markForCheck();\n                }\n            });\n    }\n\n    ngOnDestroy() {\n        this.subscription.unsubscribe();\n    }\n\n    loadNotifications() {\n        this.notifications.splice(0);\n        for (const notification of this.notificationsService.notifications) {\n            if (notification.state !== NotificationState.Hidden) {\n                this.notifications.unshift(notification);\n            }\n        }\n    }\n}","<div class=\"sq-notifications\">\n    <sq-notification *ngFor=\"let notification of notifications\" [notification]=\"notification\"></sq-notification>\n</div>","import {Component, OnInit, OnDestroy, ChangeDetectorRef} from \"@angular/core\";\nimport {Subscription} from \"rxjs\";\nimport {NotificationsService} from \"@sinequa/core/notification\";\nimport {Action, ActionSeparator} from \"@sinequa/components/action\";\n\n\n@Component({\n    selector: \"sq-notifications-manager\",\n    templateUrl: \"./notifications-manager.html\",\n    standalone: false\n})\nexport class BsNotificationsManager implements OnInit, OnDestroy {\n    private subscription: Subscription | undefined;\n    action: Action;\n    randomAction: Action;\n\n    constructor(\n        private notificationsService: NotificationsService,\n        private changeDetectorRef: ChangeDetectorRef) {\n    }\n\n    ngOnInit() {\n        this.buildAction();\n        this.unbind();\n        this.bind();\n    }\n\n    bind() {\n        this.subscription = this.notificationsService.notificationsStream.subscribe(\n            notification => {\n                this.action.update();\n        });\n    }\n\n    unbind() {\n        if (this.subscription) {\n            this.subscription.unsubscribe();\n            this.subscription = undefined;\n        }\n    }\n\n    ngOnDestroy() {\n        this.unbind();\n    }\n\n    buildAction() {\n        this.action = new Action({\n            icon: \"fas fa-shield-alt\",\n            title: \"msg#notification.title\",\n            hidden: true,\n            children: [\n                new Action({\n                    text: \"msg#notification.showNotifications\",\n                    action: (item, $event) => {\n                        this.notificationsService.showNotifications();\n                    },\n                    updater: (item) => {\n                        item.hidden = this.notificationsService.allNotificationsShowing;\n                        this.changeDetectorRef.markForCheck();\n                    }\n                }),\n                new Action({\n                    text: \"msg#notification.hideNotifications\",\n                    action: (item, $event) => {\n                        this.notificationsService.hideNotifications();\n                    },\n                    updater: (item) => {\n                        item.hidden = this.notificationsService.allNotificationsHidden;\n                        this.changeDetectorRef.markForCheck();\n                    }\n                }),\n                ActionSeparator,\n                new Action({\n                    text: \"msg#notification.clearNotifications\",\n                    action: (item, $event) => {\n                        this.notificationsService.deleteAllNotifications();\n                    }\n                })\n            ]\n        });\n    }\n}","<div class=\"btn-toolbar dropup\">\n    <div class=\"btn-group\" [sq-action-buttons]=\"{items: [action]}\"></div>\n</div>","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {BsNotification} from \"./notification/notification\";\nimport {BsNotifications} from \"./notifications/notifications\";\nimport {BsNotificationsManager} from \"./notifications-manager/notifications-manager\";\n\nimport {IntlModule} from \"@sinequa/core/intl\";\nimport {BsActionModule} from \"@sinequa/components/action\";\n\n@NgModule({\n    imports: [\n        CommonModule,\n        IntlModule,\n        BsActionModule,\n    ],\n    declarations: [\n        BsNotification, BsNotifications, BsNotificationsManager\n    ],\n    exports: [\n        BsNotifications, BsNotificationsManager\n    ]\n})\nexport class BsNotificationModule {\n}\n","export default {\n    \"notification\": {\n        \"title\": \"Notifications\",\n        \"showNotifications\": \"Show notifications\",\n        \"hideNotifications\": \"Hide notifications\",\n        \"clearNotifications\": \"Clear notifications\",\n    }\n};\n","export default {\n    \"notification\": {\n        \"title\": \"Notifications\",\n        \"showNotifications\": \"Afficher les notifications\",\n        \"hideNotifications\": \"Masquer les notifications\",\n        \"clearNotifications\": \"Effacer les notifications\",\n    }\n};\n","export default {\n    \"notification\": {\n        \"title\": \"Benachrichtigungen\",\n        \"showNotifications\": \"Zeige Benachrichtigungen\",\n        \"hideNotifications\": \"Benachrichtigungen verstecken\",\n        \"clearNotifications\": \"Benachrichtigungen löschen\",\n    }\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.BsNotification","i2"],"mappings":"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"}