You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
233 lines
7.6 KiB
233 lines
7.6 KiB
// *****************************************************************
|
|
// Plush Config code as follows, by pairofdimes (see LICENSE-CC.txt)
|
|
|
|
jQuery(document).ready(function($){
|
|
|
|
// Top Menu
|
|
var noTopMenu = $.cookie('plushNoTopMenu') ? $.cookie('plushNoTopMenu') : 0;
|
|
$('#topmenu_bar').show();
|
|
|
|
// Container width
|
|
var containerWidth = $.cookie('plushContainerWidth') ? $.cookie('plushContainerWidth') : '100%';
|
|
$('#master-width').css('width',containerWidth);
|
|
|
|
// Confirm user exits without saving changes first
|
|
if (config_pane != 'NZO') {
|
|
$(':input','form').change(function(){
|
|
window.onbeforeunload = function(){return confirmWithoutSavingPrompt;}
|
|
});
|
|
$('form').submit(function(){
|
|
window.onbeforeunload = null;
|
|
});
|
|
}
|
|
|
|
// modals
|
|
$("#help").colorbox({ inline:true, href:"#help_modal", title:$("#help").text(),
|
|
innerWidth:"375px", innerHeight:"350px", initialWidth:"375px", initialHeight:"350px", speed:0, opacity:0.7
|
|
});
|
|
$(".show_qrcode").colorbox({ photo:true, innerHeight:"300px", innerWidth:"300px", speed:0, opacity: 0.7, scrolling:false });
|
|
|
|
// jqueryui tabs/buttons
|
|
$('.juiButton').button();
|
|
$( ".tabs" ).tabs({
|
|
cookie: {
|
|
expires: 1 // store cookie for a day, without, it would be a session cookie
|
|
}
|
|
});
|
|
$(".vertical-tabs").tabs().addClass('ui-tabs-vertical ui-helper-clearfix');
|
|
$(".vertical-tabs li").removeClass('ui-corner-top').addClass('ui-corner-left');
|
|
|
|
// kludge for jqueryui tabs, using cookie option above for some reason does not select the default 1st tab
|
|
$('.tabs').each(function(index) {
|
|
if (!$(this).children('ul.ui-tabs-nav').children('li.ui-tabs-selected').length)
|
|
$(this).tabs('select',0);
|
|
});
|
|
|
|
// kludge for jqueryui tabs, clicking for an existing tab doesnt switch to it
|
|
$('#activeFeedLink').click(function(){
|
|
// tab-feed focus
|
|
$( ".tabs" ).tabs("select",1)
|
|
return false;
|
|
});
|
|
|
|
switch(config_pane) {
|
|
|
|
// not a config page, rather queued nzb file listing page
|
|
case 'NZO':
|
|
$('#nzo_reload').click(function(){ document.location.reload(); });
|
|
|
|
// operations
|
|
$('#nzo_delete').click(function(){
|
|
$('#action_key').val('Delete');
|
|
$('#bulk_operation').submit();
|
|
});
|
|
$('#nzo_top').click(function(){
|
|
$('#action_key').val('Top');
|
|
$('#bulk_operation').submit();
|
|
});
|
|
$('#nzo_up').click(function(){
|
|
$('#action_key').val('Up');
|
|
$('#bulk_operation').submit();
|
|
});
|
|
$('#nzo_down').click(function(){
|
|
$('#action_key').val('Down');
|
|
$('#bulk_operation').submit();
|
|
});
|
|
$('#nzo_bottom').click(function(){
|
|
$('#action_key').val('Bottom');
|
|
$('#bulk_operation').submit();
|
|
});
|
|
|
|
// selections
|
|
$("#nzo_select_all").click(function(){
|
|
$("INPUT[type='checkbox']").prop('checked', true).trigger('change');
|
|
});
|
|
var last1, last2;
|
|
$("#nzo_select_range").click(function(){
|
|
if (last1 && last2 && last1 < last2)
|
|
$("INPUT[type='checkbox']").slice(last1,last2).prop('checked', true).trigger('change');
|
|
else if (last1 && last2)
|
|
$("INPUT[type='checkbox']").slice(last2,last1).prop('checked', true).trigger('change');
|
|
});
|
|
$("#nzo_select_invert").click(function(){
|
|
$("INPUT[type='checkbox']").each( function() {
|
|
$(this).prop('checked', !$(this).prop('checked')).trigger('change');
|
|
});
|
|
});
|
|
$("#nzo_select_none").click(function(){
|
|
$("INPUT[type='checkbox']").prop('checked', false).trigger('change');
|
|
});
|
|
|
|
// click filenames to select
|
|
$('#config_content .nzoTable .nzf_row').click(function(event) {
|
|
$('#box-'+$(event.target).parent().attr('id')).prop('checked', !$('#box-'+$(event.target).parent().attr('id')).prop('checked')).trigger('change');
|
|
|
|
// range event interaction -- see further above
|
|
if (last1) last2 = last1;
|
|
last1 = $(event.target).parent()[0].rowIndex ? $(event.target).parent()[0].rowIndex : $(event.target).parent().parent()[0].rowIndex;
|
|
});
|
|
|
|
//
|
|
$('#config_content .nzoTable .nzf_row input').change(function(e){
|
|
if ($(e.target).prop('checked'))
|
|
$(e.target).parent().parent().addClass("nzo_highlight");
|
|
else
|
|
$(e.target).parent().parent().removeClass("nzo_highlight");
|
|
});
|
|
|
|
// set highlighted property for checked rows upon reload
|
|
$('#config_content .nzoTable .nzf_row input:checked').parent().parent().addClass("nzo_highlight");
|
|
|
|
return; // skip the rest of the config methods
|
|
break;
|
|
|
|
|
|
case 'Status':
|
|
$('#logging_level').change(function(event){
|
|
window.location = './change_loglevel?loglevel='+$(event.target).val()+'&session='+apikey;
|
|
});
|
|
break;
|
|
|
|
case 'General':
|
|
$('#apikey').click(function(){ $('#apikey').select() });
|
|
$('#generate_new_apikey').click(function(){
|
|
if (confirm($(this).attr('rel'))) {
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "../../api",
|
|
data: {mode:'config', name:'set_apikey', apikey: $('#apikey').val()},
|
|
success: function(msg){
|
|
$('#apikey,#session').val(msg);
|
|
window.location.reload();
|
|
}
|
|
});
|
|
}
|
|
});
|
|
$('#generate_new_nzbkey').click(function(){
|
|
if (confirm($(this).attr('rel'))) {
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "../../api",
|
|
data: {mode:'config', name:'set_nzbkey', apikey: $('#apikey').val()},
|
|
success: function(msg){
|
|
$('#nzbkey,#session').val(msg);
|
|
window.location.reload();
|
|
}
|
|
});
|
|
}
|
|
});
|
|
$('#sabnzbd_restart').click(function(){
|
|
return confirm($(this).attr('rel'));
|
|
});
|
|
break;
|
|
|
|
case 'Servers':
|
|
$('form .testServer').click(function(event){ // test server
|
|
$(event.target).next('span').addClass('loading');
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "../../api",
|
|
data: "mode=config&name=test_server&"+ $(event.target).parents('form:first').serialize() +"&apikey="+$('#apikey').val(),
|
|
success: function(msg){
|
|
alert(msg);
|
|
$(event.target).next('span').removeClass('loading');
|
|
}
|
|
});
|
|
});
|
|
$('form .delServer').click(function(event){ // delete server
|
|
if(confirm($(event.target).attr('rel')))
|
|
$(event.target).parents('form:first').attr('action','delServer').submit();
|
|
return false;
|
|
});
|
|
$('form .clrServer').click(function(event){ // clear server
|
|
if(confirm($(event.target).attr('rel')))
|
|
$(event.target).parents('form:first').attr('action','clrServer').submit();
|
|
return false;
|
|
});
|
|
break;
|
|
|
|
case 'Categories':
|
|
$(':button').click(function(event){ // delete category
|
|
window.location="delete/?name="+$(event.target).attr('name')+'&session='+apikey;
|
|
});
|
|
break;
|
|
|
|
case 'RSS':
|
|
|
|
$('.toggleFeedCheckbox').click(function(){ // enable/disable feed
|
|
window.onbeforeunload = null; // lose data?
|
|
this.form.action='toggle_rss_feed?session=$session';
|
|
this.form.submit();
|
|
return false;
|
|
});
|
|
$('.rssOrderSelect').change(function(){ // change filter order
|
|
window.onbeforeunload = null; // lose data?
|
|
location = this.options[this.selectedIndex].value;
|
|
});
|
|
break;
|
|
|
|
case 'Email':
|
|
$('#test_email').click(function(){
|
|
return confirm($('#test_email').attr('rel'));
|
|
});
|
|
break;
|
|
|
|
case 'Index Sites':
|
|
$('#getBookmarks').click(function(){ window.location='getBookmarks?session='+apikey; });
|
|
$('#hideBookmarks').click(function(){ window.location='hideBookmarks?session='+apikey; });
|
|
$('#showBookmarks').click(function(){ window.location='showBookmarks?session='+apikey; });
|
|
break;
|
|
|
|
case 'Sorting':
|
|
previewtv(); previewmovie(); previewdate(); // display sorting previews -- these functions are defined below
|
|
break;
|
|
|
|
};
|
|
|
|
// page's save button for those pages that use it
|
|
$('#save').click(function(){
|
|
window.onbeforeunload = null;
|
|
$('form').submit();
|
|
});
|
|
|
|
}); // end Plush code
|
|
|