Skip to content

Commit a2e56a6

Browse files
committed
improve
1 parent c138aeb commit a2e56a6

File tree

3 files changed

+202
-200
lines changed

3 files changed

+202
-200
lines changed

templates/repo/issue/filter_list.tmpl

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
<!-- Label -->
2+
<div class="ui {{if not .Labels}}disabled{{end}} dropdown jump item label-filter">
3+
<span class="text">
4+
{{ctx.Locale.Tr "repo.issues.filter_label"}}
5+
</span>
6+
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
7+
<div class="menu">
8+
<div class="ui icon search input">
9+
<i class="icon">{{svg "octicon-search" 16}}</i>
10+
<input type="text" placeholder="{{ctx.Locale.Tr "repo.issues.filter_label"}}">
11+
</div>
12+
<span class="info">{{ctx.Locale.Tr "repo.issues.filter_label_exclude" | Safe}}</span>
13+
<div class="divider"></div>
14+
<a class="{{if .AllLabels}}active selected {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_label_no_select"}}</a>
15+
<a class="{{if .NoLabel}}active selected {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels=0&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_label_select_no_label"}}</a>
16+
{{$previousExclusiveScope := "_no_scope"}}
17+
{{range .Labels}}
18+
{{$exclusiveScope := .ExclusiveScope}}
19+
{{if and (ne $previousExclusiveScope $exclusiveScope)}}
20+
<div class="divider"></div>
21+
{{end}}
22+
{{$previousExclusiveScope = $exclusiveScope}}
23+
<a class="item label-filter-item gt-df gt-ac" {{if .IsArchived}}data-is-archived{{end}} href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.QueryString}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}" data-label-id="{{.ID}}">{{if .IsExcluded}}{{svg "octicon-circle-slash"}}{{else if .IsSelected}}{{if $exclusiveScope}}{{svg "octicon-dot-fill"}}{{else}}{{svg "octicon-check"}}{{end}}{{end}}
24+
{{RenderLabel $.Context .}}
25+
<p class="gt-ml-auto">{{template "repo/issue/labels/label_archived" .}}</p>
26+
</a>
27+
{{end}}
28+
</div>
29+
</div>
30+
31+
{{if not .Milestone}}
32+
<!-- Milestone -->
33+
<div class="ui {{if not (or .OpenMilestones .ClosedMilestones)}}disabled{{end}} dropdown jump item">
34+
<span class="text">
35+
{{ctx.Locale.Tr "repo.issues.filter_milestone"}}
36+
</span>
37+
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
38+
<div class="menu">
39+
<div class="ui icon search input">
40+
<i class="icon">{{svg "octicon-search" 16}}</i>
41+
<input type="text" placeholder="{{ctx.Locale.Tr "repo.issues.filter_milestone"}}">
42+
</div>
43+
<div class="divider"></div>
44+
<a class="{{if not $.MilestoneID}}active selected {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone=0&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_milestone_all"}}</a>
45+
<a class="{{if $.MilestoneID}}{{if eq $.MilestoneID -1}}active selected {{end}}{{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone=-1&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_milestone_none"}}</a>
46+
{{if .OpenMilestones}}
47+
<div class="divider"></div>
48+
<div class="header">{{ctx.Locale.Tr "repo.issues.filter_milestone_open"}}</div>
49+
{{range .OpenMilestones}}
50+
<a class="{{if $.MilestoneID}}{{if eq $.MilestoneID .ID}}active selected {{end}}{{end}}item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">
51+
{{svg "octicon-milestone" 16 "mr-2"}}
52+
{{.Name}}
53+
</a>
54+
{{end}}
55+
{{end}}
56+
{{if .ClosedMilestones}}
57+
<div class="divider"></div>
58+
<div class="header">{{ctx.Locale.Tr "repo.issues.filter_milestone_closed"}}</div>
59+
{{range .ClosedMilestones}}
60+
<a class="{{if $.MilestoneID}}{{if eq $.MilestoneID .ID}}active selected {{end}}{{end}}item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">
61+
{{svg "octicon-milestone" 16 "mr-2"}}
62+
{{.Name}}
63+
</a>
64+
{{end}}
65+
{{end}}
66+
</div>
67+
</div>
68+
{{end}}
69+
70+
<!-- Project -->
71+
<div class="ui{{if not (or .OpenProjects .ClosedProjects)}} disabled{{end}} dropdown jump item">
72+
<span class="text">
73+
{{ctx.Locale.Tr "repo.issues.filter_project"}}
74+
</span>
75+
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
76+
<div class="menu">
77+
<div class="ui icon search input">
78+
<i class="icon">{{svg "octicon-search" 16}}</i>
79+
<input type="text" placeholder="{{ctx.Locale.Tr "repo.issues.filter_project"}}">
80+
</div>
81+
<a class="{{if not .ProjectID}}active selected {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_project_all"}}</a>
82+
<a class="{{if eq .ProjectID -1}}active selected {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&project=-1&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_project_none"}}</a>
83+
{{if .OpenProjects}}
84+
<div class="divider"></div>
85+
<div class="header">
86+
{{ctx.Locale.Tr "repo.issues.new.open_projects"}}
87+
</div>
88+
{{range .OpenProjects}}
89+
<a class="{{if $.ProjectID}}{{if eq $.ProjectID .ID}}active selected{{end}}{{end}} item gt-df" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{.ID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">
90+
{{svg .IconName 18 "gt-mr-3 gt-shrink-0"}}<span class="gt-ellipsis">{{.Title}}</span>
91+
</a>
92+
{{end}}
93+
{{end}}
94+
{{if .ClosedProjects}}
95+
<div class="divider"></div>
96+
<div class="header">
97+
{{ctx.Locale.Tr "repo.issues.new.closed_projects"}}
98+
</div>
99+
{{range .ClosedProjects}}
100+
<a class="{{if $.ProjectID}}{{if eq $.ProjectID .ID}}active selected{{end}}{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{.ID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">
101+
{{svg .IconName 18 "gt-mr-3"}}{{.Title}}
102+
</a>
103+
{{end}}
104+
{{end}}
105+
</div>
106+
</div>
107+
108+
<!-- Author -->
109+
<div class="ui dropdown jump item user-remote-search" data-tooltip-content="{{ctx.Locale.Tr "repo.author_search_tooltip"}}"
110+
data-search-url="{{if .Milestone}}{{$.RepoLink}}/issues/posters{{else}}{{$.Link}}/posters{{end}}"
111+
data-selected-user-id="{{$.PosterID}}"
112+
data-action-jump-url="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={user_id}"
113+
>
114+
<span class="text">
115+
{{ctx.Locale.Tr "repo.issues.filter_poster"}}
116+
</span>
117+
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
118+
<div class="menu">
119+
<div class="ui icon search input">
120+
<i class="icon">{{svg "octicon-search" 16}}</i>
121+
<input type="text" placeholder="{{ctx.Locale.Tr "repo.issues.filter_poster"}}">
122+
</div>
123+
<a class="item" data-value="0">{{ctx.Locale.Tr "repo.issues.filter_poster_no_select"}}</a>
124+
</div>
125+
</div>
126+
127+
<!-- Assignee -->
128+
<div class="ui {{if not .Assignees}}disabled{{end}} dropdown jump item">
129+
<span class="text">
130+
{{ctx.Locale.Tr "repo.issues.filter_assignee"}}
131+
</span>
132+
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
133+
<div class="menu">
134+
<div class="ui icon search input">
135+
<i class="icon">{{svg "octicon-search" 16}}</i>
136+
<input type="text" placeholder="{{ctx.Locale.Tr "repo.issues.filter_assignee"}}">
137+
</div>
138+
<a class="{{if not .AssigneeID}}active selected {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_assginee_no_select"}}</a>
139+
<a class="{{if eq .AssigneeID -1}}active selected {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee=-1&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_assginee_no_assignee"}}</a>
140+
<div class="divider"></div>
141+
{{range .Assignees}}
142+
<a class="{{if eq $.AssigneeID .ID}}active selected{{end}} item gt-df" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{.ID}}&poster={{$.PosterID}}">
143+
{{ctx.AvatarUtils.Avatar . 20}}{{template "repo/search_name" .}}
144+
</a>
145+
{{end}}
146+
</div>
147+
</div>
148+
149+
{{if .IsSigned}}
150+
<!-- Type -->
151+
<div class="ui dropdown type jump item">
152+
<span class="text">
153+
{{ctx.Locale.Tr "repo.issues.filter_type"}}
154+
</span>
155+
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
156+
<div class="menu">
157+
<a class="{{if eq .ViewType "all"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type=all&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_type.all_issues"}}</a>
158+
<a class="{{if eq .ViewType "assigned"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type=assigned&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_type.assigned_to_you"}}</a>
159+
<a class="{{if eq .ViewType "created_by"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type=created_by&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_type.created_by_you"}}</a>
160+
{{if .PageIsPullList}}
161+
<a class="{{if eq .ViewType "review_requested"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type=review_requested&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_type.review_requested"}}</a>
162+
<a class="{{if eq .ViewType "reviewed_by"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type=reviewed_by&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_type.reviewed_by_you"}}</a>
163+
{{end}}
164+
<a class="{{if eq .ViewType "mentioned"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type=mentioned&sort={{$.SortType}}&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_type.mentioning_you"}}</a>
165+
</div>
166+
</div>
167+
{{end}}
168+
169+
<!-- Sort -->
170+
<div class="list-header-sort ui small dropdown downward type jump item">
171+
<span class="text">
172+
{{ctx.Locale.Tr "repo.issues.filter_sort"}}
173+
</span>
174+
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
175+
<div class="menu">
176+
<a class="{{if or (eq .SortType "latest") (not .SortType)}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort=latest&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_sort.latest"}}</a>
177+
<a class="{{if eq .SortType "oldest"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort=oldest&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_sort.oldest"}}</a>
178+
<a class="{{if eq .SortType "recentupdate"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort=recentupdate&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_sort.recentupdate"}}</a>
179+
<a class="{{if eq .SortType "leastupdate"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort=leastupdate&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_sort.leastupdate"}}</a>
180+
<a class="{{if eq .SortType "mostcomment"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort=mostcomment&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_sort.mostcomment"}}</a>
181+
<a class="{{if eq .SortType "leastcomment"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort=leastcomment&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_sort.leastcomment"}}</a>
182+
<a class="{{if eq .SortType "nearduedate"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort=nearduedate&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_sort.nearduedate"}}</a>
183+
<a class="{{if eq .SortType "farduedate"}}active {{end}}item" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&sort=farduedate&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}&project={{$.ProjectID}}&assignee={{$.AssigneeID}}&poster={{$.PosterID}}">{{ctx.Locale.Tr "repo.issues.filter_sort.farduedate"}}</a>
184+
</div>
185+
</div>

0 commit comments

Comments
 (0)