FIX: use `prev_period` data if `prev30Days` value is not available. (#15867)

Previously, reports of likes and flags doesn't include the 30 days trend icon and title.
This commit is contained in:
Vinoth Kannan 2022-02-09 22:09:33 +05:30 committed by GitHub
parent 97ba3e1e5b
commit 1f30bacb65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 9 deletions

View File

@ -163,9 +163,23 @@ const Report = EmberObject.extend({
return this._computeTrend(prev, total, higherIsBetter); return this._computeTrend(prev, total, higherIsBetter);
}, },
@discourseComputed("prev30Days", "lastThirtyDaysCount", "higher_is_better") @discourseComputed(
thirtyDaysTrend(prev30Days, lastThirtyDaysCount, higherIsBetter) { "prev30Days",
return this._computeTrend(prev30Days, lastThirtyDaysCount, higherIsBetter); "prev_period",
"lastThirtyDaysCount",
"higher_is_better"
)
thirtyDaysTrend(
prev30Days,
prev_period,
lastThirtyDaysCount,
higherIsBetter
) {
return this._computeTrend(
prev30Days ?? prev_period,
lastThirtyDaysCount,
higherIsBetter
);
}, },
@discourseComputed("type") @discourseComputed("type")
@ -236,10 +250,15 @@ const Report = EmberObject.extend({
); );
}, },
@discourseComputed("prev30Days", "lastThirtyDaysCount") @discourseComputed("prev30Days", "prev_period")
thirtyDaysCountTitle(prev30Days, lastThirtyDaysCount) { canDisplayTrendIcon(prev30Days, prev_period) {
return prev30Days ?? prev_period;
},
@discourseComputed("prev30Days", "prev_period", "lastThirtyDaysCount")
thirtyDaysCountTitle(prev30Days, prev_period, lastThirtyDaysCount) {
return this.changeTitle( return this.changeTitle(
prev30Days, prev30Days ?? prev_period,
lastThirtyDaysCount, lastThirtyDaysCount,
"in the previous 30 day period" "in the previous 30 day period"
); );

View File

@ -18,7 +18,7 @@
<div class="cell value thirty-days-count {{model.thirtyDaysTrend}}" title={{model.thirtyDaysCountTitle}}> <div class="cell value thirty-days-count {{model.thirtyDaysTrend}}" title={{model.thirtyDaysCountTitle}}>
{{number model.lastThirtyDaysCount}} {{number model.lastThirtyDaysCount}}
{{#if model.prev30Days}} {{#if model.canDisplayTrendIcon}}
{{d-icon model.thirtyDaysTrendIcon}} {{d-icon model.thirtyDaysTrendIcon}}
{{/if}} {{/if}}
</div> </div>

View File

@ -109,12 +109,19 @@ module("Unit | Model | report", function () {
}); });
test("thirtyDaysCountTitle", function (assert) { test("thirtyDaysCountTitle", function (assert) {
const report = reportWithData([5, 5, 5, 5]); let report = reportWithData([5, 5, 5, 5]);
report.set("prev30Days", 10); report.set("prev30Days", 10);
const title = report.get("thirtyDaysCountTitle"); let title = report.get("thirtyDaysCountTitle");
assert.ok(title.indexOf("+50%") !== -1); assert.ok(title.indexOf("+50%") !== -1);
assert.ok(title.match(/Was 10/)); assert.ok(title.match(/Was 10/));
report = reportWithData([5, 5, 5, 5]);
report.set("prev_period", 20);
title = report.get("thirtyDaysCountTitle");
assert.ok(title.indexOf("-25%") !== -1);
assert.ok(title.match(/Was 20/));
}); });
test("sevenDaysTrend", function (assert) { test("sevenDaysTrend", function (assert) {