mirror of
https://github.com/moparisthebest/SickRage
synced 2024-11-13 21:05:11 -05:00
95d7d728e0
Re-write of New Show seearch function Re-write of Existing show search helper function for determining indexer/indexerid Massive code cleanup and more bugs found and fixed Indexer code fully modualized for future proofing
220 lines
6.2 KiB
JavaScript
220 lines
6.2 KiB
JavaScript
$(document).ready(function(){
|
|
|
|
$('#sbRoot').ajaxEpSearch({'colorRow': true});
|
|
$('#sbRoot').ajaxEpRetry({'colorRow': true});
|
|
|
|
$('#sbRoot').ajaxEpSubtitlesSearch();
|
|
|
|
$('#seasonJump').change(function() {
|
|
var id = $(this).val();
|
|
if (id && id != 'jump') {
|
|
$('html,body').animate({scrollTop: $(id).offset().top},'slow');
|
|
location.hash = id;
|
|
}
|
|
$(this).val('jump');
|
|
});
|
|
|
|
$("#prevShow").click(function(){
|
|
$('#pickShow option:selected').prev('option').attr('selected', 'selected');
|
|
$("#pickShow").change();
|
|
});
|
|
|
|
$("#nextShow").click(function(){
|
|
$('#pickShow option:selected').next('option').attr('selected', 'selected');
|
|
$("#pickShow").change();
|
|
});
|
|
|
|
$('#changeStatus').click(function(){
|
|
var sbRoot = $('#sbRoot').val()
|
|
var epArr = new Array()
|
|
|
|
$('.epCheck').each(function() {
|
|
|
|
if (this.checked == true) {
|
|
epArr.push($(this).attr('id'))
|
|
}
|
|
|
|
});
|
|
|
|
if (epArr.length == 0)
|
|
return false
|
|
|
|
url = sbRoot+'/home/setStatus?show='+$('#showID').attr('value')+'&eps='+epArr.join('|')+'&status='+$('#statusSelect').attr('value')
|
|
window.location.href = url
|
|
|
|
});
|
|
|
|
$('.seasonCheck').click(function(){
|
|
var seasCheck = this;
|
|
var seasNo = $(seasCheck).attr('id');
|
|
|
|
$('.epCheck:visible').each(function(){
|
|
var epParts = $(this).attr('id').split('x')
|
|
|
|
if (epParts[0] == seasNo) {
|
|
this.checked = seasCheck.checked
|
|
}
|
|
});
|
|
});
|
|
|
|
var lastCheck = null;
|
|
$('.epCheck').click(function(event) {
|
|
|
|
if(!lastCheck || !event.shiftKey) {
|
|
lastCheck = this;
|
|
return;
|
|
}
|
|
|
|
var check = this;
|
|
var found = 0;
|
|
|
|
$('.epCheck').each(function() {
|
|
switch (found) {
|
|
case 2: return false;
|
|
case 1: this.checked = lastCheck.checked;
|
|
}
|
|
|
|
if (this == check || this == lastCheck)
|
|
found++;
|
|
});
|
|
|
|
lastClick = this;
|
|
});
|
|
|
|
// selects all visible episode checkboxes.
|
|
$('.seriesCheck').click(function(){
|
|
$('.epCheck:visible').each(function(){
|
|
this.checked = true
|
|
});
|
|
$('.seasonCheck:visible').each(function(){
|
|
this.checked = true
|
|
})
|
|
});
|
|
|
|
// clears all visible episode checkboxes and the season selectors
|
|
$('.clearAll').click(function(){
|
|
$('.epCheck:visible').each(function(){
|
|
this.checked = false
|
|
});
|
|
$('.seasonCheck:visible').each(function(){
|
|
this.checked = false
|
|
});
|
|
});
|
|
|
|
// handle the show selection dropbox
|
|
$('#pickShow').change(function(){
|
|
var sbRoot = $('#sbRoot').val()
|
|
var val = $(this).attr('value')
|
|
if (val == 0)
|
|
return
|
|
url = sbRoot+'/home/displayShow?show='+val
|
|
window.location.href = url
|
|
});
|
|
|
|
// show/hide different types of rows when the checkboxes are changed
|
|
$("#checkboxControls input").change(function(e){
|
|
var whichClass = $(this).attr('id')
|
|
$(this).showHideRows(whichClass)
|
|
|
|
$('tr.'+whichClass).each(function(i){
|
|
$(this).toggle();
|
|
});
|
|
});
|
|
|
|
// initially show/hide all the rows according to the checkboxes
|
|
$("#checkboxControls input").each(function(e){
|
|
var status = this.checked;
|
|
$("tr."+$(this).attr('id')).each(function(e){
|
|
if (status) {
|
|
$(this).show();
|
|
} else {
|
|
$(this).hide();
|
|
}
|
|
});
|
|
});
|
|
|
|
$.fn.showHideRows = function(whichClass){
|
|
|
|
var status = $('#checkboxControls > input, #'+whichClass).prop('checked')
|
|
$("tr."+whichClass).each(function(e){
|
|
if (status) {
|
|
$(this).show();
|
|
} else {
|
|
$(this).hide();
|
|
}
|
|
});
|
|
|
|
// hide season headers with no episodes under them
|
|
$('tr.seasonheader').each(function(){
|
|
var numRows = 0
|
|
var seasonNo = $(this).attr('id')
|
|
$('tr.'+seasonNo+' :visible').each(function(){
|
|
numRows++
|
|
})
|
|
if (numRows == 0) {
|
|
$(this).hide()
|
|
$('#'+seasonNo+'-cols').hide()
|
|
} else {
|
|
$(this).show()
|
|
$('#'+seasonNo+'-cols').show()
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
function setEpisodeSceneNumbering(forSeason, forEpisode, sceneSeason, sceneEpisode) {
|
|
var sbRoot = $('#sbRoot').val();
|
|
var showId = $('#showID').val();
|
|
|
|
if (sceneSeason === '') sceneSeason = null;
|
|
if (sceneEpisode === '') sceneEpisode = null;
|
|
|
|
$.getJSON(sbRoot + '/home/setEpisodeSceneNumbering',
|
|
{
|
|
'show': showId,
|
|
'forSeason': forSeason,
|
|
'forEpisode': forEpisode,
|
|
'sceneSeason': sceneSeason,
|
|
'sceneEpisode': sceneEpisode
|
|
},
|
|
function(data) {
|
|
// Set the values we get back
|
|
if (data.sceneSeason === null || data.sceneEpisode === null)
|
|
{
|
|
$('#sceneSeasonXEpisode_' + showId + '_' + forSeason +'_' + forEpisode).val('');
|
|
}
|
|
else
|
|
{
|
|
$('#sceneSeasonXEpisode_' + showId + '_' + forSeason +'_' + forEpisode).val(data.sceneSeason + 'x' + data.sceneEpisode);
|
|
}
|
|
if (!data.success)
|
|
{
|
|
if (data.errorMessage) {
|
|
alert(data.errorMessage);
|
|
} else {
|
|
alert('Update failed.');
|
|
}
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
$('.sceneSeasonXEpisode').change(function() {
|
|
// Strip non-numeric characters
|
|
$(this).val($(this).val().replace(/[^0-9xX]*/g,''));
|
|
var forSeason = $(this).attr('data-for-season');
|
|
var forEpisode = $(this).attr('data-for-episode');
|
|
var showId = $('#showID').val();
|
|
|
|
//var sceneEpisode = $('#sceneEpisode_' + showId + '_' + forSeason +'_' + forEpisode).val();
|
|
var m = $(this).val().match(/^(\d+)x(\d+)$/i);
|
|
var sceneSeason = null, sceneEpisode = null;
|
|
if (m)
|
|
{
|
|
sceneSeason = m[1];
|
|
sceneEpisode = m[2];
|
|
}
|
|
setEpisodeSceneNumbering(forSeason, forEpisode, sceneSeason, sceneEpisode);
|
|
});
|
|
});
|