UNPKG

ngx-pluto

Version:
155 lines 11.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ViewEncapsulation, Input, ViewChildren, QueryList, ChangeDetectorRef } from '@angular/core'; import { NpCircleBar } from './circle-bar'; /** * @ignore */ var NpPercentCircleBarComponent = /** @class */ (function () { function NpPercentCircleBarComponent(cdf) { this.cdf = cdf; this.startAngle = 0.0; this.thickness = 15; this.size = 156; this.animationTime = 500; this.animation = { duration: this.animationTime, easing: 'circleProgressEasing' }; this.bindingData = []; } /** * @return {?} */ NpPercentCircleBarComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.buildBindingData(); }; /** * @param {?} changes * @return {?} */ NpPercentCircleBarComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { if (changes) { if (changes.animationTime && changes.animationTime.currentValue) { this.animation.duration = this.animationTime; } if (changes.data && changes.data.currentValue) { this.data = changes.data.currentValue; this.buildBindingData(); this.refresh(); } } }; /** * @return {?} */ NpPercentCircleBarComponent.prototype.refresh = /** * @return {?} */ function () { if (this.circleBars && this.circleBars.length > 0) { this.circleBars.forEach((/** * @param {?} circleBar * @return {?} */ function (circleBar) { circleBar.init(); })); } }; /** * @private * @return {?} */ NpPercentCircleBarComponent.prototype.buildBindingData = /** * @private * @return {?} */ function () { if (this.data && this.data.length > 0) { /** @type {?} */ var len = this.data.length; /** @type {?} */ var currentPercentage = 0; this.bindingData = []; for (var i = 0; i < len; i++) { /** @type {?} */ var item = this.data[i]; /** @type {?} */ var bindingItem = { startAngle: 2 * Math.PI * currentPercentage, fill: { gradient: [item.color] }, value: item.percentage }; currentPercentage += item.percentage; this.bindingData.push(bindingItem); } } }; NpPercentCircleBarComponent.decorators = [ { type: Component, args: [{ selector: "np-percent-circle-bar", template: "<div class=\"percent-circle-bar-wrapper\">\r\n <div class=\"percent-circle-bar-text\" [ngStyle]=\"{'width.px': size, 'height.px': size}\">\r\n <ng-content></ng-content>\r\n </div>\r\n <ng-container *ngFor=\"let item of bindingData; let i = index; let isFirst = first; let isLast = last;\">\r\n <np-circle-bar class=\"percent-circle-bar\" [value]=\"item.value\" [fill]=\"item.fill\" [thickness]=\"thickness\"\r\n [size]=\"size\" [startAngle]=\"item.startAngle\" [emptyFill]=\"isFirst ? 'rgba(0, 0, 0, 0.1)' : 'rgba(0, 0, 0, 0)'\"\r\n [ngStyle]=\"{'z-index': (10 - i)}\" [animation]=\"animation\">\r\n </np-circle-bar>\r\n </ng-container>\r\n</div>\r\n", encapsulation: ViewEncapsulation.None, styles: [".percent-circle-bar-wrapper{position:relative}.percent-circle-bar-wrapper .percent-circle-bar{position:absolute;left:0;top:0}.percent-circle-bar-wrapper .percent-circle-bar-text{display:flex;justify-content:center;align-items:center;z-index:11}"] }] } ]; /** @nocollapse */ NpPercentCircleBarComponent.ctorParameters = function () { return [ { type: ChangeDetectorRef } ]; }; NpPercentCircleBarComponent.propDecorators = { circleBars: [{ type: ViewChildren, args: [NpCircleBar,] }], startAngle: [{ type: Input }], thickness: [{ type: Input }], size: [{ type: Input }], data: [{ type: Input }], animationTime: [{ type: Input }] }; return NpPercentCircleBarComponent; }()); export { NpPercentCircleBarComponent }; if (false) { /** * @type {?} * @private */ NpPercentCircleBarComponent.prototype.circleBars; /** @type {?} */ NpPercentCircleBarComponent.prototype.startAngle; /** @type {?} */ NpPercentCircleBarComponent.prototype.thickness; /** @type {?} */ NpPercentCircleBarComponent.prototype.size; /** @type {?} */ NpPercentCircleBarComponent.prototype.data; /** @type {?} */ NpPercentCircleBarComponent.prototype.animationTime; /** @type {?} */ NpPercentCircleBarComponent.prototype.animation; /** @type {?} */ NpPercentCircleBarComponent.prototype.bindingData; /** * @type {?} * @private */ NpPercentCircleBarComponent.prototype.cdf; } /** * @ignore * @record */ export function PercentCircleBarData() { } if (false) { /** @type {?} */ PercentCircleBarData.prototype.color; /** @type {?} */ PercentCircleBarData.prototype.percentage; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC1jaXJjbGUtYmFyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXBsdXRvLyIsInNvdXJjZXMiOlsibGliL2NpcmNsZS1iYXIvcGVyY2VudC1jaXJjbGUtYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFVLEtBQUssRUFBdUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBSzNDO0lBb0JFLHFDQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVRqQyxlQUFVLEdBQVcsR0FBRyxDQUFDO1FBQ3pCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsU0FBSSxHQUFXLEdBQUcsQ0FBQztRQUVuQixrQkFBYSxHQUFXLEdBQUcsQ0FBQztRQUVyQyxjQUFTLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztRQUM3RSxnQkFBVyxHQUFVLEVBQUUsQ0FBQztJQUVzQixDQUFDOzs7O0lBRS9DLDhDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsaURBQVc7Ozs7SUFBWCxVQUFZLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxPQUFPLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQzlDO1lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2hCO1NBQ0Y7SUFDSCxDQUFDOzs7O0lBRUQsNkNBQU87OztJQUFQO1FBQ0UsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU87Ozs7WUFBQyxVQUFBLFNBQVM7Z0JBQy9CLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixDQUFDLEVBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Ozs7SUFFTyxzREFBZ0I7Ozs7SUFBeEI7UUFDRSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOztnQkFDakMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTs7Z0JBQ3RCLGlCQUFpQixHQUFHLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTs7b0JBQ3RCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzs7b0JBQ3JCLFdBQVcsR0FBRztvQkFDaEIsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLGlCQUFpQjtvQkFDM0MsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVU7aUJBQ3ZCO2dCQUNELGlCQUFpQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7SUFDSCxDQUFDOztnQkFoRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLDZxQkFBc0M7b0JBRXRDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztpQkFDdEM7Ozs7Z0JBWG1ILGlCQUFpQjs7OzZCQWVsSSxZQUFZLFNBQUMsV0FBVzs2QkFFeEIsS0FBSzs0QkFDTCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSztnQ0FDTCxLQUFLOztJQWtEUixrQ0FBQztDQUFBLEFBakVELElBaUVDO1NBMURZLDJCQUEyQjs7Ozs7O0lBRXRDLGlEQUFzRTs7SUFFdEUsaURBQWtDOztJQUNsQyxnREFBZ0M7O0lBQ2hDLDJDQUE0Qjs7SUFDNUIsMkNBQXNDOztJQUN0QyxvREFBcUM7O0lBRXJDLGdEQUE2RTs7SUFDN0Usa0RBQXdCOzs7OztJQUVaLDBDQUE4Qjs7Ozs7O0FBa0Q1QywwQ0FHQzs7O0lBRkMscUNBQWM7O0lBQ2QsMENBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZHJlbiwgUXVlcnlMaXN0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOcENpcmNsZUJhciB9IGZyb20gJy4vY2lyY2xlLWJhcic7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGBucC1wZXJjZW50LWNpcmNsZS1iYXJgLFxyXG4gIHRlbXBsYXRlVXJsOiAncGVyY2VudC1jaXJjbGUtYmFyLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydwZXJjZW50LWNpcmNsZS1iYXIuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTnBQZXJjZW50Q2lyY2xlQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihOcENpcmNsZUJhcikgcHJpdmF0ZSBjaXJjbGVCYXJzOiBRdWVyeUxpc3Q8TnBDaXJjbGVCYXI+O1xyXG5cclxuICBASW5wdXQoKSBzdGFydEFuZ2xlOiBudW1iZXIgPSAwLjA7XHJcbiAgQElucHV0KCkgdGhpY2tuZXNzOiBudW1iZXIgPSAxNTtcclxuICBASW5wdXQoKSBzaXplOiBudW1iZXIgPSAxNTY7XHJcbiAgQElucHV0KCkgZGF0YTogUGVyY2VudENpcmNsZUJhckRhdGFbXTtcclxuICBASW5wdXQoKSBhbmltYXRpb25UaW1lOiBudW1iZXIgPSA1MDA7XHJcblxyXG4gIGFuaW1hdGlvbiA9IHsgZHVyYXRpb246IHRoaXMuYW5pbWF0aW9uVGltZSwgZWFzaW5nOiAnY2lyY2xlUHJvZ3Jlc3NFYXNpbmcnIH07XHJcbiAgYmluZGluZ0RhdGE6IGFueVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5idWlsZEJpbmRpbmdEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcykge1xyXG4gICAgICBpZiAoY2hhbmdlcy5hbmltYXRpb25UaW1lICYmIGNoYW5nZXMuYW5pbWF0aW9uVGltZS5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICB0aGlzLmFuaW1hdGlvbi5kdXJhdGlvbiA9IHRoaXMuYW5pbWF0aW9uVGltZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNoYW5nZXMuZGF0YSAmJiBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICB0aGlzLmJ1aWxkQmluZGluZ0RhdGEoKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIGlmICh0aGlzLmNpcmNsZUJhcnMgJiYgdGhpcy5jaXJjbGVCYXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5jaXJjbGVCYXJzLmZvckVhY2goY2lyY2xlQmFyID0+IHtcclxuICAgICAgICBjaXJjbGVCYXIuaW5pdCgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRCaW5kaW5nRGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGxlbiA9IHRoaXMuZGF0YS5sZW5ndGg7XHJcbiAgICAgIGxldCBjdXJyZW50UGVyY2VudGFnZSA9IDA7XHJcbiAgICAgIHRoaXMuYmluZGluZ0RhdGEgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFbaV07XHJcbiAgICAgICAgbGV0IGJpbmRpbmdJdGVtID0ge1xyXG4gICAgICAgICAgc3RhcnRBbmdsZTogMiAqIE1hdGguUEkgKiBjdXJyZW50UGVyY2VudGFnZSxcclxuICAgICAgICAgIGZpbGw6IHsgZ3JhZGllbnQ6IFtpdGVtLmNvbG9yXSB9LFxyXG4gICAgICAgICAgdmFsdWU6IGl0ZW0ucGVyY2VudGFnZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY3VycmVudFBlcmNlbnRhZ2UgKz0gaXRlbS5wZXJjZW50YWdlO1xyXG4gICAgICAgIHRoaXMuYmluZGluZ0RhdGEucHVzaChiaW5kaW5nSXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBlcmNlbnRDaXJjbGVCYXJEYXRhIHtcclxuICBjb2xvcjogc3RyaW5nO1xyXG4gIHBlcmNlbnRhZ2U6IG51bWJlcjtcclxufVxyXG5cclxuXHJcbiJdfQ==