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"> |
||||
<a class="{{if not .IsShowClosed}}active{{end}} item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}&assignee={{.AssigneeID}}"> |
||||
{{if .PageIsPullList}} |
||||
{{svg "octicon-git-pull-request" 16 "mr-3"}} |
||||
{{else}} |
||||
{{svg "octicon-issue-opened" 16 "mr-3"}} |
||||
{{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}} |
||||
{{end}} |
||||
{{JsPrettyNumber .IssueStats.OpenCount}} {{.i18n.Tr "repo.issues.open_title"}} |
||||
</a> |
||||
<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"}} |
||||
{{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}} |
||||
{{svg "octicon-check" 16 "mr-3"}} |
||||
{{JsPrettyNumber .IssueStats.ClosedCount}} {{.i18n.Tr "repo.issues.closed_title"}} |
||||
</a> |
||||
</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