mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-22 10:21:36 +03:00
960536dcda
refs https://github.com/TryGhost/Team/issues/1510 - Fixes site status not loading (https://github.com/TryGhost/Team/issues/1510) for mocked data because of tasks were already pending (reloadAll now cancels them first) - Reload no longer required when switching anchor chart type - Removed paidOptionSelected (fixes bug when swiching) - Moved did-insert of anchor chart to topmost element - Renamed chartDisplay values
101 lines
5.2 KiB
Handlebars
101 lines
5.2 KiB
Handlebars
<section class="gh-dashboard5-section gh-dashboard5-anchor" {{did-insert this.loadCharts}}>
|
|
<article class="gh-dashboard5-box">
|
|
<div class="gh-dashboard5-hero {{unless this.hasPaidTiers 'is-solo'}}">
|
|
{{#unless this.hasPaidTiers}}
|
|
<Dashboard::v5::Parts::Metric
|
|
@label={{gh-pluralize this.totalMembers "Total member" without-count=true}}
|
|
@value={{format-number this.totalMembers}}
|
|
@trends={{this.hasTrends}}
|
|
@percentage={{this.totalMembersTrend}}
|
|
@large={{true}} />
|
|
{{/unless}}
|
|
|
|
<div class="gh-dashboard5-chart">
|
|
{{#if this.loading}}
|
|
<div class="gh-dashboard5-chart-loading" style={{html-safe (concat "height: " this.chartHeight "px;")}}/>
|
|
{{else}}
|
|
<div class="gh-dashboard5-chart-container">
|
|
{{#if (eq this.chartType 'bar')}}
|
|
<EmberChart
|
|
@type="bar"
|
|
@data={{this.chartData}}
|
|
@options={{this.chartOptions}}
|
|
@height={{if this.hasPaidTiers this.chartHeight this.chartHeightSmall}} />
|
|
{{else}}
|
|
<EmberChart
|
|
@type="line"
|
|
@data={{this.chartData}}
|
|
@options={{this.chartOptions}}
|
|
@height={{if this.hasPaidTiers this.chartHeight this.chartHeightSmall}} />
|
|
{{/if}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{#if this.hasPaidTiers}}
|
|
<div class="gh-dashboard5-stats{{unless this.hasPaidTiers ' is-solo'}}">
|
|
<button class="gh-dashboard5-stats-button {{if this.chartShowingTotal 'is-selected'}}" type="button" {{on "click" (fn this.changeChartDisplay "total")}}>
|
|
<Dashboard::v5::Parts::Metric
|
|
@label={{gh-pluralize this.totalMembers "Total member" without-count=true}}
|
|
@value={{format-number this.totalMembers}}
|
|
@trends={{this.hasTrends}}
|
|
@percentage={{this.totalMembersTrend}}
|
|
@large={{true}} />
|
|
</button>
|
|
<button class="gh-dashboard5-stats-button {{if this.chartShowingPaid 'is-selected'}}" type="button" {{on "click" (fn this.changeChartDisplay "paid-total")}}>
|
|
<Dashboard::v5::Parts::Metric
|
|
@label={{gh-pluralize this.paidMembers "Total paid member" without-count=true}}
|
|
@value={{format-number this.paidMembers}}
|
|
@trends={{this.hasTrends}}
|
|
@percentage={{this.paidMembersTrend}}
|
|
@large={{true}} />
|
|
</button>
|
|
<button class="gh-dashboard5-stats-button {{if this.chartShowingMrr 'is-selected'}}" type="button" {{on "click" (fn this.changeChartDisplay "mrr")}}>
|
|
<Dashboard::v5::Parts::Metric
|
|
@label="MRR"
|
|
@value="${{gh-price-amount this.currentMRR}}"
|
|
@trends={{this.hasTrends}}
|
|
@percentage={{this.mrrTrend}}
|
|
@large={{true}} />
|
|
</button>
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="gh-dashboard5-selects">
|
|
{{#if this.chartShowingPaid}}
|
|
<div class="gh-dashboard5-select">
|
|
<PowerSelect
|
|
@selected={{this.selectedPaidOption}}
|
|
@options={{this.paidOptions}}
|
|
@searchEnabled={{false}}
|
|
@onChange={{this.onPaidChange}}
|
|
@triggerComponent="gh-power-select/trigger"
|
|
@triggerClass="gh-contentfilter-menu-trigger"
|
|
@dropdownClass="gh-contentfilter-menu-dropdown"
|
|
@matchTriggerWidth={{false}}
|
|
as |option|
|
|
>
|
|
{{#if option.name}}{{option.name}}{{else}}<span class="red">Unknown option</span>{{/if}}
|
|
</PowerSelect>
|
|
</div>
|
|
{{/if}}
|
|
<div class="gh-dashboard5-select">
|
|
<PowerSelect
|
|
@selected={{this.selectedDaysOption}}
|
|
@options={{this.daysOptions}}
|
|
@searchEnabled={{false}}
|
|
@onChange={{this.onDaysChange}}
|
|
@triggerComponent="gh-power-select/trigger"
|
|
@triggerClass="gh-contentfilter-menu-trigger"
|
|
@dropdownClass="gh-contentfilter-menu-dropdown"
|
|
@matchTriggerWidth={{false}}
|
|
as |option|
|
|
>
|
|
{{#if option.name}}{{option.name}}{{else}}<span class="red">Unknown option</span>{{/if}}
|
|
</PowerSelect>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
</section>
|