File tree 4 files changed +37
-8
lines changed
4 files changed +37
-8
lines changed Original file line number Diff line number Diff line change @@ -132,6 +132,25 @@ func (label *Label) ForegroundColor() template.CSS {
132
132
return template .CSS ("#000" )
133
133
}
134
134
135
+ func loadLabels (labelTemplate string ) ([]string , error ) {
136
+ list , err := GetLabelTemplateFile (labelTemplate )
137
+ if err != nil {
138
+ return nil , ErrIssueLabelTemplateLoad {labelTemplate , err }
139
+ }
140
+
141
+ labels := make ([]string , len (list ))
142
+ for i := 0 ; i < len (list ); i ++ {
143
+ labels [i ] = list [i ][0 ]
144
+ }
145
+ return labels , nil
146
+ }
147
+
148
+ // LoadLabelsFormatted loads the labels' list of a template file as a string separated by comma
149
+ func LoadLabelsFormatted (labelTemplate string ) (string , error ) {
150
+ labels , err := loadLabels (labelTemplate )
151
+ return strings .Join (labels , ", " ), err
152
+ }
153
+
135
154
func initalizeLabels (e Engine , repoID int64 , labelTemplate string ) error {
136
155
list , err := GetLabelTemplateFile (labelTemplate )
137
156
if err != nil {
Original file line number Diff line number Diff line change 64
64
// Readmes contains the readme files
65
65
Readmes []string
66
66
67
- // LabelTemplates contains the label template files
68
- LabelTemplates [ ]string
67
+ // LabelTemplates contains the label template files and the list of labels for each file
68
+ LabelTemplates map [ string ]string
69
69
70
70
// ItemsPerPage maximum items per page in forks, watchers and stars of a repo
71
71
ItemsPerPage = 40
@@ -100,11 +100,21 @@ func loadRepoConfig() {
100
100
Gitignores = typeFiles [0 ]
101
101
Licenses = typeFiles [1 ]
102
102
Readmes = typeFiles [2 ]
103
- LabelTemplates = typeFiles [3 ]
103
+ LabelTemplatesFiles : = typeFiles [3 ]
104
104
sort .Strings (Gitignores )
105
105
sort .Strings (Licenses )
106
106
sort .Strings (Readmes )
107
- sort .Strings (LabelTemplates )
107
+ sort .Strings (LabelTemplatesFiles )
108
+
109
+ // Load label templates
110
+ LabelTemplates = make (map [string ]string )
111
+ for _ , templateFile := range LabelTemplatesFiles {
112
+ labels , err := LoadLabelsFormatted (templateFile )
113
+ if err != nil {
114
+ log .Error ("Failed to load labels: %v" , err )
115
+ }
116
+ LabelTemplates [templateFile ] = labels
117
+ }
108
118
109
119
// Filter out invalid names and promote preferred licenses.
110
120
sortedLicenses := make ([]string , 0 , len (Licenses ))
Original file line number Diff line number Diff line change 109
109
<div class="default text">{{.i18n.Tr "repo.issue_labels_helper"}}</div>
110
110
<div class="menu">
111
111
<div class="item" data-value="">{{.i18n.Tr "repo.issue_labels_helper"}}</div>
112
- {{range .LabelTemplates}}
113
- <div class="item" data-value="{{. }}">{{.}} </div>
112
+ {{range $template, $labels := .LabelTemplates}}
113
+ <div class="item" data-value="{{$template }}">{{$template}}<br/><i>({{$labels}})</i> </div>
114
114
{{end}}
115
115
</div>
116
116
</div>
Original file line number Diff line number Diff line change 79
79
<input type="hidden" name="template_name" value="Default">
80
80
<div class="default text">{{.i18n.Tr "repo.issues.label_templates.helper"}}</div>
81
81
<div class="menu">
82
- {{range .LabelTemplates}}
83
- <div class="item" data-value="{{. }}">{{.}} </div>
82
+ {{range $template, $labels := .LabelTemplates}}
83
+ <div class="item" data-value="{{$template }}">{{$template}}<br/><i>({{$labels}})</i> </div>
84
84
{{end}}
85
85
</div>
86
86
</div>
You can’t perform that action at this time.
0 commit comments