@seniorsistemas/angular-components 14.5.0 → 14.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-angular-components.umd.js +22 -22
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/stats-card/stats-card.component.d.ts +2 -1
- package/esm2015/components/stats-card/stats-card.component.js +21 -19
- package/esm5/components/stats-card/stats-card.component.js +20 -19
- package/fesm2015/seniorsistemas-angular-components.js +20 -18
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +19 -18
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from "@angular/core";
|
|
2
|
+
import { BigNumber } from "bignumber.js";
|
|
2
3
|
export declare class StatsCardComponent {
|
|
3
4
|
static nextId: number;
|
|
4
5
|
id: string;
|
|
@@ -20,5 +21,5 @@ export declare class StatsCardComponent {
|
|
|
20
21
|
private intervalId;
|
|
21
22
|
private _value;
|
|
22
23
|
private updateDisplayValue;
|
|
23
|
-
replaceNumericPositions(value: string, newValue?:
|
|
24
|
+
replaceNumericPositions(value: string, newValue?: BigNumber): string;
|
|
24
25
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var StatsCardComponent_1;
|
|
2
2
|
import { __decorate } from "tslib";
|
|
3
3
|
import { Component, Input, ViewEncapsulation, Output, EventEmitter } from "@angular/core";
|
|
4
|
+
import { BigNumber } from "bignumber.js";
|
|
4
5
|
let StatsCardComponent = StatsCardComponent_1 = class StatsCardComponent {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.id = `s-stats-card-${StatsCardComponent_1.nextId++}`;
|
|
@@ -29,42 +30,43 @@ let StatsCardComponent = StatsCardComponent_1 = class StatsCardComponent {
|
|
|
29
30
|
return this._value;
|
|
30
31
|
}
|
|
31
32
|
updateDisplayValue() {
|
|
32
|
-
const previousRawValue =
|
|
33
|
-
const rawValue =
|
|
34
|
-
const
|
|
35
|
-
const
|
|
33
|
+
const previousRawValue = new BigNumber(this.previousValue.replace(/\D/g, ""));
|
|
34
|
+
const rawValue = new BigNumber(this.value.replace(/\D/g, ""));
|
|
35
|
+
const eachAnimationDuration = new BigNumber(this.ANIMATION_DURATION_MS).dividedBy(new BigNumber(this.STEP_DURATION_MS));
|
|
36
|
+
const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(eachAnimationDuration).dp(0, 7);
|
|
37
|
+
const incremental = previousRawValue.isLessThan(rawValue);
|
|
36
38
|
clearInterval(this.intervalId);
|
|
37
39
|
this.displayValue = this.replaceNumericPositions(this.value);
|
|
38
40
|
let counter = previousRawValue;
|
|
39
41
|
this.intervalId = setInterval(() => {
|
|
40
|
-
if (incremental && counter
|
|
41
|
-
this.displayValue = this.replaceNumericPositions(this.displayValue,
|
|
42
|
-
counter
|
|
42
|
+
if (incremental && counter.isLessThan(rawValue)) {
|
|
43
|
+
this.displayValue = this.replaceNumericPositions(this.displayValue, counter);
|
|
44
|
+
counter = counter.plus(incrementValue);
|
|
43
45
|
}
|
|
44
|
-
else if (incremental) {
|
|
45
|
-
this.displayValue = this.
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
else if (!incremental && counter > rawValue) {
|
|
49
|
-
this.displayValue = this.replaceNumericPositions(this.displayValue, String(counter));
|
|
50
|
-
counter -= incrementValue;
|
|
46
|
+
else if (!incremental && counter.isGreaterThan(rawValue)) {
|
|
47
|
+
this.displayValue = this.replaceNumericPositions(this.displayValue, counter);
|
|
48
|
+
counter = counter.minus(incrementValue);
|
|
51
49
|
}
|
|
52
|
-
else
|
|
50
|
+
else {
|
|
53
51
|
this.displayValue = this.value;
|
|
54
52
|
clearInterval(this.intervalId);
|
|
55
53
|
}
|
|
56
54
|
}, this.STEP_DURATION_MS);
|
|
57
55
|
}
|
|
58
|
-
replaceNumericPositions(value, newValue
|
|
56
|
+
replaceNumericPositions(value, newValue) {
|
|
59
57
|
const rawValue = value.replace(/[^\d]/g, "");
|
|
60
|
-
const newValueString = newValue.
|
|
58
|
+
const newValueString = newValue ? newValue.toString() : "";
|
|
59
|
+
const formattedNewValue = newValueString
|
|
60
|
+
.toString()
|
|
61
|
+
.replace(/\D/g, "")
|
|
62
|
+
.padStart(rawValue.length, "0");
|
|
61
63
|
let newValueIndex = 0;
|
|
62
64
|
return value
|
|
63
65
|
.split("")
|
|
64
66
|
.map(char => {
|
|
65
67
|
const number = Number(char);
|
|
66
68
|
if (number || char === "0")
|
|
67
|
-
return
|
|
69
|
+
return formattedNewValue[newValueIndex++];
|
|
68
70
|
return char;
|
|
69
71
|
})
|
|
70
72
|
.join("");
|
|
@@ -113,4 +115,4 @@ StatsCardComponent = StatsCardComponent_1 = __decorate([
|
|
|
113
115
|
})
|
|
114
116
|
], StatsCardComponent);
|
|
115
117
|
export { StatsCardComponent };
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zdGF0cy1jYXJkL3N0YXRzLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUXpDLElBQWEsa0JBQWtCLDBCQUEvQixNQUFhLGtCQUFrQjtJQUEvQjtRQUlXLE9BQUUsR0FBRyxnQkFBZ0Isb0JBQWtCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQU1uRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR2pCLGNBQVMsR0FBRyxpQkFBaUIsQ0FBQztRQUc5QixVQUFLLEdBQUcsU0FBUyxDQUFDO1FBR2xCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBR3RCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFXbEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQU9iLFlBQU8sR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl0RCwwQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsR0FBRyxDQUFDO1FBRXBCLFdBQU0sR0FBRyxHQUFHLENBQUM7SUE2Q3pCLENBQUM7SUFwRUcsSUFBVyxLQUFLLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsY0FBYztZ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YUFDVCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDUixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxNQUFNLElBQUksSUFBSSxLQUFLLEdBQUc7Z0JBQUUsT0FBTyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0osQ0FBQTtBQS9GaUIseUJBQU0sR0FBRyxDQUFDLENBQUM7QUFHekI7SUFEQyxLQUFLLEVBQUU7OENBQ2tEO0FBRzFEO0lBREMsS0FBSyxFQUFFO2lEQUNhO0FBR3JCO0lBREMsS0FBSyxFQUFFO3dEQUNvQjtBQUc1QjtJQURDLEtBQUssRUFBRTtxREFDZ0I7QUFHeEI7SUFEQyxLQUFLLEVBQUU7cURBQzZCO0FBR3JDO0lBREMsS0FBSyxFQUFFO2lEQUNpQjtBQUd6QjtJQURDLEtBQUssRUFBRTswREFDcUI7QUFHN0I7SUFEQyxLQUFLLEVBQUU7cURBQ2lCO0FBR3pCO0lBREMsS0FBSyxFQUFFOytDQU1QO0FBR0Q7SUFEQyxLQUFLLEVBQUU7bURBQ1k7QUFPcEI7SUFEQyxNQUFNLEVBQUU7bURBQ3FEO0FBM0NyRCxrQkFBa0I7SUFOOUIsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGNBQWM7UUFDeEIsOGdFQUEwQztRQUUxQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7S0FDeEMsQ0FBQztHQUNXLGtCQUFrQixDQWdHOUI7U0FoR1ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJpZ051bWJlciB9IGZyb20gXCJiaWdudW1iZXIuanNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1zdGF0cy1jYXJkXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9zdGF0cy1jYXJkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3N0YXRzLWNhcmQuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHNDYXJkQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLXN0YXRzLWNhcmQtJHtTdGF0c0NhcmRDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaWdodFZlcnNpb24gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxpZ2h0TW9kZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uQ2xhc3MgPSBcImZhIGZhLWJhci1jaGFydFwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29sb3IgPSBcIiMzMzk5NjZcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFuaW1hdGVOdW1iZXJzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsaWNrYWJsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gdGhpcy5fdmFsdWU7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuYW5pbWF0ZU51bWJlcnMpIHRoaXMudXBkYXRlRGlzcGxheVZhbHVlKCk7XG4gICAgICAgIGVsc2UgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRvb2x0aXAgPSBcIlwiO1xuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgZGlzcGxheVZhbHVlOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIEFOSU1BVElPTl9EVVJBVElPTl9NUyA9IDIwMDtcbiAgICBwcml2YXRlIFNURVBfRFVSQVRJT05fTVMgPSAyMDtcbiAgICBwcml2YXRlIHByZXZpb3VzVmFsdWUgPSBcIjBcIjtcbiAgICBwcml2YXRlIGludGVydmFsSWQ6IGFueTtcbiAgICBwcml2YXRlIF92YWx1ZSA9IFwiMFwiO1xuXG4gICAgcHJpdmF0ZSB1cGRhdGVEaXNwbGF5VmFsdWUoKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUmF3VmFsdWUgPSBuZXcgQmlnTnVtYmVyKHRoaXMucHJldmlvdXNWYWx1ZS5yZXBsYWNlKC9cXEQvZywgXCJcIikpO1xuICAgICAgICBjb25zdCByYXdWYWx1ZSA9IG5ldyBCaWdOdW1iZXIodGhpcy52YWx1ZS5yZXBsYWNlKC9cXEQvZywgXCJcIikpO1xuICAgICAgICBjb25zdCBlYWNoQW5pbWF0aW9uRHVyYXRpb24gPSBuZXcgQmlnTnVtYmVyKHRoaXMuQU5JTUFUSU9OX0RVUkFUSU9OX01TKS5kaXZpZGVkQnkobmV3IEJpZ051bWJlcih0aGlzLlNURVBfRFVSQVRJT05fTVMpKTtcbiAgICAgICAgY29uc3QgaW5jcmVtZW50VmFsdWUgPSByYXdWYWx1ZS5taW51cyhwcmV2aW91c1Jhd1ZhbHVlKS5hYnNvbHV0ZVZhbHVlKCkuZGl2aWRlZEJ5KGVhY2hBbmltYXRpb25EdXJhdGlvbikuZHAoMCwgNyk7XG4gICAgICAgIGNvbnN0IGluY3JlbWVudGFsID0gcHJldmlvdXNSYXdWYWx1ZS5pc0xlc3NUaGFuKHJhd1ZhbHVlKTtcblxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5yZXBsYWNlTnVtZXJpY1Bvc2l0aW9ucyh0aGlzLnZhbHVlKTtcbiAgICAgICAgbGV0IGNvdW50ZXIgPSBwcmV2aW91c1Jhd1ZhbHVlO1xuXG4gICAgICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmNyZW1lbnRhbCAmJiBjb3VudGVyLmlzTGVzc1RoYW4ocmF3VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnJlcGxhY2VOdW1lcmljUG9zaXRpb25zKHRoaXMuZGlzcGxheVZhbHVlLCBjb3VudGVyKTtcbiAgICAgICAgICAgICAgICBjb3VudGVyID0gY291bnRlci5wbHVzKGluY3JlbWVudFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWluY3JlbWVudGFsICYmIGNvdW50ZXIuaXNHcmVhdGVyVGhhbihyYXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMucmVwbGFjZU51bWVyaWNQb3NpdGlvbnModGhpcy5kaXNwbGF5VmFsdWUsIGNvdW50ZXIpO1xuICAgICAgICAgICAgICAgIGNvdW50ZXIgPSBjb3VudGVyLm1pbnVzKGluY3JlbWVudFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcy5TVEVQX0RVUkFUSU9OX01TKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVwbGFjZU51bWVyaWNQb3NpdGlvbnModmFsdWU6IHN0cmluZywgbmV3VmFsdWU/OiBCaWdOdW1iZXIpIHtcbiAgICAgICAgY29uc3QgcmF3VmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9bXlxcZF0vZywgXCJcIik7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlU3RyaW5nID0gbmV3VmFsdWUgPyBuZXdWYWx1ZS50b1N0cmluZygpIDogXCJcIjtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkTmV3VmFsdWUgPSBuZXdWYWx1ZVN0cmluZ1xuICAgICAgICAgICAgLnRvU3RyaW5nKClcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXEQvZywgXCJcIilcbiAgICAgICAgICAgIC5wYWRTdGFydChyYXdWYWx1ZS5sZW5ndGgsIFwiMFwiKTtcbiAgICAgICAgbGV0IG5ld1ZhbHVlSW5kZXggPSAwO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLnNwbGl0KFwiXCIpXG4gICAgICAgICAgICAubWFwKGNoYXIgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG51bWJlciA9IE51bWJlcihjaGFyKTtcbiAgICAgICAgICAgICAgICBpZiAobnVtYmVyIHx8IGNoYXIgPT09IFwiMFwiKSByZXR1cm4gZm9ybWF0dGVkTmV3VmFsdWVbbmV3VmFsdWVJbmRleCsrXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hhcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbihcIlwiKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Component, Input, ViewEncapsulation, Output, EventEmitter } from "@angular/core";
|
|
3
|
+
import { BigNumber } from "bignumber.js";
|
|
3
4
|
var StatsCardComponent = /** @class */ (function () {
|
|
4
5
|
function StatsCardComponent() {
|
|
5
6
|
this.id = "s-stats-card-" + StatsCardComponent_1.nextId++;
|
|
@@ -34,43 +35,43 @@ var StatsCardComponent = /** @class */ (function () {
|
|
|
34
35
|
});
|
|
35
36
|
StatsCardComponent.prototype.updateDisplayValue = function () {
|
|
36
37
|
var _this = this;
|
|
37
|
-
var previousRawValue =
|
|
38
|
-
var rawValue =
|
|
39
|
-
var
|
|
40
|
-
var
|
|
38
|
+
var previousRawValue = new BigNumber(this.previousValue.replace(/\D/g, ""));
|
|
39
|
+
var rawValue = new BigNumber(this.value.replace(/\D/g, ""));
|
|
40
|
+
var eachAnimationDuration = new BigNumber(this.ANIMATION_DURATION_MS).dividedBy(new BigNumber(this.STEP_DURATION_MS));
|
|
41
|
+
var incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(eachAnimationDuration).dp(0, 7);
|
|
42
|
+
var incremental = previousRawValue.isLessThan(rawValue);
|
|
41
43
|
clearInterval(this.intervalId);
|
|
42
44
|
this.displayValue = this.replaceNumericPositions(this.value);
|
|
43
45
|
var counter = previousRawValue;
|
|
44
46
|
this.intervalId = setInterval(function () {
|
|
45
|
-
if (incremental && counter
|
|
46
|
-
_this.displayValue = _this.replaceNumericPositions(_this.displayValue,
|
|
47
|
-
counter
|
|
47
|
+
if (incremental && counter.isLessThan(rawValue)) {
|
|
48
|
+
_this.displayValue = _this.replaceNumericPositions(_this.displayValue, counter);
|
|
49
|
+
counter = counter.plus(incrementValue);
|
|
48
50
|
}
|
|
49
|
-
else if (incremental) {
|
|
50
|
-
_this.displayValue = _this.
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
else if (!incremental && counter > rawValue) {
|
|
54
|
-
_this.displayValue = _this.replaceNumericPositions(_this.displayValue, String(counter));
|
|
55
|
-
counter -= incrementValue;
|
|
51
|
+
else if (!incremental && counter.isGreaterThan(rawValue)) {
|
|
52
|
+
_this.displayValue = _this.replaceNumericPositions(_this.displayValue, counter);
|
|
53
|
+
counter = counter.minus(incrementValue);
|
|
56
54
|
}
|
|
57
|
-
else
|
|
55
|
+
else {
|
|
58
56
|
_this.displayValue = _this.value;
|
|
59
57
|
clearInterval(_this.intervalId);
|
|
60
58
|
}
|
|
61
59
|
}, this.STEP_DURATION_MS);
|
|
62
60
|
};
|
|
63
61
|
StatsCardComponent.prototype.replaceNumericPositions = function (value, newValue) {
|
|
64
|
-
if (newValue === void 0) { newValue = ""; }
|
|
65
62
|
var rawValue = value.replace(/[^\d]/g, "");
|
|
66
|
-
var newValueString = newValue.
|
|
63
|
+
var newValueString = newValue ? newValue.toString() : "";
|
|
64
|
+
var formattedNewValue = newValueString
|
|
65
|
+
.toString()
|
|
66
|
+
.replace(/\D/g, "")
|
|
67
|
+
.padStart(rawValue.length, "0");
|
|
67
68
|
var newValueIndex = 0;
|
|
68
69
|
return value
|
|
69
70
|
.split("")
|
|
70
71
|
.map(function (char) {
|
|
71
72
|
var number = Number(char);
|
|
72
73
|
if (number || char === "0")
|
|
73
|
-
return
|
|
74
|
+
return formattedNewValue[newValueIndex++];
|
|
74
75
|
return char;
|
|
75
76
|
})
|
|
76
77
|
.join("");
|
|
@@ -121,4 +122,4 @@ var StatsCardComponent = /** @class */ (function () {
|
|
|
121
122
|
return StatsCardComponent;
|
|
122
123
|
}());
|
|
123
124
|
export { StatsCardComponent };
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zdGF0cy1jYXJkL3N0YXRzLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFRekM7SUFBQTtRQUlXLE9BQUUsR0FBRyxrQkFBZ0Isb0JBQWtCLENBQUMsTUFBTSxFQUFJLENBQUM7UUFNbkQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUdqQixjQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFHOUIsVUFBSyxHQUFHLFNBQVMsQ0FBQztRQUdsQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUd0QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBV2xCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFPYixZQUFPLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJdEQsMEJBQXFCLEdBQUcsR0FBRyxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUVwQixXQUFNLEdBQUcsR0FBRyxDQUFDO0lBNkN6QixDQUFDOzJCQWhHWSxrQkFBa0I7SUE0QjNCLHNCQUFXLHFDQUFLO2FBVWhCO1lBQ0ksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7YUFaRCxVQUFpQixLQUFhO1lBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMs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O2FBQ1QsR0FBRyxDQUFDLFVBQUEsSUFBSTtZQUNMLElBQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixJQUFJLE1BQU0sSUFBSSxJQUFJLEtBQUssR0FBRztnQkFBRSxPQUFPLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDdEUsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O0lBOUZhLHlCQUFNLEdBQUcsQ0FBQyxDQUFDO0lBR3pCO1FBREMsS0FBSyxFQUFFO2tEQUNrRDtJQUcxRDtRQURDLEtBQUssRUFBRTtxREFDYTtJQUdyQjtRQURDLEtBQUssRUFBRTs0REFDb0I7SUFHNUI7UUFEQyxLQUFLLEVBQUU7eURBQ2dCO0lBR3hCO1FBREMsS0FBSyxFQUFFO3lEQUM2QjtJQUdyQztRQURDLEtBQUssRUFBRTtxREFDaUI7SUFHekI7UUFEQyxLQUFLLEVBQUU7OERBQ3FCO0lBRzdCO1FBREMsS0FBSyxFQUFFO3lEQUNpQjtJQUd6QjtRQURDLEtBQUssRUFBRTttREFNUDtJQUdEO1FBREMsS0FBSyxFQUFFO3VEQUNZO0lBT3BCO1FBREMsTUFBTSxFQUFFO3VEQUNxRDtJQTNDckQsa0JBQWtCO1FBTjlCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLDhnRUFBMEM7WUFFMUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O1NBQ3hDLENBQUM7T0FDVyxrQkFBa0IsQ0FnRzlCO0lBQUQseUJBQUM7Q0FBQSxBQWhHRCxJQWdHQztTQWhHWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSBcImJpZ251bWJlci5qc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLXN0YXRzLWNhcmRcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3N0YXRzLWNhcmQuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vc3RhdHMtY2FyZC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0c0NhcmRDb21wb25lbnQge1xuICAgIHB1YmxpYyBzdGF0aWMgbmV4dElkID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtc3RhdHMtY2FyZC0ke1N0YXRzQ2FyZENvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxpZ2h0VmVyc2lvbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGlnaHRNb2RlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb25DbGFzcyA9IFwiZmEgZmEtYmFyLWNoYXJ0XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb2xvciA9IFwiIzMzOTk2NlwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYW5pbWF0ZU51bWJlcnMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xpY2thYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5hbmltYXRlTnVtYmVycykgdGhpcy51cGRhdGVEaXNwbGF5VmFsdWUoKTtcbiAgICAgICAgZWxzZSB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdG9vbHRpcCA9IFwiXCI7XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBkaXNwbGF5VmFsdWU6IHN0cmluZztcblxuICAgIHByaXZhdGUgQU5JTUFUSU9OX0RVUkFUSU9OX01TID0gMjAwO1xuICAgIHByaXZhdGUgU1RFUF9EVVJBVElPTl9NUyA9IDIwO1xuICAgIHByaXZhdGUgcHJldmlvdXNWYWx1ZSA9IFwiMFwiO1xuICAgIHByaXZhdGUgaW50ZXJ2YWxJZDogYW55O1xuICAgIHByaXZhdGUgX3ZhbHVlID0gXCIwXCI7XG5cbiAgICBwcml2YXRlIHVwZGF0ZURpc3BsYXlWYWx1ZSgpIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNSYXdWYWx1ZSA9IG5ldyBCaWdOdW1iZXIodGhpcy5wcmV2aW91c1ZhbHVlLnJlcGxhY2UoL1xcRC9nLCBcIlwiKSk7XG4gICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gbmV3IEJpZ051bWJlcih0aGlzLnZhbHVlLnJlcGxhY2UoL1xcRC9nLCBcIlwiKSk7XG4gICAgICAgIGNvbnN0IGVhY2hBbmltYXRpb25EdXJhdGlvbiA9IG5ldyBCaWdOdW1iZXIodGhpcy5BTklNQVRJT05fRFVSQVRJT05fTVMpLmRpdmlkZWRCeShuZXcgQmlnTnVtYmVyKHRoaXMuU1RFUF9EVVJBVElPTl9NUykpO1xuICAgICAgICBjb25zdCBpbmNyZW1lbnRWYWx1ZSA9IHJhd1ZhbHVlLm1pbnVzKHByZXZpb3VzUmF3VmFsdWUpLmFic29sdXRlVmFsdWUoKS5kaXZpZGVkQnkoZWFjaEFuaW1hdGlvbkR1cmF0aW9uKS5kcCgwLCA3KTtcbiAgICAgICAgY29uc3QgaW5jcmVtZW50YWwgPSBwcmV2aW91c1Jhd1ZhbHVlLmlzTGVzc1RoYW4ocmF3VmFsdWUpO1xuXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnJlcGxhY2VOdW1lcmljUG9zaXRpb25zKHRoaXMudmFsdWUpO1xuICAgICAgICBsZXQgY291bnRlciA9IHByZXZpb3VzUmF3VmFsdWU7XG5cbiAgICAgICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluY3JlbWVudGFsICYmIGNvdW50ZXIuaXNMZXNzVGhhbihyYXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMucmVwbGFjZU51bWVyaWNQb3NpdGlvbnModGhpcy5kaXNwbGF5VmFsdWUsIGNvdW50ZXIpO1xuICAgICAgICAgICAgICAgIGNvdW50ZXIgPSBjb3VudGVyLnBsdXMoaW5jcmVtZW50VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghaW5jcmVtZW50YWwgJiYgY291bnRlci5pc0dyZWF0ZXJUaGFuKHJhd1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5yZXBsYWNlTnVtZXJpY1Bvc2l0aW9ucyh0aGlzLmRpc3BsYXlWYWx1ZSwgY291bnRlcik7XG4gICAgICAgICAgICAgICAgY291bnRlciA9IGNvdW50ZXIubWludXMoaW5jcmVtZW50VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB0aGlzLlNURVBfRFVSQVRJT05fTVMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXBsYWNlTnVtZXJpY1Bvc2l0aW9ucyh2YWx1ZTogc3RyaW5nLCBuZXdWYWx1ZT86IEJpZ051bWJlcikge1xuICAgICAgICBjb25zdCByYXdWYWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1teXFxkXS9nLCBcIlwiKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWVTdHJpbmcgPSBuZXdWYWx1ZSA/IG5ld1ZhbHVlLnRvU3RyaW5nKCkgOiBcIlwiO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWROZXdWYWx1ZSA9IG5ld1ZhbHVlU3RyaW5nXG4gICAgICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcRC9nLCBcIlwiKVxuICAgICAgICAgICAgLnBhZFN0YXJ0KHJhd1ZhbHVlLmxlbmd0aCwgXCIwXCIpO1xuICAgICAgICBsZXQgbmV3VmFsdWVJbmRleCA9IDA7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAuc3BsaXQoXCJcIilcbiAgICAgICAgICAgIC5tYXAoY2hhciA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKGNoYXIpO1xuICAgICAgICAgICAgICAgIGlmIChudW1iZXIgfHwgY2hhciA9PT0gXCIwXCIpIHJldHVybiBmb3JtYXR0ZWROZXdWYWx1ZVtuZXdWYWx1ZUluZGV4KytdO1xuICAgICAgICAgICAgICAgIHJldHVybiBjaGFyO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKFwiXCIpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -41,6 +41,7 @@ import * as elementResizeDetectorMaker_ from 'element-resize-detector';
|
|
|
41
41
|
import { FocusTrapFactory, A11yModule } from '@angular/cdk/a11y';
|
|
42
42
|
import { ScrollPanelModule } from 'primeng/scrollpanel';
|
|
43
43
|
import { Sidebar, SidebarModule as SidebarModule$1 } from 'primeng/sidebar';
|
|
44
|
+
import { BigNumber } from 'bignumber.js';
|
|
44
45
|
|
|
45
46
|
let BreadcrumbComponent = class BreadcrumbComponent {
|
|
46
47
|
constructor(activatedRoute, router) {
|
|
@@ -5874,42 +5875,43 @@ let StatsCardComponent = StatsCardComponent_1 = class StatsCardComponent {
|
|
|
5874
5875
|
return this._value;
|
|
5875
5876
|
}
|
|
5876
5877
|
updateDisplayValue() {
|
|
5877
|
-
const previousRawValue =
|
|
5878
|
-
const rawValue =
|
|
5879
|
-
const
|
|
5880
|
-
const
|
|
5878
|
+
const previousRawValue = new BigNumber(this.previousValue.replace(/\D/g, ""));
|
|
5879
|
+
const rawValue = new BigNumber(this.value.replace(/\D/g, ""));
|
|
5880
|
+
const eachAnimationDuration = new BigNumber(this.ANIMATION_DURATION_MS).dividedBy(new BigNumber(this.STEP_DURATION_MS));
|
|
5881
|
+
const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(eachAnimationDuration).dp(0, 7);
|
|
5882
|
+
const incremental = previousRawValue.isLessThan(rawValue);
|
|
5881
5883
|
clearInterval(this.intervalId);
|
|
5882
5884
|
this.displayValue = this.replaceNumericPositions(this.value);
|
|
5883
5885
|
let counter = previousRawValue;
|
|
5884
5886
|
this.intervalId = setInterval(() => {
|
|
5885
|
-
if (incremental && counter
|
|
5886
|
-
this.displayValue = this.replaceNumericPositions(this.displayValue,
|
|
5887
|
-
counter
|
|
5887
|
+
if (incremental && counter.isLessThan(rawValue)) {
|
|
5888
|
+
this.displayValue = this.replaceNumericPositions(this.displayValue, counter);
|
|
5889
|
+
counter = counter.plus(incrementValue);
|
|
5888
5890
|
}
|
|
5889
|
-
else if (incremental) {
|
|
5890
|
-
this.displayValue = this.
|
|
5891
|
-
|
|
5891
|
+
else if (!incremental && counter.isGreaterThan(rawValue)) {
|
|
5892
|
+
this.displayValue = this.replaceNumericPositions(this.displayValue, counter);
|
|
5893
|
+
counter = counter.minus(incrementValue);
|
|
5892
5894
|
}
|
|
5893
|
-
else
|
|
5894
|
-
this.displayValue = this.replaceNumericPositions(this.displayValue, String(counter));
|
|
5895
|
-
counter -= incrementValue;
|
|
5896
|
-
}
|
|
5897
|
-
else if (!incremental) {
|
|
5895
|
+
else {
|
|
5898
5896
|
this.displayValue = this.value;
|
|
5899
5897
|
clearInterval(this.intervalId);
|
|
5900
5898
|
}
|
|
5901
5899
|
}, this.STEP_DURATION_MS);
|
|
5902
5900
|
}
|
|
5903
|
-
replaceNumericPositions(value, newValue
|
|
5901
|
+
replaceNumericPositions(value, newValue) {
|
|
5904
5902
|
const rawValue = value.replace(/[^\d]/g, "");
|
|
5905
|
-
const newValueString = newValue.
|
|
5903
|
+
const newValueString = newValue ? newValue.toString() : "";
|
|
5904
|
+
const formattedNewValue = newValueString
|
|
5905
|
+
.toString()
|
|
5906
|
+
.replace(/\D/g, "")
|
|
5907
|
+
.padStart(rawValue.length, "0");
|
|
5906
5908
|
let newValueIndex = 0;
|
|
5907
5909
|
return value
|
|
5908
5910
|
.split("")
|
|
5909
5911
|
.map(char => {
|
|
5910
5912
|
const number = Number(char);
|
|
5911
5913
|
if (number || char === "0")
|
|
5912
|
-
return
|
|
5914
|
+
return formattedNewValue[newValueIndex++];
|
|
5913
5915
|
return char;
|
|
5914
5916
|
})
|
|
5915
5917
|
.join("");
|