mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-11 21:53:37 +00:00
Merge branch 'feature/AddFailBubbleLinks' into develop
This commit is contained in:
commit
5565a2bfae
8 changed files with 118 additions and 82 deletions
|
@ -1,6 +1,7 @@
|
||||||
### 0.17.0 (2018-xx-xx xx:xx:xx UTC)
|
### 0.17.0 (2018-xx-xx xx:xx:xx UTC)
|
||||||
|
|
||||||
* Add TVDB, TheXem, and GitHub buttons to page History/Layout "Provider fails" that fetches a site Up/Down report
|
* Add TVDB, TheXem, and GitHub buttons to page History/Layout "Provider fails" that fetches a site Up/Down report
|
||||||
|
* Add bubble links to History/Provider fails when more than one provider has failures
|
||||||
* Add "Keep up to x most recent downloads" to Edit Show/Other
|
* Add "Keep up to x most recent downloads" to Edit Show/Other
|
||||||
* Add "Keep up to x most recent downloads" to Manage/Bulk Change/Edit
|
* Add "Keep up to x most recent downloads" to Manage/Bulk Change/Edit
|
||||||
* Change append number of downloads to keep to the number of file(s) at Display Show
|
* Change append number of downloads to keep to the number of file(s) at Display Show
|
||||||
|
|
|
@ -70,10 +70,12 @@ pre .prelight-num{
|
||||||
border-color:#222
|
border-color:#222
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.component-group.bubblelist a,
|
||||||
.ui-widget-content a{
|
.ui-widget-content a{
|
||||||
color:#2d8fbf
|
color:#2d8fbf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.component-group.bubblelist a:hover,
|
||||||
.ui-widget-content a:hover{
|
.ui-widget-content a:hover{
|
||||||
color:#09a2ff
|
color:#09a2ff
|
||||||
}
|
}
|
||||||
|
@ -990,7 +992,7 @@ fieldset[disabled] .navbar-default .btn-link:focus{
|
||||||
color:#ddd
|
color:#ddd
|
||||||
}
|
}
|
||||||
|
|
||||||
.component-group.typelist .bgcol,
|
.component-group.bubblelist .bgcol,
|
||||||
.dropdown-menu{
|
.dropdown-menu{
|
||||||
background-color:#333;
|
background-color:#333;
|
||||||
border:1px solid rgba(0, 0, 0, 0.15);
|
border:1px solid rgba(0, 0, 0, 0.15);
|
||||||
|
|
|
@ -65,10 +65,12 @@ pre .prelight-num{
|
||||||
border-color:#fff
|
border-color:#fff
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.component-group.bubblelist a,
|
||||||
.ui-widget-content a{
|
.ui-widget-content a{
|
||||||
color:rgb(42, 100, 150)
|
color:rgb(42, 100, 150)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.component-group.bubblelist a:hover,
|
||||||
.ui-widget-content a:hover{
|
.ui-widget-content a:hover{
|
||||||
color:#09a2ff
|
color:#09a2ff
|
||||||
}
|
}
|
||||||
|
@ -963,7 +965,7 @@ fieldset[disabled] .navbar-default .btn-link:focus{
|
||||||
background-color:#333
|
background-color:#333
|
||||||
}
|
}
|
||||||
|
|
||||||
.component-group.typelist .bgcol,
|
.component-group.bubblelist .bgcol,
|
||||||
.dropdown-menu{
|
.dropdown-menu{
|
||||||
background-color:#f5f1e4;
|
background-color:#f5f1e4;
|
||||||
border:1px solid rgba(0, 0, 0, 0.15);
|
border:1px solid rgba(0, 0, 0, 0.15);
|
||||||
|
|
|
@ -236,6 +236,7 @@ inc_top.tmpl
|
||||||
border:1px solid
|
border:1px solid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.component-group.bubblelist a,
|
||||||
.ui-widget-content a{
|
.ui-widget-content a{
|
||||||
text-decoration:none
|
text-decoration:none
|
||||||
}
|
}
|
||||||
|
@ -3802,6 +3803,18 @@ fieldset[disabled] .navbar-default .btn-link:focus{
|
||||||
color:#ccc
|
color:#ccc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.component-group.bubble.last{padding:0;margin:0;border-bottom:none}
|
||||||
|
.component-group.bubblelist{min-height:30px}
|
||||||
|
.component-group.bubblelist .type{padding:6px}
|
||||||
|
.component-group.bubblelist .item{display:inline-block}
|
||||||
|
.component-group.bubblelist .item img{margin-right:4px}
|
||||||
|
.component-group.bubblelist .item.text{font-size:12px; padding-right:3px}
|
||||||
|
.component-group.bubblelist .item a{font-size:16px;padding-right:20px}
|
||||||
|
.component-group.bubblelist .item.text,
|
||||||
|
.component-group.bubblelist .item a{line-height:16px;vertical-align:middle}
|
||||||
|
.component-group.bubblelist .item a img{vertical-align:bottom;opacity:0.65;filter:alpha(opacity=65)}
|
||||||
|
.component-group.bubblelist .item a:hover img{opacity:1;filter:alpha(opacity=1)}
|
||||||
|
|
||||||
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus{
|
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus{
|
||||||
color:#262626;
|
color:#262626;
|
||||||
text-decoration:none;
|
text-decoration:none;
|
||||||
|
|
|
@ -23,17 +23,6 @@
|
||||||
<h1 class="title">$title</h1>
|
<h1 class="title">$title</h1>
|
||||||
#end if
|
#end if
|
||||||
|
|
||||||
<style>
|
|
||||||
.component-group.typelist{min-height:30px}
|
|
||||||
.component-group.typelist .type{padding:6px}
|
|
||||||
.component-group.typelist .item{display:inline-block}
|
|
||||||
.component-group.typelist .item img{margin-right:4px}
|
|
||||||
.component-group.typelist .item.text{font-size:12px; padding-right:3px}
|
|
||||||
.component-group.typelist .item a{font-size:16px;padding-right:20px}
|
|
||||||
.component-group.typelist .item.text,
|
|
||||||
.component-group.typelist .item a{line-height:16px;vertical-align:middle}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<img src="$sbRoot/images/loading16#echo ('', '-dark')['dark' == $sickbeard.THEME_NAME]#.gif" height="16" width="16" style="display:none">
|
<img src="$sbRoot/images/loading16#echo ('', '-dark')['dark' == $sickbeard.THEME_NAME]#.gif" height="16" width="16" style="display:none">
|
||||||
<div id="config">
|
<div id="config">
|
||||||
<div id="config-content">
|
<div id="config-content">
|
||||||
|
@ -52,17 +41,17 @@
|
||||||
|
|
||||||
|
|
||||||
<div id="tabs-1">
|
<div id="tabs-1">
|
||||||
<div class="component-group typelist">
|
<div class="component-group bubblelist">
|
||||||
<div class="type bgcol">
|
<div class="type bgcol">
|
||||||
<span class="list"><div class="item text">Bubble links:</div>
|
<span class="list"><div class="item text">Bubble links:</div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/emby.png"><a href="#emby" rel="noreferrer">Emby</a></div>
|
<div class="item"><a href="#emby" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/emby.png">Emby</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/kodi.png"><a href="#kodi" rel="noreferrer">Kodi</a></div>
|
<div class="item"><a href="#kodi" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/kodi.png">Kodi</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/plex.png"><a href="#plex" rel="noreferrer">Plex</a></div>
|
<div class="item"><a href="#plex" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/plex.png">Plex</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/nmj.png"><a href="#nmj" rel="noreferrer">NMJ</a></div>
|
<div class="item"><a href="#nmj" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/nmj.png">NMJ</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/nmj.png"><a href="#nmjv2" rel="noreferrer">NMJv2</a></div>
|
<div class="item"><a href="#nmjv2" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/nmj.png">NMJv2</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/synoindex.png"><a href="#synoindexer" rel="noreferrer">Syno Indexer</a></div>
|
<div class="item"><a href="#synoindexer" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/synoindex.png">Syno Indexer</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/synologynotifier.png"><a href="#synonotifier" rel="noreferrer">Syno Notifier</a></div>
|
<div class="item"><a href="#synonotifier" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/synologynotifier.png">Syno Notifier</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/pytivo.png"><a href="#pytivo" rel="noreferrer">pyTivo</a></div>
|
<div class="item"><a href="#pytivo" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/pytivo.png">pyTivo</a></div>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -841,18 +830,18 @@
|
||||||
|
|
||||||
|
|
||||||
<div id="tabs-2">
|
<div id="tabs-2">
|
||||||
<div class="component-group typelist">
|
<div class="component-group bubblelist">
|
||||||
<div class="type bgcol">
|
<div class="type bgcol">
|
||||||
<span class="list"><div class="item text">Bubble links:</div>
|
<span class="list"><div class="item text">Bubble links:</div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/boxcar2.png"><a href="#boxcar2" rel="noreferrer">Boxcar2</a></div>
|
<div class="item"><a href="#boxcar2" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/boxcar2.png">Boxcar2</a></div>
|
||||||
#if 'PUSHALOT' in NotifierFactory().notifiers
|
#if 'PUSHALOT' in NotifierFactory().notifiers
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/pushalot.png"><a href="#pushalot" rel="noreferrer">Pushalot</a></div>
|
<div class="item"><a href="#pushalot" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/pushalot.png">Pushalot</a></div>
|
||||||
#end if
|
#end if
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/pushbullet.png"><a href="#pushbullet" rel="noreferrer">Pushbullet</a></div>
|
<div class="item"><a href="#pushbullet" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/pushbullet.png">Pushbullet</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/pushover.png"><a href="#pushover" rel="noreferrer">Pushover</a></div>
|
<div class="item"><a href="#pushover" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/pushover.png">Pushover</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/growl.png"><a href="#growl" rel="noreferrer">Growl</a></div>
|
<div class="item"><a href="#growl" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/growl.png">Growl</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/prowl.png"><a href="#prowl" rel="noreferrer">Prowl</a></div>
|
<div class="item"><a href="#prowl" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/prowl.png">Prowl</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/libnotify.png"><a href="#libnotify" rel="noreferrer">Libnotify</a></div>
|
<div class="item"><a href="#libnotify" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/libnotify.png">Libnotify</a></div>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1437,15 +1426,15 @@
|
||||||
|
|
||||||
|
|
||||||
<div id="tabs-3">
|
<div id="tabs-3">
|
||||||
<div class="component-group typelist">
|
<div class="component-group bubblelist">
|
||||||
<div class="type bgcol">
|
<div class="type bgcol">
|
||||||
<span class="list"><div class="item text">Bubble links:</div>
|
<span class="list"><div class="item text">Bubble links:</div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/trakt.png"><a href="#trakt" rel="noreferrer">Trakt</a></div>
|
<div class="item"><a href="#trakt" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/trakt.png">Trakt</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/slack.png"><a href="#slack" rel="noreferrer">Slack</a></div>
|
<div class="item"><a href="#slack" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/slack.png">Slack</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/discordapp.png"><a href="#discordapp" rel="noreferrer">Discordapp</a></div>
|
<div class="item"><a href="#discordapp" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/discordapp.png">Discordapp</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/gitter.png"><a href="#gitter" rel="noreferrer">Gitter</a></div>
|
<div class="item"><a href="#gitter" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/gitter.png">Gitter</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/twitter.png"><a href="#twitter" rel="noreferrer">Twitter</a></div>
|
<div class="item"><a href="#twitter" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/twitter.png">Twitter</a></div>
|
||||||
<div class="item"><img height="16px" src="$sbRoot/images/notifiers/email.png"><a href="#email" rel="noreferrer">Email</a></div>
|
<div class="item"><a href="#email" rel="noreferrer"><img height="16px" src="$sbRoot/images/notifiers/email.png">Email</a></div>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -589,6 +589,7 @@
|
||||||
##
|
##
|
||||||
##
|
##
|
||||||
<div id="provider-failures">
|
<div id="provider-failures">
|
||||||
|
<div style="padding-bottom:10px">
|
||||||
#for ($check, $check_name, $check_url) in [
|
#for ($check, $check_name, $check_url) in [
|
||||||
('tvdb', 'TVDB Api', 'api.thetvdb.com'), ('thexem', 'The Xem', 'thexem.de'), ('github', 'GitHub', 'github.com'),
|
('tvdb', 'TVDB Api', 'api.thetvdb.com'), ('thexem', 'The Xem', 'thexem.de'), ('github', 'GitHub', 'github.com'),
|
||||||
]
|
]
|
||||||
|
@ -599,16 +600,38 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
#end for
|
#end for
|
||||||
|
</div>
|
||||||
|
|
||||||
#if not $provider_fails
|
#if not $provider_fails
|
||||||
<p>No current provider failures. Failure stats display here when appropriate.</p>
|
<p>No current provider failures. Failure stats display here when appropriate.</p>
|
||||||
#else
|
#else
|
||||||
<p>When a provider cannot be contacted over a period, SickGear backs off and waits an increasing interval between each retry</p>
|
<style>
|
||||||
#for $prov in $provider_fail_stats
|
.component-group{min-height:50px}
|
||||||
|
.component-group.bubblelist{padding:0;border-bottom:none}
|
||||||
|
.component-group.bubblelist .item a{font-size:14px;padding-right:14px}
|
||||||
|
</style>
|
||||||
|
#set dev = (1, 3)[False]
|
||||||
|
#if 1 < len([$prov for $prov in $provider_fail_stats * $dev if len($prov['fails'])])
|
||||||
|
<div class="component-group bubblelist" style="margin:0 0 3px">
|
||||||
|
<div class="type bgcol">
|
||||||
|
<span class="list"><div class="item text">Bubble links:</div>
|
||||||
|
#for $n, $prov in enumerate($provider_fail_stats * $dev)
|
||||||
|
#if $len($prov['fails'])
|
||||||
|
<div class="item"><a href="#$prov['prov_id']-section-$n" rel="noreferrer"><img height="16px" src="$sbRoot/images/providers/$prov['prov_img']">$prov['name']</a></div>
|
||||||
|
#end if
|
||||||
|
#end for
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
#end if
|
||||||
|
<p id="bubble-after">When a provider cannot be contacted over a period, SickGear backs off and waits an increasing interval between each retry</p>
|
||||||
|
|
||||||
|
#for $n, $prov in enumerate($provider_fail_stats * $dev)
|
||||||
#if $len($prov['fails'])
|
#if $len($prov['fails'])
|
||||||
|
|
||||||
<!-- $prov['name'] -->
|
<!-- $prov['name'] -->
|
||||||
<div>
|
<div class="component-group bubble#if $n + 1 == $len($provider_fail_stats * $dev)# last#end if#">
|
||||||
|
<div name="$prov['prov_id']-section-$n" style="text-align:left">
|
||||||
#set $prov_class = '<span %sstyle="vertical-align:middle">'
|
#set $prov_class = '<span %sstyle="vertical-align:middle">'
|
||||||
#if not $prov['active']
|
#if not $prov['active']
|
||||||
#set $prov_class = $prov_class % 'class="grey-text" '
|
#set $prov_class = $prov_class % 'class="grey-text" '
|
||||||
|
@ -674,7 +697,7 @@
|
||||||
#end for
|
#end for
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<!-- /$prov['name'] -->
|
</div><!-- /$prov['name'] -->
|
||||||
#end if
|
#end if
|
||||||
#end for
|
#end for
|
||||||
#end if
|
#end if
|
||||||
|
|
|
@ -5,13 +5,6 @@
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
var loading = '<img src="' + sbRoot + '/images/loading16' + themeSpinner + '.gif" height="16" width="16" />';
|
var loading = '<img src="' + sbRoot + '/images/loading16' + themeSpinner + '.gif" height="16" width="16" />';
|
||||||
|
|
||||||
$('.typelist').on('click', '.list .item a', function(){
|
|
||||||
$(this).closest('.component-group').after(
|
|
||||||
$('[name=' + $(this).attr('href').replace('#','') + ']').closest('.component-group')
|
|
||||||
);
|
|
||||||
return !1;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#test-growl').click(function () {
|
$('#test-growl').click(function () {
|
||||||
var growlHost = $.trim($('#growl-host').val());
|
var growlHost = $.trim($('#growl-host').val());
|
||||||
var growlPassword = $.trim($('#growl-password').val());
|
var growlPassword = $.trim($('#growl-password').val());
|
||||||
|
|
|
@ -42,4 +42,17 @@ $(document).ready(function(){
|
||||||
$('#NAV' + topmenu).addClass('active');
|
$('#NAV' + topmenu).addClass('active');
|
||||||
$('.dropdown-toggle').dropdownHover();
|
$('.dropdown-toggle').dropdownHover();
|
||||||
(/undefined/i.test(document.createElement('input').placeholder)) && $('body').addClass('no-placeholders');
|
(/undefined/i.test(document.createElement('input').placeholder)) && $('body').addClass('no-placeholders');
|
||||||
|
|
||||||
|
$('.bubblelist').on('click', '.list .item a', function(){
|
||||||
|
var bubbleAfter$ = $('#bubble-after'),
|
||||||
|
lastBubble$ = $('.bubble.last'), toBubble = $(this).attr('href').replace('#', ''),
|
||||||
|
doLast = (lastBubble$.length && toBubble === lastBubble$.find('div[name*="section"]').attr('name'));
|
||||||
|
|
||||||
|
doLast && lastBubble$.removeClass('last');
|
||||||
|
(bubbleAfter$.length && bubbleAfter$ || $(this).closest('.component-group')).after(
|
||||||
|
$('[name=' + $(this).attr('href').replace('#','') + ']').closest('.component-group')
|
||||||
|
);
|
||||||
|
doLast && $('.bubble').last().addClass('last');
|
||||||
|
return !1;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue