mirror of
https://github.com/discourse/discourse.git
synced 2025-05-31 01:08:35 +08:00
DEV: Move computed to discourseComputed (#8312)
This commit is contained in:

committed by
GitHub

parent
d74546f50e
commit
6275c05c0d
@ -1,3 +1,4 @@
|
||||
import discourseComputed from "discourse-common/utils/decorators";
|
||||
import { makeArray } from "discourse-common/lib/helpers";
|
||||
import { isEmpty } from "@ember/utils";
|
||||
import EmberObject from "@ember/object";
|
||||
@ -9,7 +10,6 @@ import {
|
||||
formatUsername,
|
||||
toNumber
|
||||
} from "discourse/lib/utilities";
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
import { number, durationTiny } from "discourse/lib/formatter";
|
||||
import { renderAvatar } from "discourse/helpers/user-avatar";
|
||||
|
||||
@ -22,12 +22,12 @@ const Report = Discourse.Model.extend({
|
||||
percent: false,
|
||||
higher_is_better: true,
|
||||
|
||||
@computed("modes")
|
||||
@discourseComputed("modes")
|
||||
isTable(modes) {
|
||||
return modes.some(mode => mode === "table");
|
||||
},
|
||||
|
||||
@computed("type", "start_date", "end_date")
|
||||
@discourseComputed("type", "start_date", "end_date")
|
||||
reportUrl(type, start_date, end_date) {
|
||||
start_date = moment
|
||||
.utc(start_date)
|
||||
@ -83,32 +83,32 @@ const Report = Discourse.Model.extend({
|
||||
}
|
||||
},
|
||||
|
||||
@computed("data", "average")
|
||||
@discourseComputed("data", "average")
|
||||
todayCount() {
|
||||
return this.valueAt(0);
|
||||
},
|
||||
|
||||
@computed("data", "average")
|
||||
@discourseComputed("data", "average")
|
||||
yesterdayCount() {
|
||||
return this.valueAt(1);
|
||||
},
|
||||
|
||||
@computed("data", "average")
|
||||
@discourseComputed("data", "average")
|
||||
sevenDaysAgoCount() {
|
||||
return this.valueAt(7);
|
||||
},
|
||||
|
||||
@computed("data", "average")
|
||||
@discourseComputed("data", "average")
|
||||
thirtyDaysAgoCount() {
|
||||
return this.valueAt(30);
|
||||
},
|
||||
|
||||
@computed("data", "average")
|
||||
@discourseComputed("data", "average")
|
||||
lastSevenDaysCount() {
|
||||
return this.averageCount(7, this.valueFor(1, 7));
|
||||
},
|
||||
|
||||
@computed("data", "average")
|
||||
@discourseComputed("data", "average")
|
||||
lastThirtyDaysCount() {
|
||||
return this.averageCount(30, this.valueFor(1, 30));
|
||||
},
|
||||
@ -117,12 +117,12 @@ const Report = Discourse.Model.extend({
|
||||
return this.average ? value / count : value;
|
||||
},
|
||||
|
||||
@computed("yesterdayCount", "higher_is_better")
|
||||
@discourseComputed("yesterdayCount", "higher_is_better")
|
||||
yesterdayTrend(yesterdayCount, higherIsBetter) {
|
||||
return this._computeTrend(this.valueAt(2), yesterdayCount, higherIsBetter);
|
||||
},
|
||||
|
||||
@computed("lastSevenDaysCount", "higher_is_better")
|
||||
@discourseComputed("lastSevenDaysCount", "higher_is_better")
|
||||
sevenDaysTrend(lastSevenDaysCount, higherIsBetter) {
|
||||
return this._computeTrend(
|
||||
this.valueFor(8, 14),
|
||||
@ -131,50 +131,55 @@ const Report = Discourse.Model.extend({
|
||||
);
|
||||
},
|
||||
|
||||
@computed("data")
|
||||
@discourseComputed("data")
|
||||
currentTotal(data) {
|
||||
return data.reduce((cur, pair) => cur + pair.y, 0);
|
||||
},
|
||||
|
||||
@computed("data", "currentTotal")
|
||||
@discourseComputed("data", "currentTotal")
|
||||
currentAverage(data, total) {
|
||||
return makeArray(data).length === 0
|
||||
? 0
|
||||
: parseFloat((total / parseFloat(data.length)).toFixed(1));
|
||||
},
|
||||
|
||||
@computed("trend", "higher_is_better")
|
||||
@discourseComputed("trend", "higher_is_better")
|
||||
trendIcon(trend, higherIsBetter) {
|
||||
return this._iconForTrend(trend, higherIsBetter);
|
||||
},
|
||||
|
||||
@computed("sevenDaysTrend", "higher_is_better")
|
||||
@discourseComputed("sevenDaysTrend", "higher_is_better")
|
||||
sevenDaysTrendIcon(sevenDaysTrend, higherIsBetter) {
|
||||
return this._iconForTrend(sevenDaysTrend, higherIsBetter);
|
||||
},
|
||||
|
||||
@computed("thirtyDaysTrend", "higher_is_better")
|
||||
@discourseComputed("thirtyDaysTrend", "higher_is_better")
|
||||
thirtyDaysTrendIcon(thirtyDaysTrend, higherIsBetter) {
|
||||
return this._iconForTrend(thirtyDaysTrend, higherIsBetter);
|
||||
},
|
||||
|
||||
@computed("yesterdayTrend", "higher_is_better")
|
||||
@discourseComputed("yesterdayTrend", "higher_is_better")
|
||||
yesterdayTrendIcon(yesterdayTrend, higherIsBetter) {
|
||||
return this._iconForTrend(yesterdayTrend, higherIsBetter);
|
||||
},
|
||||
|
||||
@computed("prev_period", "currentTotal", "currentAverage", "higher_is_better")
|
||||
@discourseComputed(
|
||||
"prev_period",
|
||||
"currentTotal",
|
||||
"currentAverage",
|
||||
"higher_is_better"
|
||||
)
|
||||
trend(prev, currentTotal, currentAverage, higherIsBetter) {
|
||||
const total = this.average ? currentAverage : currentTotal;
|
||||
return this._computeTrend(prev, total, higherIsBetter);
|
||||
},
|
||||
|
||||
@computed("prev30Days", "lastThirtyDaysCount", "higher_is_better")
|
||||
@discourseComputed("prev30Days", "lastThirtyDaysCount", "higher_is_better")
|
||||
thirtyDaysTrend(prev30Days, lastThirtyDaysCount, higherIsBetter) {
|
||||
return this._computeTrend(prev30Days, lastThirtyDaysCount, higherIsBetter);
|
||||
},
|
||||
|
||||
@computed("type")
|
||||
@discourseComputed("type")
|
||||
method(type) {
|
||||
if (type === "time_to_first_response") {
|
||||
return "average";
|
||||
@ -195,7 +200,7 @@ const Report = Discourse.Model.extend({
|
||||
}
|
||||
},
|
||||
|
||||
@computed("prev_period", "currentTotal", "currentAverage")
|
||||
@discourseComputed("prev_period", "currentTotal", "currentAverage")
|
||||
trendTitle(prev, currentTotal, currentAverage) {
|
||||
let current = this.average ? currentAverage : currentTotal;
|
||||
let percent = this.percentChangeString(prev, current);
|
||||
@ -228,12 +233,12 @@ const Report = Discourse.Model.extend({
|
||||
return title;
|
||||
},
|
||||
|
||||
@computed("yesterdayCount")
|
||||
@discourseComputed("yesterdayCount")
|
||||
yesterdayCountTitle(yesterdayCount) {
|
||||
return this.changeTitle(this.valueAt(2), yesterdayCount, "two days ago");
|
||||
},
|
||||
|
||||
@computed("lastSevenDaysCount")
|
||||
@discourseComputed("lastSevenDaysCount")
|
||||
sevenDaysCountTitle(lastSevenDaysCount) {
|
||||
return this.changeTitle(
|
||||
this.valueFor(8, 14),
|
||||
@ -242,7 +247,7 @@ const Report = Discourse.Model.extend({
|
||||
);
|
||||
},
|
||||
|
||||
@computed("prev30Days", "lastThirtyDaysCount")
|
||||
@discourseComputed("prev30Days", "lastThirtyDaysCount")
|
||||
thirtyDaysCountTitle(prev30Days, lastThirtyDaysCount) {
|
||||
return this.changeTitle(
|
||||
prev30Days,
|
||||
@ -251,18 +256,18 @@ const Report = Discourse.Model.extend({
|
||||
);
|
||||
},
|
||||
|
||||
@computed("data")
|
||||
@discourseComputed("data")
|
||||
sortedData(data) {
|
||||
return this.xAxisIsDate ? data.toArray().reverse() : data.toArray();
|
||||
},
|
||||
|
||||
@computed("data")
|
||||
@discourseComputed("data")
|
||||
xAxisIsDate() {
|
||||
if (!this.data[0]) return false;
|
||||
return this.data && this.data[0].x.match(/\d{4}-\d{1,2}-\d{1,2}/);
|
||||
},
|
||||
|
||||
@computed("labels")
|
||||
@discourseComputed("labels")
|
||||
computedLabels(labels) {
|
||||
return labels.map(label => {
|
||||
const type = label.type || "string";
|
||||
|
Reference in New Issue
Block a user