progressbar.component.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import { Component, HostBinding, Input } from '@angular/core';
  6. import { ProgressbarConfig } from './progressbar.config';
  7. import { isBs3 } from 'ngx-bootstrap/utils';
  8. var ProgressbarComponent = /** @class */ (function () {
  9. function ProgressbarComponent(config) {
  10. this.isStacked = false;
  11. this.addClass = true;
  12. /* tslint:disable-next-line:no-any */
  13. this.bars = [];
  14. this._max = 100;
  15. Object.assign(this, config);
  16. }
  17. Object.defineProperty(ProgressbarComponent.prototype, "animate", {
  18. /** if `true` changing value of progress bar will be animated */
  19. set: /**
  20. * if `true` changing value of progress bar will be animated
  21. * @param {?} value
  22. * @return {?}
  23. */
  24. function (value) {
  25. this._animate = value;
  26. this.bars.forEach((/**
  27. * @param {?} b
  28. * @return {?}
  29. */
  30. function (b) {
  31. b.animate = value;
  32. }));
  33. },
  34. enumerable: true,
  35. configurable: true
  36. });
  37. Object.defineProperty(ProgressbarComponent.prototype, "striped", {
  38. /** If `true`, striped classes are applied */
  39. set: /**
  40. * If `true`, striped classes are applied
  41. * @param {?} value
  42. * @return {?}
  43. */
  44. function (value) {
  45. this._striped = value;
  46. this.bars.forEach((/**
  47. * @param {?} b
  48. * @return {?}
  49. */
  50. function (b) {
  51. b.striped = value;
  52. }));
  53. },
  54. enumerable: true,
  55. configurable: true
  56. });
  57. Object.defineProperty(ProgressbarComponent.prototype, "value", {
  58. /** current value of progress bar. Could be a number or array of objects
  59. * like {"value":15,"type":"info","label":"15 %"}
  60. */
  61. set: /**
  62. * current value of progress bar. Could be a number or array of objects
  63. * like {"value":15,"type":"info","label":"15 %"}
  64. * @param {?} value
  65. * @return {?}
  66. */
  67. function (value) {
  68. this.isStacked = Array.isArray(value);
  69. this._value = value;
  70. },
  71. enumerable: true,
  72. configurable: true
  73. });
  74. Object.defineProperty(ProgressbarComponent.prototype, "isBs3", {
  75. get: /**
  76. * @return {?}
  77. */
  78. function () {
  79. return isBs3();
  80. },
  81. enumerable: true,
  82. configurable: true
  83. });
  84. Object.defineProperty(ProgressbarComponent.prototype, "max", {
  85. /** maximum total value of progress element */
  86. get: /**
  87. * maximum total value of progress element
  88. * @return {?}
  89. */
  90. function () {
  91. return this._max;
  92. },
  93. set: /**
  94. * @param {?} v
  95. * @return {?}
  96. */
  97. function (v) {
  98. this._max = v;
  99. this.bars.forEach((/**
  100. * @param {?} bar
  101. * @return {?}
  102. */
  103. function (bar) {
  104. bar.recalculatePercentage();
  105. }));
  106. },
  107. enumerable: true,
  108. configurable: true
  109. });
  110. /**
  111. * @param {?} bar
  112. * @return {?}
  113. */
  114. ProgressbarComponent.prototype.addBar = /**
  115. * @param {?} bar
  116. * @return {?}
  117. */
  118. function (bar) {
  119. bar.animate = this._animate;
  120. bar.striped = this._striped;
  121. this.bars.push(bar);
  122. };
  123. /**
  124. * @param {?} bar
  125. * @return {?}
  126. */
  127. ProgressbarComponent.prototype.removeBar = /**
  128. * @param {?} bar
  129. * @return {?}
  130. */
  131. function (bar) {
  132. this.bars.splice(this.bars.indexOf(bar), 1);
  133. };
  134. ProgressbarComponent.decorators = [
  135. { type: Component, args: [{
  136. selector: 'progressbar',
  137. template: "<bar [type]=\"type\" [value]=\"_value\" *ngIf=\"!isStacked\">\n <ng-content></ng-content>\n</bar>\n<ng-template [ngIf]=\"isStacked\">\n <bar *ngFor=\"let item of _value\" [type]=\"item.type\" [value]=\"item.value\">{{ item.label }}</bar>\n</ng-template>\n",
  138. styles: ["\n :host {\n width: 100%;\n display: flex;\n }\n "]
  139. }] }
  140. ];
  141. /** @nocollapse */
  142. ProgressbarComponent.ctorParameters = function () { return [
  143. { type: ProgressbarConfig }
  144. ]; };
  145. ProgressbarComponent.propDecorators = {
  146. animate: [{ type: Input }],
  147. striped: [{ type: Input }],
  148. type: [{ type: Input }],
  149. value: [{ type: Input }],
  150. max: [{ type: HostBinding, args: ['attr.max',] }, { type: Input }],
  151. addClass: [{ type: HostBinding, args: ['class.progress',] }]
  152. };
  153. return ProgressbarComponent;
  154. }());
  155. export { ProgressbarComponent };
  156. if (false) {
  157. /**
  158. * provide one of the four supported contextual classes: `success`, `info`, `warning`, `danger`
  159. * @type {?}
  160. */
  161. ProgressbarComponent.prototype.type;
  162. /** @type {?} */
  163. ProgressbarComponent.prototype.isStacked;
  164. /** @type {?} */
  165. ProgressbarComponent.prototype._striped;
  166. /** @type {?} */
  167. ProgressbarComponent.prototype._animate;
  168. /** @type {?} */
  169. ProgressbarComponent.prototype._value;
  170. /** @type {?} */
  171. ProgressbarComponent.prototype.addClass;
  172. /** @type {?} */
  173. ProgressbarComponent.prototype.bars;
  174. /**
  175. * @type {?}
  176. * @protected
  177. */
  178. ProgressbarComponent.prototype._max;
  179. }
  180. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3NiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJvb3RzdHJhcC9wcm9ncmVzc2Jhci8iLCJzb3VyY2VzIjpbInByb2dyZXNzYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUc1QztJQXVFRSw4QkFBWSxNQUF5QjtRQTlCckMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQXVCYSxhQUFRLEdBQUcsSUFBSSxDQUFDOztRQUcvQyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztRQUVoQixTQUFJLEdBQUcsR0FBRyxDQUFDO1FBR25CLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUEzREQsc0JBQ0kseUNBQU87UUFGWCxnRUFBZ0U7Ozs7OztRQUNoRSxVQUNZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPOzs7O1lBQUMsVUFBQyxDQUFlO2dCQUNoQyxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQixDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUM7OztPQUFBO0lBRUQsc0JBQ0kseUNBQU87UUFGWCw2Q0FBNkM7Ozs7OztRQUM3QyxVQUNZLEtBQWM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPOzs7O1lBQUMsVUFBQyxDQUFlO2dCQUNoQyxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQixDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUM7OztPQUFBO0lBT0Qsc0JBRUksdUNBQUs7UUFMVDs7V0FFRzs7Ozs7OztRQUNILFVBRVUsS0FBcUI7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUM7OztPQUFBO0lBTUQsc0JBQUksdUNBQUs7Ozs7UUFBVDtZQUNFLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDakIsQ0FBQzs7O09BQUE7SUFHRCxzQkFFSSxxQ0FBRztRQUhQLDhDQUE4Qzs7Ozs7UUFDOUM7WUFHRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQzs7Ozs7UUFFRCxVQUFRLENBQVM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTzs7OztZQUFDLFVBQUMsR0FBaUI7Z0JBQ2xDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzlCLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQzs7O09BUEE7Ozs7O0lBbUJELHFDQUFNOzs7O0lBQU4sVUFBTyxHQUFpQjtRQUN0QixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUIsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQsd0NBQVM7Ozs7SUFBVCxVQUFVLEdBQWlCO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O2dCQW5GRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLDZRQUEyQzs2QkFFekMsb0VBS0Q7aUJBRUY7Ozs7Z0JBaEJRLGlCQUFpQjs7OzBCQW1CdkIsS0FBSzswQkFRTCxLQUFLO3VCQVNMLEtBQUs7d0JBSUwsS0FBSztzQkFnQkwsV0FBVyxTQUFDLFVBQVUsY0FDdEIsS0FBSzsyQkFZTCxXQUFXLFNBQUMsZ0JBQWdCOztJQW9CL0IsMkJBQUM7Q0FBQSxBQXBGRCxJQW9GQztTQXhFWSxvQkFBb0I7Ozs7OztJQW1CL0Isb0NBQStCOztJQVUvQix5Q0FBa0I7O0lBQ2xCLHdDQUFrQjs7SUFDbEIsd0NBQWtCOztJQUVsQixzQ0FBdUI7O0lBbUJ2Qix3Q0FBK0M7O0lBRy9DLG9DQUEwQjs7Ozs7SUFFMUIsb0NBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2dyZXNzYmFyQ29uZmlnIH0gZnJvbSAnLi9wcm9ncmVzc2Jhci5jb25maWcnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NiYXJUeXBlIH0gZnJvbSAnLi9wcm9ncmVzc2Jhci10eXBlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc0JzMyB9IGZyb20gJ25neC1ib290c3RyYXAvdXRpbHMnO1xuaW1wb3J0IHsgQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJvZ3Jlc3NiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3NiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgOmhvc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzYmFyQ29tcG9uZW50IHtcbiAgLyoqIGlmIGB0cnVlYCBjaGFuZ2luZyB2YWx1ZSBvZiBwcm9ncmVzcyBiYXIgd2lsbCBiZSBhbmltYXRlZCAqL1xuICBASW5wdXQoKVxuICBzZXQgYW5pbWF0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FuaW1hdGUgPSB2YWx1ZTtcbiAgICB0aGlzLmJhcnMuZm9yRWFjaCgoYjogQmFyQ29tcG9uZW50KSA9PiB7XG4gICAgICBiLmFuaW1hdGUgPSB2YWx1ZTtcbiAgICB9KTtcbiAgfVxuICAvKiogSWYgYHRydWVgLCBzdHJpcGVkIGNsYXNzZXMgYXJlIGFwcGxpZWQgKi9cbiAgQElucHV0KClcbiAgc2V0IHN0cmlwZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zdHJpcGVkID0gdmFsdWU7XG4gICAgdGhpcy5iYXJzLmZvckVhY2goKGI6IEJhckNvbXBvbmVudCkgPT4ge1xuICAgICAgYi5zdHJpcGVkID0gdmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICAvKiogcHJvdmlkZSBvbmUgb2YgdGhlIGZvdXIgc3VwcG9ydGVkIGNvbnRleHR1YWwgY2xhc3NlczogYHN1Y2Nlc3NgLCBgaW5mb2AsIGB3YXJuaW5nYCwgYGRhbmdlcmAgKi9cbiAgQElucHV0KCkgdHlwZTogUHJvZ3Jlc3NiYXJUeXBlO1xuICAvKiogY3VycmVudCB2YWx1ZSBvZiBwcm9ncmVzcyBiYXIuIENvdWxkIGJlIGEgbnVtYmVyIG9yIGFycmF5IG9mIG9iamVjdHNcbiAgICogbGlrZSB7XCJ2YWx1ZVwiOjE1LFwidHlwZVwiOlwiaW5mb1wiLFwibGFiZWxcIjpcIjE1ICVcIn1cbiAgICovXG4gIEBJbnB1dCgpXG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnkgKi9cbiAgc2V0IHZhbHVlKHZhbHVlOiBudW1iZXIgfCBhbnlbXSkge1xuICAgIHRoaXMuaXNTdGFja2VkID0gQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuICBpc1N0YWNrZWQgPSBmYWxzZTtcbiAgX3N0cmlwZWQ6IGJvb2xlYW47XG4gIF9hbmltYXRlOiBib29sZWFuO1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55ICovXG4gIF92YWx1ZTogbnVtYmVyIHwgYW55W107XG4gIGdldCBpc0JzMygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNCczMoKTtcbiAgfVxuXG4gIC8qKiBtYXhpbXVtIHRvdGFsIHZhbHVlIG9mIHByb2dyZXNzIGVsZW1lbnQgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLm1heCcpXG4gIEBJbnB1dCgpXG4gIGdldCBtYXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4O1xuICB9XG5cbiAgc2V0IG1heCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl9tYXggPSB2O1xuICAgIHRoaXMuYmFycy5mb3JFYWNoKChiYXI6IEJhckNvbXBvbmVudCkgPT4ge1xuICAgICAgYmFyLnJlY2FsY3VsYXRlUGVyY2VudGFnZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcm9ncmVzcycpIGFkZENsYXNzID0gdHJ1ZTtcblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55ICovXG4gIGJhcnM6IEJhckNvbXBvbmVudFtdID0gW107XG5cbiAgcHJvdGVjdGVkIF9tYXggPSAxMDA7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBQcm9ncmVzc2JhckNvbmZpZykge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgY29uZmlnKTtcbiAgfVxuICBhZGRCYXIoYmFyOiBCYXJDb21wb25lbnQpOiB2b2lkIHtcbiAgICBiYXIuYW5pbWF0ZSA9IHRoaXMuX2FuaW1hdGU7XG4gICAgYmFyLnN0cmlwZWQgPSB0aGlzLl9zdHJpcGVkO1xuXG4gICAgdGhpcy5iYXJzLnB1c2goYmFyKTtcbiAgfVxuXG4gIHJlbW92ZUJhcihiYXI6IEJhckNvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuYmFycy5zcGxpY2UodGhpcy5iYXJzLmluZGV4T2YoYmFyKSwgMSk7XG4gIH1cbn1cbiJdfQ==