diff --git a/app/assets/javascripts/admin/controllers/admin-dashboard-next.js.es6 b/app/assets/javascripts/admin/controllers/admin-dashboard-next.js.es6 index 2d7fc621839..9fc8a021b64 100644 --- a/app/assets/javascripts/admin/controllers/admin-dashboard-next.js.es6 +++ b/app/assets/javascripts/admin/controllers/admin-dashboard-next.js.es6 @@ -5,12 +5,15 @@ import Report from "admin/models/report"; export default Ember.Controller.extend({ queryParams: ["period"], - period: "all", + period: "monthly", isLoading: false, dashboardFetchedAt: null, exceptionController: Ember.inject.controller("exception"), diskSpace: Ember.computed.alias("model.attributes.disk_space"), + availablePeriods: ["yearly", "quarterly", "monthly", "weekly"], + + fetchDashboard() { if (this.get("isLoading")) return; diff --git a/app/assets/javascripts/admin/templates/dashboard_next.hbs b/app/assets/javascripts/admin/templates/dashboard_next.hbs index ec9fd3b93b7..1ee2768bc0c 100644 --- a/app/assets/javascripts/admin/templates/dashboard_next.hbs +++ b/app/assets/javascripts/admin/templates/dashboard_next.hbs @@ -3,7 +3,7 @@

{{i18n "admin.dashboard.community_health"}}

- {{period-chooser period=period action="changePeriod"}} + {{period-chooser period=period action="changePeriod" content=availablePeriods fullDay=true}}
diff --git a/app/assets/javascripts/discourse/helpers/period-title.js.es6 b/app/assets/javascripts/discourse/helpers/period-title.js.es6 index 5a8315117d1..d5d398791e7 100644 --- a/app/assets/javascripts/discourse/helpers/period-title.js.es6 +++ b/app/assets/javascripts/discourse/helpers/period-title.js.es6 @@ -12,21 +12,29 @@ export default htmlHelper((period, options) => { const title = I18n.t('filters.top.' + (TITLE_SUBS[period] || 'this_week')); if (options.hash.showDateRange) { var dateString = ""; + let finish; + + if (options.hash.fullDay) { + finish = moment().utc().subtract(1, 'days'); + } else { + finish = moment(); + } + switch(period) { case 'yearly': - dateString = moment().subtract(1, 'year').format(I18n.t('dates.long_with_year_no_time')) + " - " + moment().format(I18n.t('dates.long_with_year_no_time')); + dateString = finish.clone().subtract(1, 'year').format(I18n.t('dates.long_with_year_no_time')) + " - " + finish.format(I18n.t('dates.long_with_year_no_time')); break; case 'quarterly': - dateString = moment().subtract(3, 'month').format(I18n.t('dates.long_no_year_no_time')) + " - " + moment().format(I18n.t('dates.long_no_year_no_time')); + dateString = finish.clone().subtract(3, 'month').format(I18n.t('dates.long_no_year_no_time')) + " - " + finish.format(I18n.t('dates.long_no_year_no_time')); break; case 'weekly': - dateString = moment().subtract(1, 'week').format(I18n.t('dates.long_no_year_no_time')) + " - " + moment().format(I18n.t('dates.long_no_year_no_time')); + dateString = finish.clone().subtract(1, 'week').format(I18n.t('dates.long_no_year_no_time')) + " - " + finish.format(I18n.t('dates.long_no_year_no_time')); break; case 'monthly': - dateString = moment().subtract(1, 'month').format(I18n.t('dates.long_no_year_no_time')) + " - " + moment().format(I18n.t('dates.long_no_year_no_time')); + dateString = finish.clone().subtract(1, 'month').format(I18n.t('dates.long_no_year_no_time')) + " - " + finish.format(I18n.t('dates.long_no_year_no_time')); break; case 'daily': - dateString = moment().format(I18n.t('dates.full_no_year_no_time')); + dateString = finish.clone().format(I18n.t('dates.full_no_year_no_time')); break; } diff --git a/app/assets/javascripts/select-kit/components/period-chooser.js.es6 b/app/assets/javascripts/select-kit/components/period-chooser.js.es6 index 31edf3f7d3c..847b9a4a4ad 100644 --- a/app/assets/javascripts/select-kit/components/period-chooser.js.es6 +++ b/app/assets/javascripts/select-kit/components/period-chooser.js.es6 @@ -1,5 +1,5 @@ import DropdownSelectBoxComponent from "select-kit/components/dropdown-select-box"; -import computed from "ember-addons/ember-computed-decorators"; +import computed, { on } from "ember-addons/ember-computed-decorators"; export default DropdownSelectBoxComponent.extend({ classNames: ["period-chooser"], @@ -14,6 +14,14 @@ export default DropdownSelectBoxComponent.extend({ return isExpanded ? "caret-up" : "caret-down"; }, + + @on("didReceiveAttrs") + _setFullDay() { + this.get("headerComponentOptions").setProperties({fullDay: this.get("fullDay")}); + this.get("rowComponentOptions").setProperties({fullDay: this.get("fullDay")}); + }, + + actions: { onSelect() { this.sendAction("action", this.get("computedValue")); diff --git a/app/assets/javascripts/select-kit/templates/components/period-chooser/period-chooser-header.hbs b/app/assets/javascripts/select-kit/templates/components/period-chooser/period-chooser-header.hbs index 2f0f825d003..698c054c930 100644 --- a/app/assets/javascripts/select-kit/templates/components/period-chooser/period-chooser-header.hbs +++ b/app/assets/javascripts/select-kit/templates/components/period-chooser/period-chooser-header.hbs @@ -1,5 +1,5 @@

- {{period-title value showDateRange=true}} + {{period-title value showDateRange=true fullDay=options.fullDay}}

{{d-icon caretIcon class="caret-icon"}} diff --git a/app/assets/javascripts/select-kit/templates/components/period-chooser/period-chooser-row.hbs b/app/assets/javascripts/select-kit/templates/components/period-chooser/period-chooser-row.hbs index 549bf273354..d37693289a1 100644 --- a/app/assets/javascripts/select-kit/templates/components/period-chooser/period-chooser-row.hbs +++ b/app/assets/javascripts/select-kit/templates/components/period-chooser/period-chooser-row.hbs @@ -1,5 +1,5 @@ - {{period-title value showDateRange=true}} + {{period-title value showDateRange=true fullDay=options.fullDay}}