Skip to content

Commit 5336dc8

Browse files
committed
ui: add more message on sidebar menus
* add title on the menus * show some message instead of hide choose bar when have nothing to choose * add simply filter for each menus * do same changes in mew_form.tmpl * remove some unusefull comments in mew_form.tmpl Signed-off-by: a1012112796 <[email protected]>
1 parent 6c27f3e commit 5336dc8

File tree

5 files changed

+127
-76
lines changed

5 files changed

+127
-76
lines changed

options/locale/locale_en-US.ini

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -827,14 +827,18 @@ issues.desc = Organize bug reports, tasks and milestones.
827827
issues.new = New Issue
828828
issues.new.title_empty = Title cannot be empty
829829
issues.new.labels = Labels
830+
issues.new.add_labels_title = Apply labels
830831
issues.new.no_label = No Label
831832
issues.new.clear_labels = Clear labels
833+
issues.new.no_items = No items
832834
issues.new.milestone = Milestone
835+
issues.new.add_milestone_title = Set milestone
833836
issues.new.no_milestone = No Milestone
834837
issues.new.clear_milestone = Clear milestone
835838
issues.new.open_milestone = Open Milestones
836839
issues.new.closed_milestone = Closed Milestones
837840
issues.new.assignees = Assignees
841+
issues.new.add_assignees_title = Assign users
838842
issues.new.clear_assignees = Clear assignees
839843
issues.new.no_assignees = No Assignees
840844
issues.no_ref = No Branch/Tag Specified

routers/repo/compare.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,8 @@ func CompareDiff(ctx *context.Context) {
432432
setTemplateIfExists(ctx, pullRequestTemplateKey, pullRequestTemplateCandidates)
433433
renderAttachmentSettings(ctx)
434434

435+
ctx.Data["IsIssueWriter"] = ctx.Repo.CanWrite(models.UnitTypePullRequests)
436+
435437
ctx.HTML(200, tplCompare)
436438
}
437439

routers/repo/issue.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,8 @@ func NewIssue(ctx *context.Context) {
487487
return
488488
}
489489

490+
ctx.Data["IsIssueWriter"] = ctx.Repo.CanWrite(models.UnitTypeIssues)
491+
490492
ctx.HTML(200, tplIssueNew)
491493
}
492494

templates/repo/issue/new_form.tmpl

Lines changed: 66 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,35 @@
3838
{{template "repo/issue/branch_selector_field" .}}
3939

4040
<input id="label_ids" name="label_ids" type="hidden" value="{{.label_ids}}">
41-
<div class="ui {{if and (not .Labels) (not .OrgLabels)}}disabled{{end}} floating jump select-label dropdown">
41+
<div class="ui {{if not .IsIssueWriter}}disabled{{end}} floating jump select-label dropdown">
4242
<span class="text">
4343
<strong>{{.i18n.Tr "repo.issues.new.labels"}}</strong>
44-
{{svg "octicon-gear" 16}}
44+
{{if .IsIssueWriter}}
45+
{{svg "octicon-gear" 16}}
46+
{{end}}
4547
</span>
4648
<div class="filter menu" data-id="#label_ids">
47-
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div>
48-
{{range .Labels}}
49-
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
50-
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
49+
<div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_labels_title"}}</div>
50+
{{if or .Labels .OrgLabels}}
51+
<div class="ui icon search input">
52+
<i class="search icon"></i>
53+
<input type="text" placeholder="...">
54+
</div>
5155
{{end}}
52-
<div class="ui divider"></div>
53-
{{range .OrgLabels}}
54-
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
55-
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
56+
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div>
57+
{{if or .Labels .OrgLabels}}
58+
{{range .Labels}}
59+
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
60+
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
61+
{{end}}
62+
63+
<div class="ui divider"></div>
64+
{{range .OrgLabels}}
65+
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
66+
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
67+
{{end}}
68+
{{else}}
69+
<div class="header" style="text-transform: none;font-size:14px;">{{.i18n.Tr "repo.issues.new.no_items"}}</div>
5670
{{end}}
5771
</div>
5872
</div>
@@ -69,31 +83,46 @@
6983
<div class="ui divider"></div>
7084

7185
<input id="milestone_id" name="milestone_id" type="hidden" value="{{.milestone_id}}">
72-
<div class="ui {{if not (or .OpenMilestones .ClosedMilestones)}}disabled{{end}} floating jump select-milestone dropdown">
86+
<div class="ui {{if not .IsIssueWriter}}disabled{{end}} floating jump select-milestone dropdown">
7387
<span class="text">
7488
<strong>{{.i18n.Tr "repo.issues.new.milestone"}}</strong>
75-
{{svg "octicon-gear" 16}}
89+
{{if .IsIssueWriter}}
90+
{{svg "octicon-gear" 16}}
91+
{{end}}
7692
</span>
7793
<div class="menu">
94+
<div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_milestone_title"}}</div>
95+
{{if or .OpenMilestones .ClosedMilestones}}
96+
<div class="ui icon search input">
97+
<i class="search icon"></i>
98+
<input type="text" placeholder="...">
99+
</div>
100+
{{end}}
78101
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div>
79-
{{if .OpenMilestones}}
80-
<div class="divider"></div>
81-
<div class="header">
82-
{{svg "octicon-milestone" 16}}
83-
{{.i18n.Tr "repo.issues.new.open_milestone"}}
102+
{{if and (not .OpenMilestones) (not .ClosedMilestones)}}
103+
<div class="header" style="text-transform: none;font-size:14px;">
104+
{{.i18n.Tr "repo.issues.new.no_items"}}
84105
</div>
85-
{{range .OpenMilestones}}
86-
<div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div>
106+
{{else}}
107+
{{if .OpenMilestones}}
108+
<div class="divider"></div>
109+
<div class="header">
110+
{{svg "octicon-milestone" 16}}
111+
{{.i18n.Tr "repo.issues.new.open_milestone"}}
112+
</div>
113+
{{range .OpenMilestones}}
114+
<div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div>
115+
{{end}}
87116
{{end}}
88-
{{end}}
89-
{{if .ClosedMilestones}}
90-
<div class="divider"></div>
91-
<div class="header">
92-
{{svg "octicon-milestone" 16}}
93-
{{.i18n.Tr "repo.issues.new.closed_milestone"}}
94-
</div>
95-
{{range .ClosedMilestones}}
96-
<a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a>
117+
{{if .ClosedMilestones}}
118+
<div class="divider"></div>
119+
<div class="header">
120+
{{svg "octicon-milestone" 16}}
121+
{{.i18n.Tr "repo.issues.new.closed_milestone"}}
122+
</div>
123+
{{range .ClosedMilestones}}
124+
<a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a>
125+
{{end}}
97126
{{end}}
98127
{{end}}
99128
</div>
@@ -110,12 +139,19 @@
110139
<div class="ui divider"></div>
111140

112141
<input id="assignee_ids" name="assignee_ids" type="hidden" value="{{.assignee_ids}}">
113-
<div class="ui {{if not .Assignees}}disabled{{end}} floating jump select-assignees dropdown">
142+
<div class="ui {{if not .IsIssueWriter}}disabled{{end}} floating jump select-assignees dropdown">
114143
<span class="text">
115144
<strong>{{.i18n.Tr "repo.issues.new.assignees"}}</strong>
116-
{{svg "octicon-gear" 16}}
145+
{{if .IsIssueWriter}}
146+
{{svg "octicon-gear" 16}}
147+
{{end}}
117148
</span>
118149
<div class="filter menu" data-id="#assignee_ids">
150+
<div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_assignees_title"}}</div>
151+
<div class="ui icon search input">
152+
<i class="search icon"></i>
153+
<input type="text" placeholder="...">
154+
</div>
119155
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignees"}}</div>
120156
{{range .Assignees}}
121157
<a class="item" href="#" data-id="{{.ID}}" data-id-selector="#assignee_{{.ID}}">
@@ -137,28 +173,6 @@
137173
</a>
138174
{{end}}
139175
</div>
140-
141-
<!-- input id="assignee_ids" name="assignee_ids" type="hidden" value="{{.assignee_id}}">
142-
<div class="ui {{if not .Assignees}}disabled{{end}} floating jump select-assignee dropdown">
143-
<span class="text">
144-
<strong>{{.i18n.Tr "repo.issues.new.assignees"}}</strong>
145-
<span class="octicon octicon-gear"></span>
146-
</span>
147-
<div class="filter menu">
148-
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignees"}}</div>
149-
{{range .Assignees}}
150-
<div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?assignee={{.ID}}" data-avatar="{{.RelAvatarLink}}"><img src="{{.RelAvatarLink}}"> {{.Name}}</div>
151-
{{end}}
152-
</div>
153-
</div>
154-
<div class="ui select-assignee list">
155-
<span class="no-select item {{if .Assignee}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_assignees"}}</span>
156-
<div class="selected">
157-
{{if .Assignee}}
158-
<a class="item" href="{{.RepoLink}}/issues?assignee={{.Assignee.ID}}"><img class="ui avatar image" src="{{.Assignee.RelAvatarLink}}"> {{.Assignee.Name}}</a>
159-
{{end}}
160-
</div>
161-
</div>-->
162176
</div>
163177
</div>
164178
</form>

templates/repo/issue/view_content/sidebar.tmpl

Lines changed: 53 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,26 @@
1010
{{end}}
1111
</span>
1212
<div class="filter menu" data-action="update" data-issue-id="{{$.Issue.ID}}" data-update-url="{{$.RepoLink}}/issues/labels">
13-
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div>
14-
{{range .Labels}}
15-
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
16-
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
13+
<div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_labels_title"}}</div>
14+
{{if or .Labels .OrgLabels}}
15+
<div class="ui icon search input">
16+
<i class="search icon"></i>
17+
<input type="text" placeholder="...">
18+
</div>
1719
{{end}}
18-
<div class="ui divider"></div>
19-
{{range .OrgLabels}}
20-
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
21-
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
20+
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div>
21+
{{if or .Labels .OrgLabels}}
22+
{{range .Labels}}
23+
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
24+
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
25+
{{end}}
26+
<div class="ui divider"></div>
27+
{{range .OrgLabels}}
28+
<a class="{{if .IsChecked}}checked{{end}} item has-emoji" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check" 16}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}
29+
{{if .Description }}<br><small class="desc">{{.Description}}</small>{{end}}</a>
30+
{{end}}
31+
{{else}}
32+
<div class="header" style="text-transform: none;font-size:14px;">{{.i18n.Tr "repo.issues.new.no_items"}}</div>
2233
{{end}}
2334
</div>
2435
</div>
@@ -47,25 +58,38 @@
4758
{{end}}
4859
</span>
4960
<div class="menu" data-action="update" data-issue-id="{{$.Issue.ID}}" data-update-url="{{$.RepoLink}}/issues/milestone">
61+
<div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_milestone_title"}}</div>
62+
{{if or .OpenMilestones .ClosedMilestones}}
63+
<div class="ui icon search input">
64+
<i class="search icon"></i>
65+
<input type="text" placeholder="...">
66+
</div>
67+
{{end}}
5068
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div>
51-
{{if .OpenMilestones}}
52-
<div class="divider"></div>
53-
<div class="header">
54-
{{svg "octicon-milestone" 16}}
55-
{{.i18n.Tr "repo.issues.new.open_milestone"}}
69+
{{if and (not .OpenMilestones) (not .ClosedMilestones)}}
70+
<div class="header" style="text-transform: none;font-size:14px;">
71+
{{.i18n.Tr "repo.issues.new.no_items"}}
5672
</div>
57-
{{range .OpenMilestones}}
58-
<div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div>
73+
{{else}}
74+
{{if .OpenMilestones}}
75+
<div class="divider"></div>
76+
<div class="header">
77+
{{svg "octicon-milestone" 16}}
78+
{{.i18n.Tr "repo.issues.new.open_milestone"}}
79+
</div>
80+
{{range .OpenMilestones}}
81+
<div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div>
82+
{{end}}
5983
{{end}}
60-
{{end}}
61-
{{if .ClosedMilestones}}
62-
<div class="divider"></div>
63-
<div class="header">
64-
{{svg "octicon-milestone" 16}}
65-
{{.i18n.Tr "repo.issues.new.closed_milestone"}}
66-
</div>
67-
{{range .ClosedMilestones}}
68-
<a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a>
84+
{{if .ClosedMilestones}}
85+
<div class="divider"></div>
86+
<div class="header">
87+
{{svg "octicon-milestone" 16}}
88+
{{.i18n.Tr "repo.issues.new.closed_milestone"}}
89+
</div>
90+
{{range .ClosedMilestones}}
91+
<a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a>
92+
{{end}}
6993
{{end}}
7094
{{end}}
7195
</div>
@@ -90,6 +114,11 @@
90114
{{end}}
91115
</span>
92116
<div class="filter menu" data-action="" data-issue-id="{{$.Issue.ID}}" data-update-url="{{$.RepoLink}}/issues/assignee">
117+
<div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_assignees_title"}}</div>
118+
<div class="ui icon search input">
119+
<i class="search icon"></i>
120+
<input type="text" placeholder="...">
121+
</div>
93122
<div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignees"}}</div>
94123
{{range .Assignees}}
95124

0 commit comments

Comments
 (0)