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;
|
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);
|
color: rgb(65, 131, 196);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
@ -783,6 +783,10 @@ html, body {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.commit-list .author {
|
||||||
|
min-width: 180px;
|
||||||
|
}
|
||||||
|
|
||||||
.guide-box pre, .guide-box .input-group {
|
.guide-box pre, .guide-box .input-group {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
|
|
|
@ -181,6 +181,7 @@ function initUserSetting() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function initRepository() {
|
function initRepository() {
|
||||||
|
// guide box script
|
||||||
(function () {
|
(function () {
|
||||||
var $guide = $('.guide-box');
|
var $guide = $('.guide-box');
|
||||||
if ($guide.length) {
|
if ($guide.length) {
|
||||||
|
@ -197,6 +198,40 @@ function initRepository() {
|
||||||
// todo copy to clipboard
|
// 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 ($) {
|
(function ($) {
|
||||||
|
|
|
@ -13,20 +13,24 @@
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</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>
|
<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">
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
<span class="sr-only">Toggle Dropdown</span>
|
<span class="sr-only">Toggle Dropdown</span>
|
||||||
</button>
|
</button>
|
||||||
<div class="dropdown-menu" role="menu">
|
<div class="dropdown-menu" role="menu">
|
||||||
<div class="dropdown-item text-left" data-val="not-watching">
|
<div class="dropdown-item text-left to-unwatch">
|
||||||
<h4 role="presentation" class="dropdown-header">Not Watching</h4>
|
<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="description">You only receive notifications for conversations in which you participate or are @mentioned.</p>
|
||||||
<p class="divider"></p>
|
<p class="divider"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="dropdown-item text-left" data-val="watching">
|
<div class="dropdown-item text-left to-watch">
|
||||||
<h4 role="presentation" class="dropdown-header">Watching</h4>
|
<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>
|
<p class="description">You receive notifications for all conversations in this repository.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue