@junte/ui
Version:
Quality Angular UI components kit
143 lines • 13 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output, QueryList, Renderer2, TemplateRef } from '@angular/core';
import { Context } from '../../core/enums/context';
import { Gutter } from '../../core/enums/gutter';
import { Placement } from '../../core/enums/placement';
import { ContentApi, PropertyApi } from '../../core/decorators/api';
import { UI } from '../../core/enums/ui';
let InformerMessageComponent = class InformerMessageComponent {
};
__decorate([
Input(),
__metadata("design:type", String)
], InformerMessageComponent.prototype, "message", void 0);
InformerMessageComponent = __decorate([
Component({
selector: 'jnt-informer-message',
template: ``
})
], InformerMessageComponent);
export { InformerMessageComponent };
let InformerComponent = class InformerComponent {
constructor(render) {
this.render = render;
this.ui = UI;
this._placement = Placement.fixed;
this.host = 'jnt-informer-host';
this.icon = UI.icons.information;
this.ok = new EventEmitter();
}
set placement(placement) {
this._placement = placement || Placement.fixed;
}
set outer(outer) {
this._outer = outer;
}
set backdrop(backdrop) {
if (!!backdrop) {
this._backdrop = backdrop;
this.render.setStyle(backdrop.nativeElement, 'filter', 'blur(5px)');
}
}
get backdrop() {
return this._backdrop;
}
ngOnDestroy() {
if (!!this.backdrop) {
this.render.removeStyle(this.backdrop.nativeElement, 'filter');
}
}
};
InformerComponent.ctorParameters = () => [
{ type: Renderer2 }
];
__decorate([
HostBinding('attr.data-outer'),
__metadata("design:type", String)
], InformerComponent.prototype, "_outer", void 0);
__decorate([
HostBinding('attr.data-placement'),
__metadata("design:type", String)
], InformerComponent.prototype, "_placement", void 0);
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], InformerComponent.prototype, "host", void 0);
__decorate([
PropertyApi({
description: 'Informer placement',
path: 'ui.placement',
default: Placement.fixed,
options: [Placement.absolute, Placement.fixed]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], InformerComponent.prototype, "placement", null);
__decorate([
PropertyApi({
description: 'Negative margin for informer',
path: 'ui.gutter',
options: [Gutter.tiny,
Gutter.small,
Gutter.normal,
Gutter.big,
Gutter.large,
Gutter.huge]
}),
Input(),
__metadata("design:type", String),
__metadata("design:paramtypes", [String])
], InformerComponent.prototype, "outer", null);
__decorate([
PropertyApi({
description: 'Informer parent container',
path: 'ui.context',
options: [Context.block]
}),
HostBinding('attr.data-context'),
Input(),
__metadata("design:type", String)
], InformerComponent.prototype, "context", void 0);
__decorate([
PropertyApi({
description: 'Icon of informer',
type: 'UI.icons.information'
}),
Input(),
__metadata("design:type", Object)
], InformerComponent.prototype, "icon", void 0);
__decorate([
PropertyApi({
description: 'Backdrop of informer',
type: 'ElementRef'
}),
Input(),
__metadata("design:type", ElementRef),
__metadata("design:paramtypes", [ElementRef])
], InformerComponent.prototype, "backdrop", null);
__decorate([
ContentChildren(InformerMessageComponent, { descendants: true }),
__metadata("design:type", QueryList)
], InformerComponent.prototype, "messages", void 0);
__decorate([
ContentApi({
selector: '#informerContentTemplate',
description: 'Informer content template'
}),
ContentChild('informerContentTemplate'),
__metadata("design:type", TemplateRef)
], InformerComponent.prototype, "contentTemplate", void 0);
__decorate([
Output(),
__metadata("design:type", Object)
], InformerComponent.prototype, "ok", void 0);
InformerComponent = __decorate([
Component({
selector: 'jnt-informer',
template: "<ng-template #defaultTemplate>\n <jnt-stack child-of=\"jnt-informer-host\" [align]=\"ui.align.center\"\n [gutter]=\"ui.gutter.large\">\n <jnt-icon child-of=\"jnt-informer-host\" [icon]=\"icon\"></jnt-icon>\n <jnt-stack child-of=\"jnt-informer-host\" data-messages [attr.data-single]=\"messages.length === 1\" [gutter]=\"ui.gutter.small\">\n <div child-of=\"jnt-informer-host\" *ngFor=\"let m of messages\">{{m.message}}</div>\n </jnt-stack>\n\n <jnt-button child-of=\"jnt-informer-host\" [scheme]=\"ui.scheme.success\"\n (click)=\"ok.emit()\" text=\"Ok\"></jnt-button>\n </jnt-stack>\n</ng-template>\n\n<ng-container *ngIf=\"!!contentTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n</ng-container>"
}),
__metadata("design:paramtypes", [Renderer2])
], InformerComponent);
export { InformerComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mb3JtZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL2xheW91dC9pbmZvcm1lci9pbmZvcm1lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsWUFBWSxFQUN2QixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUFFLFNBQVMsRUFDaEIsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBTXpDLElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0NBSXBDLENBQUE7QUFEQztJQURDLEtBQUssRUFBRTs7eURBQ1E7QUFITCx3QkFBd0I7SUFKcEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxRQUFRLEVBQUUsRUFBRTtLQUNiLENBQUM7R0FDVyx3QkFBd0IsQ0FJcEM7U0FKWSx3QkFBd0I7QUFVckMsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFnRjVCLFlBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUE5RXJDLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFPUixlQUFVLEdBQWMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUVMLFNBQUksR0FBRyxtQkFBbUIsQ0FBQztRQXVDckQsU0FBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBNEIzQixPQUFFLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUdsQyxDQUFDO0lBN0RELElBQUksU0FBUyxDQUFDLFNBQW9CO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDakQsQ0FBQztJQVlRLElBQUksS0FBSyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQXFCRCxJQUFJLFFBQVEsQ0FBQyxRQUFpQztRQUM1QyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQWlCRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNoRTtJQUNILENBQUM7Q0FDRixDQUFBOztZQVI2QixTQUFTOztBQTFFckM7SUFEQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7O2lEQUNoQjtBQUdmO0lBREMsV0FBVyxDQUFDLHFCQUFxQixDQUFDOztxREFDSztBQUVkO0lBQXpCLFdBQVcsQ0FBQyxXQUFXLENBQUM7OytDQUFxQztBQVM5RDtJQVBDLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQ3hCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQztLQUMvQyxDQUFDO0lBQ0QsS0FBSyxFQUFFOzs7a0RBR1A7QUFZUTtJQVZSLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUk7WUFDbkIsTUFBTSxDQUFDLEtBQUs7WUFDWixNQUFNLENBQUMsTUFBTTtZQUNiLE1BQU0sQ0FBQyxHQUFHO1lBQ1YsTUFBTSxDQUFDLEtBQUs7WUFDWixNQUFNLENBQUMsSUFBSSxDQUFDO0tBQ2YsQ0FBQztJQUNELEtBQUssRUFBRTs7OzhDQUVQO0FBUVE7SUFOUixXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLElBQUksRUFBRSxZQUFZO1FBQ2xCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDekIsQ0FBQztJQUNELFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztJQUNoQyxLQUFLLEVBQUU7O2tEQUFrQjtBQU1qQjtJQUpSLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsSUFBSSxFQUFFLHNCQUFzQjtLQUM3QixDQUFDO0lBQ0QsS0FBSyxFQUFFOzsrQ0FBNkI7QUFPckM7SUFMQyxXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsc0JBQXNCO1FBQ25DLElBQUksRUFBRSxZQUFZO0tBQ25CLENBQUM7SUFDRCxLQUFLLEVBQUU7OEJBQ2UsVUFBVTtxQ0FBVixVQUFVO2lEQUtoQztBQU9EO0lBREMsZUFBZSxDQUFDLHdCQUF3QixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDOzhCQUNyRCxTQUFTO21EQUEyQjtBQU85QztJQUxDLFVBQVUsQ0FBQztRQUNWLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsV0FBVyxFQUFFLDJCQUEyQjtLQUN6QyxDQUFDO0lBQ0QsWUFBWSxDQUFDLHlCQUF5QixDQUFDOzhCQUN2QixXQUFXOzBEQUFNO0FBRXhCO0lBQVQsTUFBTSxFQUFFOzs2Q0FBeUI7QUE5RXZCLGlCQUFpQjtJQUo3QixTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsY0FBYztRQUN4Qiw2eUJBQTJDO0tBQzVDLENBQUM7cUNBaUY0QixTQUFTO0dBaEYxQixpQkFBaUIsQ0F3RjdCO1NBeEZZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LCBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvY29udGV4dCc7XG5pbXBvcnQgeyBHdXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL2d1dHRlcic7XG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3BsYWNlbWVudCc7XG5pbXBvcnQgeyBDb250ZW50QXBpLCBQcm9wZXJ0eUFwaSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9hcGknO1xuaW1wb3J0IHsgVUkgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3VpJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnam50LWluZm9ybWVyLW1lc3NhZ2UnLFxuICB0ZW1wbGF0ZTogYGBcbn0pXG5leHBvcnQgY2xhc3MgSW5mb3JtZXJNZXNzYWdlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1pbmZvcm1lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvcm1lci5lbmNhcHN1bGF0ZWQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSW5mb3JtZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHVpID0gVUk7XG4gIF9iYWNrZHJvcDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtb3V0ZXInKVxuICBfb3V0ZXI6IEd1dHRlcjtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1wbGFjZW1lbnQnKVxuICBfcGxhY2VtZW50OiBQbGFjZW1lbnQgPSBQbGFjZW1lbnQuZml4ZWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmhvc3QnKSByZWFkb25seSBob3N0ID0gJ2pudC1pbmZvcm1lci1ob3N0JztcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnSW5mb3JtZXIgcGxhY2VtZW50JyxcbiAgICBwYXRoOiAndWkucGxhY2VtZW50JyxcbiAgICBkZWZhdWx0OiBQbGFjZW1lbnQuZml4ZWQsXG4gICAgb3B0aW9uczogW1BsYWNlbWVudC5hYnNvbHV0ZSwgUGxhY2VtZW50LmZpeGVkXVxuICB9KVxuICBASW5wdXQoKVxuICBzZXQgcGxhY2VtZW50KHBsYWNlbWVudDogUGxhY2VtZW50KSB7XG4gICAgdGhpcy5fcGxhY2VtZW50ID0gcGxhY2VtZW50IHx8IFBsYWNlbWVudC5maXhlZDtcbiAgfVxuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdOZWdhdGl2ZSBtYXJnaW4gZm9yIGluZm9ybWVyJyxcbiAgICBwYXRoOiAndWkuZ3V0dGVyJyxcbiAgICBvcHRpb25zOiBbR3V0dGVyLnRpbnksXG4gICAgICBHdXR0ZXIuc21hbGwsXG4gICAgICBHdXR0ZXIubm9ybWFsLFxuICAgICAgR3V0dGVyLmJpZyxcbiAgICAgIEd1dHRlci5sYXJnZSxcbiAgICAgIEd1dHRlci5odWdlXVxuICB9KVxuICBASW5wdXQoKSBzZXQgb3V0ZXIob3V0ZXI6IEd1dHRlcikge1xuICAgIHRoaXMuX291dGVyID0gb3V0ZXI7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnSW5mb3JtZXIgcGFyZW50IGNvbnRhaW5lcicsXG4gICAgcGF0aDogJ3VpLmNvbnRleHQnLFxuICAgIG9wdGlvbnM6IFtDb250ZXh0LmJsb2NrXVxuICB9KVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1jb250ZXh0JylcbiAgQElucHV0KCkgY29udGV4dDogQ29udGV4dDtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnSWNvbiBvZiBpbmZvcm1lcicsXG4gICAgdHlwZTogJ1VJLmljb25zLmluZm9ybWF0aW9uJ1xuICB9KVxuICBASW5wdXQoKSBpY29uID0gVUkuaWNvbnMuaW5mb3JtYXRpb247XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0JhY2tkcm9wIG9mIGluZm9ybWVyJyxcbiAgICB0eXBlOiAnRWxlbWVudFJlZidcbiAgfSlcbiAgQElucHV0KClcbiAgc2V0IGJhY2tkcm9wKGJhY2tkcm9wOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIGlmICghIWJhY2tkcm9wKSB7XG4gICAgICB0aGlzLl9iYWNrZHJvcCA9IGJhY2tkcm9wO1xuICAgICAgdGhpcy5yZW5kZXIuc2V0U3R5bGUoYmFja2Ryb3AubmF0aXZlRWxlbWVudCwgJ2ZpbHRlcicsICdibHVyKDVweCknKTtcbiAgICB9XG4gIH1cblxuICBnZXQgYmFja2Ryb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2JhY2tkcm9wO1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJbmZvcm1lck1lc3NhZ2VDb21wb25lbnQsIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gIG1lc3NhZ2VzOiBRdWVyeUxpc3Q8SW5mb3JtZXJNZXNzYWdlQ29tcG9uZW50PjtcblxuICBAQ29udGVudEFwaSh7XG4gICAgc2VsZWN0b3I6ICcjaW5mb3JtZXJDb250ZW50VGVtcGxhdGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnSW5mb3JtZXIgY29udGVudCB0ZW1wbGF0ZSdcbiAgfSlcbiAgQENvbnRlbnRDaGlsZCgnaW5mb3JtZXJDb250ZW50VGVtcGxhdGUnKVxuICBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQE91dHB1dCgpIG9rID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyOiBSZW5kZXJlcjIpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICghIXRoaXMuYmFja2Ryb3ApIHtcbiAgICAgIHRoaXMucmVuZGVyLnJlbW92ZVN0eWxlKHRoaXMuYmFja2Ryb3AubmF0aXZlRWxlbWVudCwgJ2ZpbHRlcicpO1xuICAgIH1cbiAgfVxufVxuIl19