mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-09 03:11:51 +01:00
repo watching ajax
This commit is contained in:
parent
4a6c56d2fd
commit
1a0d7c54a2
3 changed files with 50 additions and 7 deletions
|
@ -445,7 +445,7 @@ html, body {
|
|||
padding: 0;
|
||||
}
|
||||
|
||||
#gogs-repo-watching .dropdown-menu .dropdown-item:hover .dropdown-header {
|
||||
#gogs-repo-watching .dropdown-menu .dropdown-item:hover .dropdown-header, #gogs-repo-watching .dropdown-item .dropdown-header.text-primary {
|
||||
color: rgb(65, 131, 196);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
@ -678,7 +678,7 @@ html, body {
|
|||
}
|
||||
|
||||
.file-content .file-body.file-code .lines-num span {
|
||||
font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
line-height: 1.6;
|
||||
padding: 0 8px 0 10px;
|
||||
cursor: pointer;
|
||||
|
@ -783,6 +783,10 @@ html, body {
|
|||
width: 120px;
|
||||
}
|
||||
|
||||
.commit-list .author {
|
||||
min-width: 180px;
|
||||
}
|
||||
|
||||
.guide-box pre, .guide-box .input-group {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 30px;
|
||||
|
|
|
@ -181,6 +181,7 @@ function initUserSetting() {
|
|||
}
|
||||
|
||||
function initRepository() {
|
||||
// guide box script
|
||||
(function () {
|
||||
var $guide = $('.guide-box');
|
||||
if ($guide.length) {
|
||||
|
@ -197,6 +198,40 @@ function initRepository() {
|
|||
// todo copy to clipboard
|
||||
}
|
||||
})();
|
||||
|
||||
// watching script
|
||||
(function () {
|
||||
var $watch = $('#gogs-repo-watching'),
|
||||
watchLink = $watch.data("watch"),
|
||||
unwatchLink = $watch.data("unwatch");
|
||||
$watch.on('click', '.to-watch',function () {
|
||||
if ($watch.hasClass("watching")) {
|
||||
return false;
|
||||
}
|
||||
$.get(watchLink, function (json) {
|
||||
if (json.ok) {
|
||||
$watch.find('.text-primary').removeClass('text-primary');
|
||||
$watch.find('.to-watch h4').addClass('text-primary');
|
||||
$watch.find('.fa-eye-slash').removeClass('fa-eye-slash').addClass('fa-eye');
|
||||
$watch.removeClass("no-watching").addClass("watching");
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}).on('click', '.to-unwatch', function () {
|
||||
if ($watch.hasClass("no-watching")) {
|
||||
return false;
|
||||
}
|
||||
$.get(unwatchLink, function (json) {
|
||||
if (json.ok) {
|
||||
$watch.find('.text-primary').removeClass('text-primary');
|
||||
$watch.find('.to-unwatch h4').addClass('text-primary');
|
||||
$watch.find('.fa-eye').removeClass('fa-eye').addClass('fa-eye-slash');
|
||||
$watch.removeClass("watching").addClass("no-watching");
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
})();
|
||||
}
|
||||
|
||||
(function ($) {
|
||||
|
|
|
@ -13,20 +13,24 @@
|
|||
<span class="caret"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="btn-group {{if .IsRepositoryWatching}}watching{{end}}" id="gogs-repo-watching">
|
||||
<div class="btn-group {{if .IsRepositoryWatching}}watching{{else}}no-watching{{end}}" id="gogs-repo-watching" data-watch="/{{.SignedUser.Name}}/{{.Repository.Name}}/action/watch" data-unwatch="/{{.SignedUser.Name}}/{{.Repository.Name}}/action/unwatch">
|
||||
{{if .IsRepositoryWatching}}
|
||||
<button type="button" class="btn btn-default"><i class="fa fa-eye fa-lg fa-m"></i></button>
|
||||
{{else}}
|
||||
<button type="button" class="btn btn-default"><i class="fa fa-eye-slash fa-lg fa-m"></i></button>
|
||||
{{end}}
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
<span class="sr-only">Toggle Dropdown</span>
|
||||
</button>
|
||||
<div class="dropdown-menu" role="menu">
|
||||
<div class="dropdown-item text-left" data-val="not-watching">
|
||||
<h4 role="presentation" class="dropdown-header">Not Watching</h4>
|
||||
<div class="dropdown-item text-left to-unwatch">
|
||||
<h4 role="presentation" class="dropdown-header {{if not .IsRepositoryWatching}}text-primary{{end}}">Not Watching</h4>
|
||||
<p class="description">You only receive notifications for conversations in which you participate or are @mentioned.</p>
|
||||
<p class="divider"></p>
|
||||
</div>
|
||||
<div class="dropdown-item text-left" data-val="watching">
|
||||
<h4 role="presentation" class="dropdown-header">Watching</h4>
|
||||
<div class="dropdown-item text-left to-watch">
|
||||
<h4 role="presentation" class="dropdown-header {{if .IsRepositoryWatching}}text-primary{{end}}">Watching</h4>
|
||||
<p class="description">You receive notifications for all conversations in this repository.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue