forked from go-gitea/gitea
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use AJAX for notifications table (go-gitea#10961)
* Use AJAX for notifications table Signed-off-by: Andrew Thornton <art27@cantab.net> * move to separate js Signed-off-by: Andrew Thornton <art27@cantab.net> * placate golangci-lint Signed-off-by: Andrew Thornton <art27@cantab.net> * Add autoupdating notification count Signed-off-by: Andrew Thornton <art27@cantab.net> * Fix wipeall Signed-off-by: Andrew Thornton <art27@cantab.net> * placate tests Signed-off-by: Andrew Thornton <art27@cantab.net> * Try hidden Signed-off-by: Andrew Thornton <art27@cantab.net> * Try hide and hidden Signed-off-by: Andrew Thornton <art27@cantab.net> * More auto-update improvements Only run checker on pages that have a count Change starting checker to 10s with a back-off to 60s if there is no change Signed-off-by: Andrew Thornton <art27@cantab.net> * string comparison! Signed-off-by: Andrew Thornton <art27@cantab.net> * as per @silverwind Signed-off-by: Andrew Thornton <art27@cantab.net> * add configurability as per @6543 Signed-off-by: Andrew Thornton <art27@cantab.net> * Add documentation as per @6543 Signed-off-by: Andrew Thornton <art27@cantab.net> * Use CSRF header not query Signed-off-by: Andrew Thornton <art27@cantab.net> * Further JS improvements Fix @Etzelia update notification table request Fix @silverwind comments Co-Authored-By: silverwind <me@silverwind.io> Signed-off-by: Andrew Thornton <art27@cantab.net> * Simplify the notification count fns Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: silverwind <me@silverwind.io>
- Loading branch information
1 parent
11a3f27
commit 00a2911
Showing
12 changed files
with
331 additions
and
140 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,119 +1,3 @@ | ||
{{template "base/head" .}} | ||
|
||
<div class="user notification"> | ||
<div class="ui container"> | ||
<h1 class="ui dividing header">{{.i18n.Tr "notification.notifications"}}</h1> | ||
|
||
<div class="ui top attached tabular menu"> | ||
<a href="{{AppSubUrl}}/notifications?q=unread" class="{{if eq .Status 1}}active{{end}} item"> | ||
{{.i18n.Tr "notification.unread"}} | ||
{{if .NotificationUnreadCount}} | ||
<div class="ui label">{{.NotificationUnreadCount}}</div> | ||
{{end}} | ||
</a> | ||
<a href="{{AppSubUrl}}/notifications?q=read" class="{{if eq .Status 2}}active{{end}} item"> | ||
{{.i18n.Tr "notification.read"}} | ||
</a> | ||
{{if and (eq .Status 1) (.NotificationUnreadCount)}} | ||
<form action="{{AppSubUrl}}/notifications/purge" method="POST" style="margin-left: auto;"> | ||
{{$.CsrfTokenHtml}} | ||
<button class="ui mini button primary" title='{{$.i18n.Tr "notification.mark_all_as_read"}}'> | ||
{{svg "octicon-checklist" 16}} | ||
</button> | ||
</form> | ||
{{end}} | ||
</div> | ||
<div class="ui bottom attached active tab segment"> | ||
{{if eq (len .Notifications) 0}} | ||
{{if eq .Status 1}} | ||
{{.i18n.Tr "notification.no_unread"}} | ||
{{else}} | ||
{{.i18n.Tr "notification.no_read"}} | ||
{{end}} | ||
{{else}} | ||
<table class="ui unstackable striped very compact small selectable table"> | ||
<tbody> | ||
{{range $notification := .Notifications}} | ||
{{$issue := $notification.Issue}} | ||
{{$repo := $notification.Repository}} | ||
{{$repoOwner := $repo.MustOwner}} | ||
|
||
<tr data-href="{{$notification.HTMLURL}}"> | ||
<td class="collapsing"> | ||
{{if eq $notification.Status 3}} | ||
<span class="blue">{{svg "octicon-pin" 16}}</span> | ||
{{else if $issue.IsPull}} | ||
{{if $issue.IsClosed}} | ||
{{if $issue.GetPullRequest.HasMerged}} | ||
<span class="purple">{{svg "octicon-git-merge" 16}}</span> | ||
{{else}} | ||
<span class="red">{{svg "octicon-git-pull-request" 16}}</span> | ||
{{end}} | ||
{{else}} | ||
<span class="green">{{svg "octicon-git-pull-request" 16}}</span> | ||
{{end}} | ||
{{else}} | ||
{{if $issue.IsClosed}} | ||
<span class="red">{{svg "octicon-issue-closed" 16}}</span> | ||
{{else}} | ||
<span class="green">{{svg "octicon-issue-opened" 16}}</span> | ||
{{end}} | ||
{{end}} | ||
</td> | ||
<td class="eleven wide"> | ||
<a class="item" href="{{$notification.HTMLURL}}"> | ||
#{{$issue.Index}} - {{$issue.Title}} | ||
</a> | ||
</td> | ||
<td> | ||
<a class="item" href="{{AppSubUrl}}/{{$repoOwner.Name}}/{{$repo.Name}}"> | ||
{{$repoOwner.Name}}/{{$repo.Name}} | ||
</a> | ||
</td> | ||
<td class="collapsing"> | ||
{{if ne $notification.Status 3}} | ||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | ||
{{$.CsrfTokenHtml}} | ||
<input type="hidden" name="notification_id" value="{{$notification.ID}}" /> | ||
<input type="hidden" name="status" value="pinned" /> | ||
<button class="ui mini button" title='{{$.i18n.Tr "notification.pin"}}'> | ||
{{svg "octicon-pin" 16}} | ||
</button> | ||
</form> | ||
{{end}} | ||
</td> | ||
<td class="collapsing"> | ||
{{if or (eq $notification.Status 1) (eq $notification.Status 3)}} | ||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | ||
{{$.CsrfTokenHtml}} | ||
<input type="hidden" name="notification_id" value="{{$notification.ID}}" /> | ||
<input type="hidden" name="status" value="read" /> | ||
<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" /> | ||
<button class="ui mini button" title='{{$.i18n.Tr "notification.mark_as_read"}}'> | ||
{{svg "octicon-check" 16}} | ||
</button> | ||
</form> | ||
{{else if eq $notification.Status 2}} | ||
<form action="{{AppSubUrl}}/notifications/status" method="POST"> | ||
{{$.CsrfTokenHtml}} | ||
<input type="hidden" name="notification_id" value="{{$notification.ID}}" /> | ||
<input type="hidden" name="status" value="unread" /> | ||
<input type="hidden" name="page" value="{{$.Page.Paginater.Current}}" /> | ||
<button class="ui mini button" title='{{$.i18n.Tr "notification.mark_as_unread"}}'> | ||
{{svg "octicon-bell" 16}} | ||
</button> | ||
</form> | ||
{{end}} | ||
</td> | ||
</tr> | ||
{{end}} | ||
</tbody> | ||
</table> | ||
{{end}} | ||
</div> | ||
|
||
{{template "base/paginate" .}} | ||
</div> | ||
</div> | ||
|
||
{{template "user/notification/notification_div" .}} | ||
{{template "base/footer" .}} |
Oops, something went wrong.