UNPKG

@universis/common

Version:

Universis - common directives and services

86 lines 8.55 kB
import { Component, ElementRef, Input } from '@angular/core'; import 'jquery'; import * as _Toast from 'bootstrap/js/dist/toast'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; const Toast = _Toast.default || _Toast; /** * * A native spinner component * @export * @class SpinnerComponent * @implements {OnInit} */ export class ToastComponent { constructor(_element) { this._element = _element; this.autoHide = true; this.delay = 5000; this.dateCreated = new Date(); } ngOnInit() { } ngAfterViewInit() { this.toast = new Toast(this._element.nativeElement, { animation: false, autohide: this.autoHide, delay: this.delay }); return this.toast.show(); } show() { if (this.toast) { this.toast.show(); } } hide() { const container = document.body.getElementsByClassName('universis-toast-container')[0]; if (container.getElementsByClassName('show').length === 1) { container.classList.add('hidden'); } if (this.toast) { this.toast.hide(); } } } ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToastComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ToastComponent, selector: "universis-toast.toast", inputs: { title: "title", message: "message", autoHide: "autoHide", delay: "delay" }, ngImport: i0, template: ` <div class="toast-header d-flex p-0"> <strong class="mr-auto">{{ title }}</strong> <button type="button" class="ml-2 mb-1 align-self-start close" data-dismiss="toast" (click)="hide();" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="toast-body p-0"> <div class="toast-body-content" [innerHTML]="message"></div> </div> <div class="toast-header p-0"> <small class="toast-date">{{ dateCreated | date: 'shortTime'}}</small> </div> `, isInline: true, styles: [":host{z-index:auto}\n"], dependencies: [{ kind: "pipe", type: i1.DatePipe, name: "date" }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToastComponent, decorators: [{ type: Component, args: [{ selector: 'universis-toast.toast', template: ` <div class="toast-header d-flex p-0"> <strong class="mr-auto">{{ title }}</strong> <button type="button" class="ml-2 mb-1 align-self-start close" data-dismiss="toast" (click)="hide();" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="toast-body p-0"> <div class="toast-body-content" [innerHTML]="message"></div> </div> <div class="toast-header p-0"> <small class="toast-date">{{ dateCreated | date: 'shortTime'}}</small> </div> `, styles: [":host{z-index:auto}\n"] }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { title: [{ type: Input }], message: [{ type: Input }], autoHide: [{ type: Input }], delay: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9jb21wb25lbnRzL21vZGFsL3RvYXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sS0FBSyxNQUFNLE1BQU0seUJBQXlCLENBQUM7OztBQUNsRCxNQUFNLEtBQUssR0FBSSxNQUFjLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQztBQUNoRDs7Ozs7O0dBTUc7QUF5QkgsTUFBTSxPQUFPLGNBQWM7SUFVdkIsWUFBb0IsUUFBb0I7UUFBcEIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQU4vQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDZixnQkFBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFJWSxDQUFDO0lBRTdDLFFBQVE7SUFFUixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDbEQsU0FBUyxFQUFFLEtBQUs7WUFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLElBQUk7UUFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUVNLElBQUk7UUFDVCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsSUFBSSxTQUFTLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6RCxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDOzs0R0F4Q1EsY0FBYztnR0FBZCxjQUFjLG1KQXRCYjs7Ozs7Ozs7Ozs7OztHQWFYOzRGQVNVLGNBQWM7a0JBeEIxQixTQUFTOytCQUNJLHVCQUF1QixZQUN2Qjs7Ozs7Ozs7Ozs7OztHQWFYO2lHQVdVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgJ2pxdWVyeSc7XG5pbXBvcnQgKiBhcyBfVG9hc3QgZnJvbSAnYm9vdHN0cmFwL2pzL2Rpc3QvdG9hc3QnO1xuY29uc3QgVG9hc3QgPSAoX1RvYXN0IGFzIGFueSkuZGVmYXVsdCB8fCBfVG9hc3Q7XG4vKipcbiAqXG4gKiBBIG5hdGl2ZSBzcGlubmVyIGNvbXBvbmVudFxuICogQGV4cG9ydFxuICogQGNsYXNzIFNwaW5uZXJDb21wb25lbnRcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndW5pdmVyc2lzLXRvYXN0LnRvYXN0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1oZWFkZXIgZC1mbGV4IHAtMFwiPlxuICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cIm1yLWF1dG9cIj57eyB0aXRsZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJtbC0yIG1iLTEgYWxpZ24tc2VsZi1zdGFydCBjbG9zZVwiIGRhdGEtZGlzbWlzcz1cInRvYXN0XCIgKGNsaWNrKT1cImhpZGUoKTtcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtYm9keSBwLTBcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1ib2R5LWNvbnRlbnRcIiBbaW5uZXJIVE1MXT1cIm1lc3NhZ2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9hc3QtaGVhZGVyIHAtMFwiPlxuICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwidG9hc3QtZGF0ZVwiPnt7IGRhdGVDcmVhdGVkIHwgZGF0ZTogJ3Nob3J0VGltZSd9fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gIGAsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGA6aG9zdCB7XG4gICAgICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICB9YFxuICAgIF1cbn0pXG5cblxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGF1dG9IaWRlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBkZWxheSA9IDUwMDA7XG4gICAgcHVibGljIGRhdGVDcmVhdGVkID0gbmV3IERhdGUoKTtcblxuICAgIHByaXZhdGUgdG9hc3Q6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYpIHsgfVxuXG4gICAgbmdPbkluaXQoKSB7XG5cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLnRvYXN0ID0gbmV3IFRvYXN0KHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBhbmltYXRpb246IGZhbHNlLFxuICAgICAgICBhdXRvaGlkZTogdGhpcy5hdXRvSGlkZSxcbiAgICAgICAgZGVsYXk6IHRoaXMuZGVsYXlcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRoaXMudG9hc3Quc2hvdygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93KCkge1xuICAgICAgICBpZiAodGhpcy50b2FzdCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdC5zaG93KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZSgpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndW5pdmVyc2lzLXRvYXN0LWNvbnRhaW5lcicpWzBdO1xuICAgICAgaWYgKGNvbnRhaW5lci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdzaG93JykubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudG9hc3QpIHtcbiAgICAgICAgdGhpcy50b2FzdC5oaWRlKCk7XG4gICAgICB9XG4gICAgfVxufVxuIl19