@junte/ui
Version:
Quality Angular UI components kit
72 lines • 7.07 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, HostBinding, Input, QueryList, TemplateRef } from '@angular/core';
import { ContentApi, PropertyApi } from '../../core/decorators/api';
import { Color } from '../../core/enums/color';
import { UI } from '../../core/enums/ui';
import { ProgressLineComponent } from './line/progress-line.component';
let ProgressBarComponent = class ProgressBarComponent {
constructor(cd) {
this.cd = cd;
this.ui = UI;
this._value = 0;
this.host = 'jnt-progress-bar-host';
this.color = Color.purple;
}
set value(value) {
this._value = value || 0;
}
get value() {
return this._value;
}
ngAfterViewInit() {
this.lines.changes.subscribe(() => this.cd.detectChanges());
}
};
ProgressBarComponent.ctorParameters = () => [
{ type: ChangeDetectorRef }
];
__decorate([
HostBinding('attr.host'),
__metadata("design:type", Object)
], ProgressBarComponent.prototype, "host", void 0);
__decorate([
ContentApi({
selector: '#progressBarLegendTemplate',
description: 'Legend template'
}),
ContentChild('progressBarLegendTemplate'),
__metadata("design:type", TemplateRef)
], ProgressBarComponent.prototype, "progressBarLegendTemplate", void 0);
__decorate([
PropertyApi({
description: 'Completion percentage',
type: 'number',
default: '0'
}),
Input(),
__metadata("design:type", Number),
__metadata("design:paramtypes", [Number])
], ProgressBarComponent.prototype, "value", null);
__decorate([
PropertyApi({
description: 'Default color',
type: 'number',
default: '0'
}),
Input(),
__metadata("design:type", String)
], ProgressBarComponent.prototype, "color", void 0);
__decorate([
ContentChildren(ProgressLineComponent),
__metadata("design:type", QueryList)
], ProgressBarComponent.prototype, "lines", void 0);
ProgressBarComponent = __decorate([
Component({
selector: 'jnt-progress-bar',
template: "<ng-container *ngTemplateOutlet=\"progressBarLegendTemplate\"></ng-container>\n<div child-of=\"jnt-progress-bar-host\" data-bar>\n <div child-of=\"jnt-progress-bar-host\" *ngIf=\"value >= 0\" data-progress\n [style.width.%]=\"value > 100 ? 100 : value\"\n [style.background-color]=\"value | getColor:lines:color\"\n [attr.data-fail]=\"value > 100\"></div>\n</div>",
changeDetection: ChangeDetectionStrategy.OnPush
}),
__metadata("design:paramtypes", [ChangeDetectorRef])
], ProgressBarComponent);
export { ProgressBarComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BqdW50ZS91aS8iLCJzb3VyY2VzIjpbImxpYi9keW5hbWljL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsV0FBVyxFQUNYLEtBQUssRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU92RSxJQUFhLG9CQUFvQixHQUFqQyxNQUFhLG9CQUFvQjtJQXlDL0IsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUF2Q3pDLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFFQSxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBR1YsU0FBSSxHQUFHLHVCQUF1QixDQUFDO1FBNkJ4QyxVQUFLLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQU03QixDQUFDO0lBcEJELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQWdCRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBRUYsQ0FBQTs7WUFQeUIsaUJBQWlCOztBQWxDekM7SUFEQyxXQUFXLENBQUMsV0FBVyxDQUFDOztrREFDZTtBQU94QztJQUxDLFVBQVUsQ0FBQztRQUNWLFFBQVEsRUFBRSw0QkFBNEI7UUFDdEMsV0FBVyxFQUFFLGlCQUFpQjtLQUMvQixDQUFDO0lBQ0QsWUFBWSxDQUFDLDJCQUEyQixDQUFDOzhCQUNmLFdBQVc7dUVBQU07QUFRNUM7SUFOQyxXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLEdBQUc7S0FDYixDQUFDO0lBQ0QsS0FBSyxFQUFFOzs7aURBR1A7QUFZRDtJQU5DLFdBQVcsQ0FBQztRQUNYLFdBQVcsRUFBRSxlQUFlO1FBQzVCLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLEdBQUc7S0FDYixDQUFDO0lBQ0QsS0FBSyxFQUFFOzttREFDcUI7QUFHN0I7SUFEQyxlQUFlLENBQUMscUJBQXFCLENBQUM7OEJBQ2hDLFNBQVM7bURBQXdCO0FBdkM3QixvQkFBb0I7SUFMaEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QiwwWUFBK0M7UUFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07S0FDaEQsQ0FBQztxQ0EwQ3dCLGlCQUFpQjtHQXpDOUIsb0JBQW9CLENBZ0RoQztTQWhEWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRBcGksIFByb3BlcnR5QXBpIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzL2FwaSc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvY29sb3InO1xuaW1wb3J0IHsgVUkgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3VpJztcbmltcG9ydCB7IFByb2dyZXNzTGluZUNvbXBvbmVudCB9IGZyb20gJy4vbGluZS9wcm9ncmVzcy1saW5lLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2pudC1wcm9ncmVzcy1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtYmFyLmVuY2Fwc3VsYXRlZC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICB1aSA9IFVJO1xuXG4gIHByaXZhdGUgX3ZhbHVlID0gMDtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaG9zdCcpXG4gIHJlYWRvbmx5IGhvc3QgPSAnam50LXByb2dyZXNzLWJhci1ob3N0JztcblxuICBAQ29udGVudEFwaSh7XG4gICAgc2VsZWN0b3I6ICcjcHJvZ3Jlc3NCYXJMZWdlbmRUZW1wbGF0ZScsXG4gICAgZGVzY3JpcHRpb246ICdMZWdlbmQgdGVtcGxhdGUnXG4gIH0pXG4gIEBDb250ZW50Q2hpbGQoJ3Byb2dyZXNzQmFyTGVnZW5kVGVtcGxhdGUnKVxuICBwcm9ncmVzc0JhckxlZ2VuZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdDb21wbGV0aW9uIHBlcmNlbnRhZ2UnLFxuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6ICcwJ1xuICB9KVxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWUgfHwgMDtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnRGVmYXVsdCBjb2xvcicsXG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdDogJzAnXG4gIH0pXG4gIEBJbnB1dCgpXG4gIGNvbG9yOiBzdHJpbmcgPSBDb2xvci5wdXJwbGU7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihQcm9ncmVzc0xpbmVDb21wb25lbnQpXG4gIGxpbmVzOiBRdWVyeUxpc3Q8UHJvZ3Jlc3NMaW5lQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMubGluZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCkpO1xuICB9XG5cbn1cbiJdfQ==