Prettify number of issues (#17760)
* Prettify number of issues - Use the PrettyNumber function to add commas in large amount of issues. * Use client-side formatting * prettify on both server and client * remove unused i18n entries * handle more cases, support other int types in PrettyNumber * specify locale to avoid issues with node default locale * remove superfluos argument * introduce template helper, octicon tweaks, js refactor * Update modules/templates/helper.go * Apply some suggestions. * Add comment * Update templates/user/dashboard/issues.tmpl Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>tokarchuk/v1.17
parent
0097fbc2ac
commit
796c4eca0b
@ -1,10 +1,14 @@ |
|||||||
<div class="ui compact tiny menu"> |
<div class="ui compact tiny menu"> |
||||||
<a class="{{if not .IsShowClosed}}active{{end}} item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> |
<a class="{{if not .IsShowClosed}}active{{end}} item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> |
||||||
{{svg "octicon-issue-opened" 16 "mr-3"}} |
{{if .PageIsPullList}} |
||||||
{{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}} |
{{svg "octicon-git-pull-request" 16 "mr-3"}} |
||||||
|
{{else}} |
||||||
|
{{svg "octicon-issue-opened" 16 "mr-3"}} |
||||||
|
{{end}} |
||||||
|
{{JsPrettyNumber .IssueStats.OpenCount}} {{.i18n.Tr "repo.issues.open_title"}} |
||||||
</a> |
</a> |
||||||
<a class="{{if .IsShowClosed}}active{{end}} item" href="{{$.Link}}?q={{$.Keyword}}&type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> |
<a class="{{if .IsShowClosed}}active{{end}} item" href="{{$.Link}}?q={{$.Keyword}}&type={{.ViewType}}&sort={{$.SortType}}&state=closed&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> |
||||||
{{svg "octicon-issue-closed" 16 "mr-3"}} |
{{svg "octicon-check" 16 "mr-3"}} |
||||||
{{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}} |
{{JsPrettyNumber .IssueStats.ClosedCount}} {{.i18n.Tr "repo.issues.closed_title"}} |
||||||
</a> |
</a> |
||||||
</div> |
</div> |
||||||
|
@ -0,0 +1,14 @@ |
|||||||
|
import {prettyNumber} from '../utils.js'; |
||||||
|
|
||||||
|
const {lang} = document.documentElement; |
||||||
|
|
||||||
|
export function initFormattingReplacements() { |
||||||
|
// replace english formatted numbers with locale-specific separators
|
||||||
|
for (const el of document.getElementsByClassName('js-pretty-number')) { |
||||||
|
const num = Number(el.getAttribute('data-value')); |
||||||
|
const formatted = prettyNumber(num, lang); |
||||||
|
if (formatted && formatted !== el.textContent) { |
||||||
|
el.textContent = formatted; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue