@ngx-performance-ui/ui
Version:
Ngx Performance UI - UI
131 lines • 8.95 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, Input } from '@angular/core';
import { Select } from '@ngxs/store';
import { Observable } from 'rxjs';
import { LoaderState, takeUntilDestroy } from '@ngx-performance-ui/core';
export class ProgressBarComponent {
/**
* @param {?} cdRef
*/
constructor(cdRef) {
this.cdRef = cdRef;
this.classes = 'progress-bar bg-danger';
this.speed = 30;
this.height = '10px';
}
/**
* @return {?}
*/
ngOnInit() {
this.show$.pipe(takeUntilDestroy(this)).subscribe((/**
* @param {?} status
* @return {?}
*/
status => {
if (status === true) {
if (this.show) {
setTimeout((/**
* @return {?}
*/
() => {
this.showFn();
}), 900);
return;
}
this.showFn();
return;
}
this.value = 100;
this.cdRef.detectChanges();
setTimeout((/**
* @return {?}
*/
() => {
clearInterval(this.interval);
this.show = false;
this.cdRef.detectChanges();
}), 800);
}));
}
/**
* @return {?}
*/
showFn() {
this.value = 0;
this.show = true;
this.cdRef.detectChanges();
this.setValue();
}
/**
* @return {?}
*/
setValue() {
this.interval = setInterval((/**
* @return {?}
*/
() => {
/** @type {?} */
const plus = Math.random() * this.speed;
if (this.value < 100 - plus) {
this.value += plus;
}
else {
this.value += 0.1;
}
this.cdRef.detectChanges();
}), 500);
}
/**
* @return {?}
*/
ngOnDestroy() { }
}
ProgressBarComponent.decorators = [
{ type: Component, args: [{
selector: 'p-progress-bar',
template: `
<div *ngIf="show" class="progress" [style.height]="height">
<div [ngStyle]="{ width: value + '%' }" class="{{ classes }}"></div>
</div>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None
}] }
];
/** @nocollapse */
ProgressBarComponent.ctorParameters = () => [
{ type: ChangeDetectorRef }
];
ProgressBarComponent.propDecorators = {
classes: [{ type: Input }]
};
tslib_1.__decorate([
Select(LoaderState.progress),
tslib_1.__metadata("design:type", Observable)
], ProgressBarComponent.prototype, "show$", void 0);
if (false) {
/** @type {?} */
ProgressBarComponent.prototype.classes;
/** @type {?} */
ProgressBarComponent.prototype.show$;
/** @type {?} */
ProgressBarComponent.prototype.show;
/** @type {?} */
ProgressBarComponent.prototype.value;
/** @type {?} */
ProgressBarComponent.prototype.interval;
/** @type {?} */
ProgressBarComponent.prototype.speed;
/** @type {?} */
ProgressBarComponent.prototype.height;
/**
* @type {?}
* @private
*/
ProgressBarComponent.prototype.cdRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3gtcGVyZm9ybWFuY2UtdWkvdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcm9ncmVzcy9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVl6RSxNQUFNLE9BQU8sb0JBQW9COzs7O0lBaUIvQixZQUFvQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWY1QyxZQUFPLEdBQVcsd0JBQXdCLENBQUM7UUFXM0MsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixXQUFNLEdBQVcsTUFBTSxDQUFDO0lBRXVCLENBQUM7Ozs7SUFFaEQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pELElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtnQkFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUNiLFVBQVU7OztvQkFBQyxHQUFHLEVBQUU7d0JBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNoQixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ1IsT0FBTztpQkFDUjtnQkFDRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2QsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUUzQixVQUFVOzs7WUFBQyxHQUFHLEVBQUU7Z0JBQ2QsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsQ0FBQyxHQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVc7OztRQUFDLEdBQUcsRUFBRTs7a0JBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDdkMsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDO2FBQ25CO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOzs7O0lBRUQsV0FBVyxLQUFVLENBQUM7OztZQXpFdkIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7OztHQUlUO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OztZQWR1RSxpQkFBaUI7OztzQkFnQnRGLEtBQUs7O0FBSU47SUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztzQ0FDdEIsVUFBVTttREFBVTs7O0lBSjNCLHVDQUMyQzs7SUFFM0MscUNBQzJCOztJQUUzQixvQ0FBYzs7SUFFZCxxQ0FBYzs7SUFFZCx3Q0FBUzs7SUFFVCxxQ0FBbUI7O0lBRW5CLHNDQUF3Qjs7Ozs7SUFFWixxQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvYWRlclN0YXRlLCB0YWtlVW50aWxEZXN0cm95IH0gZnJvbSAnQG5neC1wZXJmb3JtYW5jZS11aS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wcm9ncmVzcy1iYXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgKm5nSWY9XCJzaG93XCIgY2xhc3M9XCJwcm9ncmVzc1wiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCI+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsgd2lkdGg6IHZhbHVlICsgJyUnIH1cIiBjbGFzcz1cInt7IGNsYXNzZXMgfX1cIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgY2xhc3Nlczogc3RyaW5nID0gJ3Byb2dyZXNzLWJhciBiZy1kYW5nZXInO1xuXG4gIEBTZWxlY3QoTG9hZGVyU3RhdGUucHJvZ3Jlc3MpXG4gIHNob3ckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHNob3c6IGJvb2xlYW47XG5cbiAgdmFsdWU6IG51bWJlcjtcblxuICBpbnRlcnZhbDtcblxuICBzcGVlZDogbnVtYmVyID0gMzA7XG5cbiAgaGVpZ2h0OiBzdHJpbmcgPSAnMTBweCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93JC5waXBlKHRha2VVbnRpbERlc3Ryb3kodGhpcykpLnN1YnNjcmliZShzdGF0dXMgPT4ge1xuICAgICAgaWYgKHN0YXR1cyA9PT0gdHJ1ZSkge1xuICAgICAgICBpZiAodGhpcy5zaG93KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dGbigpO1xuICAgICAgICAgIH0sIDkwMCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2hvd0ZuKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy52YWx1ZSA9IDEwMDtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSwgODAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dGbigpIHtcbiAgICB0aGlzLnZhbHVlID0gMDtcbiAgICB0aGlzLnNob3cgPSB0cnVlO1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy5zZXRWYWx1ZSgpO1xuICB9XG5cbiAgc2V0VmFsdWUoKSB7XG4gICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGNvbnN0IHBsdXMgPSBNYXRoLnJhbmRvbSgpICogdGhpcy5zcGVlZDtcbiAgICAgIGlmICh0aGlzLnZhbHVlIDwgMTAwIC0gcGx1cykge1xuICAgICAgICB0aGlzLnZhbHVlICs9IHBsdXM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlICs9IDAuMTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG59XG4iXX0=