CC-4654: Library -> Simple search still has effects even if you are doing an advanced search
-fixed
This commit is contained in:
parent
cc40dfdf4e
commit
dfd52eedf1
|
@ -70,7 +70,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
};
|
};
|
||||||
|
|
||||||
mod.getChosenAudioFilesLength = function(){
|
mod.getChosenAudioFilesLength = function(){
|
||||||
//var files = Object.keys(chosenItems),
|
// var files = Object.keys(chosenItems),
|
||||||
var files,
|
var files,
|
||||||
$trs,
|
$trs,
|
||||||
cItem,
|
cItem,
|
||||||
|
@ -215,7 +215,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
mod.removeFromChosen = function($el) {
|
mod.removeFromChosen = function($el) {
|
||||||
var id = $el.attr("id");
|
var id = $el.attr("id");
|
||||||
|
|
||||||
//used to not keep dragged items selected.
|
// used to not keep dragged items selected.
|
||||||
if (!$el.hasClass(LIB_SELECTED_CLASS)) {
|
if (!$el.hasClass(LIB_SELECTED_CLASS)) {
|
||||||
delete chosenItems[id];
|
delete chosenItems[id];
|
||||||
}
|
}
|
||||||
|
@ -252,11 +252,11 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* selects all items which the user can currently see.
|
* selects all items which the user can currently see. (behaviour taken from
|
||||||
* (behaviour taken from gmail)
|
* gmail)
|
||||||
*
|
*
|
||||||
* by default the items are selected in reverse order
|
* by default the items are selected in reverse order so we need to reverse
|
||||||
* so we need to reverse it back
|
* it back
|
||||||
*/
|
*/
|
||||||
mod.selectCurrentPage = function() {
|
mod.selectCurrentPage = function() {
|
||||||
$.fn.reverse = [].reverse;
|
$.fn.reverse = [].reverse;
|
||||||
|
@ -276,8 +276,8 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* deselects all items that the user can currently see.
|
* deselects all items that the user can currently see. (behaviour taken
|
||||||
* (behaviour taken from gmail)
|
* from gmail)
|
||||||
*/
|
*/
|
||||||
mod.deselectCurrentPage = function() {
|
mod.deselectCurrentPage = function() {
|
||||||
var $inputs = $libTable.find("tbody input:checkbox"),
|
var $inputs = $libTable.find("tbody input:checkbox"),
|
||||||
|
@ -328,7 +328,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
temp,
|
temp,
|
||||||
aMedia = [];
|
aMedia = [];
|
||||||
|
|
||||||
//process selected files/playlists.
|
// process selected files/playlists.
|
||||||
for (item in aData) {
|
for (item in aData) {
|
||||||
temp = aData[item];
|
temp = aData[item];
|
||||||
if (temp !== null && temp.hasOwnProperty('id') ) {
|
if (temp !== null && temp.hasOwnProperty('id') ) {
|
||||||
|
@ -433,36 +433,37 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
oTable = $libTable.dataTable( {
|
oTable = $libTable.dataTable( {
|
||||||
|
|
||||||
//put hidden columns at the top to insure they can never be visible on the table through column reordering.
|
// put hidden columns at the top to insure they can never be visible
|
||||||
|
// on the table through column reordering.
|
||||||
"aoColumns": [
|
"aoColumns": [
|
||||||
/* ftype */ { "sTitle" : "" , "mDataProp" : "ftype" , "bSearchable" : false , "bVisible" : false } ,
|
/* ftype */ { "sTitle" : "" , "mDataProp" : "ftype" , "bSearchable" : false , "bVisible" : false } ,
|
||||||
/* Checkbox */ { "sTitle" : "" , "mDataProp" : "checkbox" , "bSortable" : false , "bSearchable" : false , "sWidth" : "25px" , "sClass" : "library_checkbox" } ,
|
/* Checkbox */ { "sTitle" : "" , "mDataProp" : "checkbox" , "bSortable" : false , "bSearchable" : false , "sWidth" : "25px" , "sClass" : "library_checkbox" } ,
|
||||||
/* Type */ { "sTitle" : "" , "mDataProp" : "image" , "bSearchable" : false , "sWidth" : "25px" , "sClass" : "library_type" , "iDataSort" : 0 } ,
|
/* Type */ { "sTitle" : "" , "mDataProp" : "image" , "bSearchable" : false , "sWidth" : "25px" , "sClass" : "library_type" , "iDataSort" : 0 } ,
|
||||||
/* Title */ { "sTitle" : "Title" , "mDataProp" : "track_title" , "sClass" : "library_title" , "sWidth" : "170px" } ,
|
/* Title */ { "sTitle" : "Title" , "mDataProp" : "track_title" , "sClass" : "library_title" , "sWidth" : "170px" } ,
|
||||||
/* Creator */ { "sTitle" : "Creator" , "mDataProp" : "artist_name" , "sClass" : "library_creator" , "sWidth" : "160px" } ,
|
/* Creator */ { "sTitle" : "Creator" , "mDataProp" : "artist_name" , "sClass" : "library_creator" , "sWidth" : "160px" } ,
|
||||||
/* Album */ { "sTitle" : "Album" , "mDataProp" : "album_title" , "sClass" : "library_album" , "sWidth" : "150px" } ,
|
/* Album */ { "sTitle" : "Album" , "mDataProp" : "album_title" , "sClass" : "library_album" , "sWidth" : "150px" } ,
|
||||||
/* Bit Rate */ { "sTitle" : "Bit Rate" , "mDataProp" : "bit_rate" , "bVisible" : false , "sClass" : "library_bitrate" , "sWidth" : "80px" },
|
/* Bit Rate */ { "sTitle" : "Bit Rate" , "mDataProp" : "bit_rate" , "bVisible" : false , "sClass" : "library_bitrate" , "sWidth" : "80px" },
|
||||||
/* BPM */ { "sTitle" : "BPM" , "mDataProp" : "bpm" , "bVisible" : false , "sClass" : "library_bpm" , "sWidth" : "50px" },
|
/* BPM */ { "sTitle" : "BPM" , "mDataProp" : "bpm" , "bVisible" : false , "sClass" : "library_bpm" , "sWidth" : "50px" },
|
||||||
/* Composer */ { "sTitle" : "Composer" , "mDataProp" : "composer" , "bVisible" : false , "sClass" : "library_composer" , "sWidth" : "150px" },
|
/* Composer */ { "sTitle" : "Composer" , "mDataProp" : "composer" , "bVisible" : false , "sClass" : "library_composer" , "sWidth" : "150px" },
|
||||||
/* Conductor */ { "sTitle" : "Conductor" , "mDataProp" : "conductor" , "bVisible" : false , "sClass" : "library_conductor" , "sWidth" : "125px" },
|
/* Conductor */ { "sTitle" : "Conductor" , "mDataProp" : "conductor" , "bVisible" : false , "sClass" : "library_conductor" , "sWidth" : "125px" },
|
||||||
/* Copyright */ { "sTitle" : "Copyright" , "mDataProp" : "copyright" , "bVisible" : false , "sClass" : "library_copyright" , "sWidth" : "125px" },
|
/* Copyright */ { "sTitle" : "Copyright" , "mDataProp" : "copyright" , "bVisible" : false , "sClass" : "library_copyright" , "sWidth" : "125px" },
|
||||||
/* Encoded */ { "sTitle" : "Encoded By" , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" },
|
/* Encoded */ { "sTitle" : "Encoded By" , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" },
|
||||||
/* Genre */ { "sTitle" : "Genre" , "mDataProp" : "genre" , "bVisible" : false , "sClass" : "library_genre" , "sWidth" : "100px" },
|
/* Genre */ { "sTitle" : "Genre" , "mDataProp" : "genre" , "bVisible" : false , "sClass" : "library_genre" , "sWidth" : "100px" },
|
||||||
/* ISRC Number */ { "sTitle" : "ISRC" , "mDataProp" : "isrc_number" , "bVisible" : false , "sClass" : "library_isrc" , "sWidth" : "150px" },
|
/* ISRC Number */ { "sTitle" : "ISRC" , "mDataProp" : "isrc_number" , "bVisible" : false , "sClass" : "library_isrc" , "sWidth" : "150px" },
|
||||||
/* Label */ { "sTitle" : "Label" , "mDataProp" : "label" , "bVisible" : false , "sClass" : "library_label" , "sWidth" : "125px" },
|
/* Label */ { "sTitle" : "Label" , "mDataProp" : "label" , "bVisible" : false , "sClass" : "library_label" , "sWidth" : "125px" },
|
||||||
/* Language */ { "sTitle" : "Language" , "mDataProp" : "language" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" },
|
/* Language */ { "sTitle" : "Language" , "mDataProp" : "language" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" },
|
||||||
/* Last Modified */ { "sTitle" : "Last Modified" , "mDataProp" : "mtime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" },
|
/* Last Modified */ { "sTitle" : "Last Modified" , "mDataProp" : "mtime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" },
|
||||||
/* Last Played */ { "sTitle" : "Last Played " , "mDataProp" : "lptime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" },
|
/* Last Played */ { "sTitle" : "Last Played " , "mDataProp" : "lptime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" },
|
||||||
/* Length */ { "sTitle" : "Length" , "mDataProp" : "length" , "sClass" : "library_length" , "sWidth" : "80px" } ,
|
/* Length */ { "sTitle" : "Length" , "mDataProp" : "length" , "sClass" : "library_length" , "sWidth" : "80px" } ,
|
||||||
/* Mime */ { "sTitle" : "Mime" , "mDataProp" : "mime" , "bVisible" : false , "sClass" : "library_mime" , "sWidth" : "80px" },
|
/* Mime */ { "sTitle" : "Mime" , "mDataProp" : "mime" , "bVisible" : false , "sClass" : "library_mime" , "sWidth" : "80px" },
|
||||||
/* Mood */ { "sTitle" : "Mood" , "mDataProp" : "mood" , "bVisible" : false , "sClass" : "library_mood" , "sWidth" : "70px" },
|
/* Mood */ { "sTitle" : "Mood" , "mDataProp" : "mood" , "bVisible" : false , "sClass" : "library_mood" , "sWidth" : "70px" },
|
||||||
/* Owner */ { "sTitle" : "Owner" , "mDataProp" : "owner_id" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" },
|
/* Owner */ { "sTitle" : "Owner" , "mDataProp" : "owner_id" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" },
|
||||||
/* Replay Gain */ { "sTitle" : "Replay Gain" , "mDataProp" : "replay_gain" , "bVisible" : false , "sClass" : "library_replay_gain" , "sWidth" : "80px" },
|
/* Replay Gain */ { "sTitle" : "Replay Gain" , "mDataProp" : "replay_gain" , "bVisible" : false , "sClass" : "library_replay_gain" , "sWidth" : "80px" },
|
||||||
/* Sample Rate */ { "sTitle" : "Sample Rate" , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" },
|
/* Sample Rate */ { "sTitle" : "Sample Rate" , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" },
|
||||||
/* Track Number */ { "sTitle" : "Track Number" , "mDataProp" : "track_number" , "bVisible" : false , "sClass" : "library_track" , "sWidth" : "65px" },
|
/* Track Number */ { "sTitle" : "Track Number" , "mDataProp" : "track_number" , "bVisible" : false , "sClass" : "library_track" , "sWidth" : "65px" },
|
||||||
/* Upload Time */ { "sTitle" : "Uploaded" , "mDataProp" : "utime" , "sClass" : "library_upload_time" , "sWidth" : "125px" } ,
|
/* Upload Time */ { "sTitle" : "Uploaded" , "mDataProp" : "utime" , "sClass" : "library_upload_time" , "sWidth" : "125px" } ,
|
||||||
/* Website */ { "sTitle" : "Website" , "mDataProp" : "info_url" , "bVisible" : false , "sClass" : "library_url" , "sWidth" : "150px" },
|
/* Website */ { "sTitle" : "Website" , "mDataProp" : "info_url" , "bVisible" : false , "sClass" : "library_url" , "sWidth" : "150px" },
|
||||||
/* Year */ { "sTitle" : "Year" , "mDataProp" : "year" , "bVisible" : false , "sClass" : "library_year" , "sWidth" : "60px" }
|
/* Year */ { "sTitle" : "Year" , "mDataProp" : "year" , "bVisible" : false , "sClass" : "library_year" , "sWidth" : "60px" }
|
||||||
],
|
],
|
||||||
|
|
||||||
"bProcessing": true,
|
"bProcessing": true,
|
||||||
|
@ -472,7 +473,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
"bStateSave": true,
|
"bStateSave": true,
|
||||||
"fnStateSaveParams": function (oSettings, oData) {
|
"fnStateSaveParams": function (oSettings, oData) {
|
||||||
//remove oData components we don't want to save.
|
// remove oData components we don't want to save.
|
||||||
delete oData.oSearch;
|
delete oData.oSearch;
|
||||||
delete oData.aoSearchCols;
|
delete oData.aoSearchCols;
|
||||||
},
|
},
|
||||||
|
@ -499,8 +500,8 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
length,
|
length,
|
||||||
a = oData.abVisCols;
|
a = oData.abVisCols;
|
||||||
|
|
||||||
//putting serialized data back into the correct js type to make
|
// putting serialized data back into the correct js type to make
|
||||||
//sure everything works properly.
|
// sure everything works properly.
|
||||||
for (i = 0, length = a.length; i < length; i++) {
|
for (i = 0, length = a.length; i < length; i++) {
|
||||||
if (typeof(a[i]) === "string") {
|
if (typeof(a[i]) === "string") {
|
||||||
a[i] = (a[i] === "true") ? true : false;
|
a[i] = (a[i] === "true") ? true : false;
|
||||||
|
@ -524,11 +525,12 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
"sAjaxDataProp": "files",
|
"sAjaxDataProp": "files",
|
||||||
|
|
||||||
"fnServerData": function ( sSource, aoData, fnCallback ) {
|
"fnServerData": function ( sSource, aoData, fnCallback ) {
|
||||||
/* The real validation check is done in dataTables.columnFilter.js
|
/*
|
||||||
* We also need to check it here because datatable is redrawn everytime
|
* The real validation check is done in
|
||||||
* an action is performed in the Library page.
|
* dataTables.columnFilter.js We also need to check it here
|
||||||
* In order for datatable to redraw the advanced search fields
|
* because datatable is redrawn everytime an action is performed
|
||||||
* MUST all be valid.
|
* in the Library page. In order for datatable to redraw the
|
||||||
|
* advanced search fields MUST all be valid.
|
||||||
*/
|
*/
|
||||||
var advSearchFields = $("div#advanced_search").children(':visible');
|
var advSearchFields = $("div#advanced_search").children(':visible');
|
||||||
var advSearchValid = validateAdvancedSearch(advSearchFields);
|
var advSearchValid = validateAdvancedSearch(advSearchFields);
|
||||||
|
@ -536,7 +538,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
aoData.push( { name: "format", value: "json"} );
|
aoData.push( { name: "format", value: "json"} );
|
||||||
aoData.push( { name: "advSearch", value: advSearchValid} );
|
aoData.push( { name: "advSearch", value: advSearchValid} );
|
||||||
|
|
||||||
//push whether to search files/playlists or all.
|
// push whether to search files/playlists or all.
|
||||||
type = $("#library_display_type").find("select").val();
|
type = $("#library_display_type").find("select").val();
|
||||||
type = (type === undefined) ? 0 : type;
|
type = (type === undefined) ? 0 : type;
|
||||||
aoData.push( { name: "type", value: type} );
|
aoData.push( { name: "type", value: type} );
|
||||||
|
@ -552,30 +554,37 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
"fnRowCallback": AIRTIME.library.fnRowCallback,
|
"fnRowCallback": AIRTIME.library.fnRowCallback,
|
||||||
"fnCreatedRow": function( nRow, aData, iDataIndex ) {
|
"fnCreatedRow": function( nRow, aData, iDataIndex ) {
|
||||||
|
|
||||||
//add the play function to the library_type td
|
// add the play function to the library_type td
|
||||||
$(nRow).find('td.library_type').click(function(){
|
$(nRow).find('td.library_type').click(function(){
|
||||||
if (aData.ftype === 'playlist' && aData.length !== '0.0'){
|
if (aData.ftype === 'playlist' && aData.length !== '0.0'){
|
||||||
playlistIndex = $(this).parent().attr('id').substring(3); //remove the pl_
|
playlistIndex = $(this).parent().attr('id').substring(3); // remove
|
||||||
|
// the
|
||||||
|
// pl_
|
||||||
open_playlist_preview(playlistIndex, 0);
|
open_playlist_preview(playlistIndex, 0);
|
||||||
} else if (aData.ftype === 'audioclip') {
|
} else if (aData.ftype === 'audioclip') {
|
||||||
open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name);
|
open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name);
|
||||||
} else if (aData.ftype == 'stream') {
|
} else if (aData.ftype == 'stream') {
|
||||||
open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name);
|
open_audio_preview(aData.ftype, aData.audioFile, aData.track_title, aData.artist_name);
|
||||||
} else if (aData.ftype == 'block' && aData.bl_type == 'static') {
|
} else if (aData.ftype == 'block' && aData.bl_type == 'static') {
|
||||||
blockIndex = $(this).parent().attr('id').substring(3); //remove the bl_
|
blockIndex = $(this).parent().attr('id').substring(3); // remove
|
||||||
|
// the
|
||||||
|
// bl_
|
||||||
open_block_preview(blockIndex, 0);
|
open_block_preview(blockIndex, 0);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
alreadyclicked=false;
|
alreadyclicked=false;
|
||||||
//call the context menu so we can prevent the event from propagating.
|
// call the context menu so we can prevent the event from
|
||||||
|
// propagating.
|
||||||
$(nRow).find('td:not(.library_checkbox, .library_type)').click(function(e){
|
$(nRow).find('td:not(.library_checkbox, .library_type)').click(function(e){
|
||||||
var el=$(this);
|
var el=$(this);
|
||||||
if (alreadyclicked)
|
if (alreadyclicked)
|
||||||
{
|
{
|
||||||
alreadyclicked=false; // reset
|
alreadyclicked=false; // reset
|
||||||
clearTimeout(alreadyclickedTimeout); // prevent this from happening
|
clearTimeout(alreadyclickedTimeout); // prevent this
|
||||||
|
// from
|
||||||
|
// happening
|
||||||
// do what needs to happen on double click.
|
// do what needs to happen on double click.
|
||||||
|
|
||||||
$tr = $(el).parent();
|
$tr = $(el).parent();
|
||||||
|
@ -587,8 +596,8 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
alreadyclicked=true;
|
alreadyclicked=true;
|
||||||
alreadyclickedTimeout=setTimeout(function(){
|
alreadyclickedTimeout=setTimeout(function(){
|
||||||
alreadyclicked=false; // reset when it happens
|
alreadyclicked=false; // reset when it happens
|
||||||
// do what needs to happen on single click.
|
// do what needs to happen on single click.
|
||||||
// use el instead of $(this) because $(this) is
|
// use el instead of $(this) because $(this) is
|
||||||
// no longer the element
|
// no longer the element
|
||||||
el.contextMenu({x: e.pageX, y: e.pageY});
|
el.contextMenu({x: e.pageX, y: e.pageY});
|
||||||
},300); // <-- dblclick tolerance here
|
},300); // <-- dblclick tolerance here
|
||||||
|
@ -596,7 +605,8 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
//add a tool tip to appear when the user clicks on the type icon.
|
// add a tool tip to appear when the user clicks on the type
|
||||||
|
// icon.
|
||||||
$(nRow).find("td:not(.library_checkbox, .library_type)").qtip({
|
$(nRow).find("td:not(.library_checkbox, .library_type)").qtip({
|
||||||
content: {
|
content: {
|
||||||
text: "Loading...",
|
text: "Loading...",
|
||||||
|
@ -620,7 +630,8 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
},
|
},
|
||||||
my: 'left center',
|
my: 'left center',
|
||||||
at: 'right center',
|
at: 'right center',
|
||||||
viewport: $(window), // Keep the tooltip on-screen at all times
|
viewport: $(window), // Keep the tooltip on-screen at
|
||||||
|
// all times
|
||||||
effect: false // Disable positioning animation
|
effect: false // Disable positioning animation
|
||||||
},
|
},
|
||||||
style: {
|
style: {
|
||||||
|
@ -638,10 +649,11 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
hide: {event:'mouseout', delay: 50, fixed:true}
|
hide: {event:'mouseout', delay: 50, fixed:true}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
//remove any selected nodes before the draw.
|
// remove any selected nodes before the draw.
|
||||||
"fnPreDrawCallback": function( oSettings ) {
|
"fnPreDrawCallback": function( oSettings ) {
|
||||||
|
|
||||||
//make sure any dragging helpers are removed or else they'll be stranded on the screen.
|
// make sure any dragging helpers are removed or else they'll be
|
||||||
|
// stranded on the screen.
|
||||||
$("#draggingContainer").remove();
|
$("#draggingContainer").remove();
|
||||||
},
|
},
|
||||||
"fnDrawCallback": AIRTIME.library.fnDrawCallback,
|
"fnDrawCallback": AIRTIME.library.fnDrawCallback,
|
||||||
|
@ -673,18 +685,33 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
setColumnFilter(oTable);
|
setColumnFilter(oTable);
|
||||||
oTable.fnSetFilteringDelay(350);
|
oTable.fnSetFilteringDelay(350);
|
||||||
|
|
||||||
|
var simpleSearchText;
|
||||||
|
|
||||||
$libContent.on("click", "legend", function(){
|
$libContent.on("click", "legend", function(){
|
||||||
$simpleSearch = $libContent.find("#library_display_filter label");
|
$simpleSearch = $libContent.find("#library_display_filter label");
|
||||||
var $fs = $(this).parents("fieldset");
|
var $fs = $(this).parents("fieldset");
|
||||||
|
|
||||||
if ($fs.hasClass("closed")) {
|
if ($fs.hasClass("closed")) {
|
||||||
$fs.removeClass("closed");
|
$fs.removeClass("closed");
|
||||||
|
|
||||||
|
//keep value of simple search for when user switches back to it
|
||||||
|
simpleSearchText = $simpleSearch.find('input').val();
|
||||||
|
|
||||||
|
// clear the simple search text field and reset datatable
|
||||||
|
$(".dataTables_filter input").val("").keyup();
|
||||||
|
|
||||||
$simpleSearch.addClass("sp-invisible");
|
$simpleSearch.addClass("sp-invisible");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$fs.addClass("closed");
|
//clear the advanced search fields and reset datatable
|
||||||
|
$(".filter_column input").val("").keyup();
|
||||||
|
|
||||||
|
//reset datatable with previous simple search results (if any)
|
||||||
|
$(".dataTables_filter input").val(simpleSearchText).keyup();
|
||||||
|
|
||||||
$simpleSearch.removeClass("sp-invisible");
|
$simpleSearch.removeClass("sp-invisible");
|
||||||
|
$fs.addClass("closed");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -737,7 +764,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
addQtipToSCIcons();
|
addQtipToSCIcons();
|
||||||
|
|
||||||
//begin context menu initialization.
|
// begin context menu initialization.
|
||||||
$.contextMenu({
|
$.contextMenu({
|
||||||
selector: '#library_display td:not(.library_checkbox)',
|
selector: '#library_display td:not(.library_checkbox)',
|
||||||
trigger: "left",
|
trigger: "left",
|
||||||
|
@ -752,7 +779,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
function processMenuItems(oItems) {
|
function processMenuItems(oItems) {
|
||||||
|
|
||||||
//define an add to playlist callback.
|
// define an add to playlist callback.
|
||||||
if (oItems.pl_add !== undefined) {
|
if (oItems.pl_add !== undefined) {
|
||||||
var aItems = [];
|
var aItems = [];
|
||||||
|
|
||||||
|
@ -764,7 +791,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
oItems.pl_add.callback = callback;
|
oItems.pl_add.callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
//define an edit callback.
|
// define an edit callback.
|
||||||
if (oItems.edit !== undefined) {
|
if (oItems.edit !== undefined) {
|
||||||
|
|
||||||
if (data.ftype === "audioclip") {
|
if (data.ftype === "audioclip") {
|
||||||
|
@ -788,7 +815,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
oItems.edit.callback = callback;
|
oItems.edit.callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
//define a play callback.
|
// define a play callback.
|
||||||
if (oItems.play !== undefined) {
|
if (oItems.play !== undefined) {
|
||||||
|
|
||||||
if (oItems.play.mime !== undefined) {
|
if (oItems.play.mime !== undefined) {
|
||||||
|
@ -799,23 +826,28 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
|
|
||||||
callback = function() {
|
callback = function() {
|
||||||
if (data.ftype === 'playlist' && data.length !== '0.0'){
|
if (data.ftype === 'playlist' && data.length !== '0.0'){
|
||||||
playlistIndex = $(this).parent().attr('id').substring(3); //remove the pl_
|
playlistIndex = $(this).parent().attr('id').substring(3); // remove
|
||||||
|
// the
|
||||||
|
// pl_
|
||||||
open_playlist_preview(playlistIndex, 0);
|
open_playlist_preview(playlistIndex, 0);
|
||||||
} else if (data.ftype === 'audioclip' || data.ftype === 'stream') {
|
} else if (data.ftype === 'audioclip' || data.ftype === 'stream') {
|
||||||
open_audio_preview(data.ftype, data.audioFile, data.track_title, data.artist_name);
|
open_audio_preview(data.ftype, data.audioFile, data.track_title, data.artist_name);
|
||||||
} else if (data.ftype === 'block') {
|
} else if (data.ftype === 'block') {
|
||||||
blockIndex = $(this).parent().attr('id').substring(3); //remove the pl_
|
blockIndex = $(this).parent().attr('id').substring(3); // remove
|
||||||
|
// the
|
||||||
|
// pl_
|
||||||
open_block_preview(blockIndex, 0);
|
open_block_preview(blockIndex, 0);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
oItems.play.callback = callback;
|
oItems.play.callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
//define a delete callback.
|
// define a delete callback.
|
||||||
if (oItems.del !== undefined) {
|
if (oItems.del !== undefined) {
|
||||||
|
|
||||||
//delete through the playlist controller, will reset
|
// delete through the playlist controller, will reset
|
||||||
//playlist screen if this is the currently edited playlist.
|
// playlist screen if this is the currently edited
|
||||||
|
// playlist.
|
||||||
if ((data.ftype === "playlist" || data.ftype === "block") && screen === "playlist") {
|
if ((data.ftype === "playlist" || data.ftype === "block") && screen === "playlist") {
|
||||||
callback = function() {
|
callback = function() {
|
||||||
aMedia = [];
|
aMedia = [];
|
||||||
|
@ -849,7 +881,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
oItems.del.callback = callback;
|
oItems.del.callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
//define a download callback.
|
// define a download callback.
|
||||||
if (oItems.download !== undefined) {
|
if (oItems.download !== undefined) {
|
||||||
|
|
||||||
callback = function() {
|
callback = function() {
|
||||||
|
@ -857,11 +889,11 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
};
|
};
|
||||||
oItems.download.callback = callback;
|
oItems.download.callback = callback;
|
||||||
}
|
}
|
||||||
//add callbacks for Soundcloud menu items.
|
// add callbacks for Soundcloud menu items.
|
||||||
if (oItems.soundcloud !== undefined) {
|
if (oItems.soundcloud !== undefined) {
|
||||||
var soundcloud = oItems.soundcloud.items;
|
var soundcloud = oItems.soundcloud.items;
|
||||||
|
|
||||||
//define an upload to soundcloud callback.
|
// define an upload to soundcloud callback.
|
||||||
if (soundcloud.upload !== undefined) {
|
if (soundcloud.upload !== undefined) {
|
||||||
|
|
||||||
callback = function() {
|
callback = function() {
|
||||||
|
@ -872,7 +904,7 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
soundcloud.upload.callback = callback;
|
soundcloud.upload.callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
//define a view on soundcloud callback
|
// define a view on soundcloud callback
|
||||||
if (soundcloud.view !== undefined) {
|
if (soundcloud.view !== undefined) {
|
||||||
|
|
||||||
callback = function() {
|
callback = function() {
|
||||||
|
@ -988,7 +1020,8 @@ function addQtipToSCIcons(){
|
||||||
viewport: $(window)
|
viewport: $(window)
|
||||||
},
|
},
|
||||||
show: {
|
show: {
|
||||||
ready: true // Needed to make it show on first mouseover event
|
ready: true // Needed to make it show on first mouseover
|
||||||
|
// event
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1015,7 +1048,8 @@ function addQtipToSCIcons(){
|
||||||
viewport: $(window)
|
viewport: $(window)
|
||||||
},
|
},
|
||||||
show: {
|
show: {
|
||||||
ready: true // Needed to make it show on first mouseover event
|
ready: true // Needed to make it show on first mouseover
|
||||||
|
// event
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}else if($(this).hasClass("sc-error")){
|
}else if($(this).hasClass("sc-error")){
|
||||||
|
@ -1042,7 +1076,8 @@ function addQtipToSCIcons(){
|
||||||
viewport: $(window)
|
viewport: $(window)
|
||||||
},
|
},
|
||||||
show: {
|
show: {
|
||||||
ready: true // Needed to make it show on first mouseover event
|
ready: true // Needed to make it show on first mouseover
|
||||||
|
// event
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1096,7 +1131,7 @@ function validateAdvancedSearch(divs) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//string fields do not need validation
|
// string fields do not need validation
|
||||||
if (searchTermType !== "s") {
|
if (searchTermType !== "s") {
|
||||||
valid = regExpr.test(searchTerm[i]);
|
valid = regExpr.test(searchTerm[i]);
|
||||||
if (!valid) allValid = false;
|
if (!valid) allValid = false;
|
||||||
|
@ -1104,11 +1139,11 @@ function validateAdvancedSearch(divs) {
|
||||||
|
|
||||||
addRemoveValidationIcons(valid, $(field), searchTermType);
|
addRemoveValidationIcons(valid, $(field), searchTermType);
|
||||||
|
|
||||||
/* Empty fields should not have valid/invalid indicator
|
/*
|
||||||
* Range values are considered valid even if only the
|
* Empty fields should not have valid/invalid indicator Range values
|
||||||
* 'From' value is provided. Therefore, if the 'To' value
|
* are considered valid even if only the 'From' value is provided.
|
||||||
* is empty but the 'From' value is not empty we need to
|
* Therefore, if the 'To' value is empty but the 'From' value is not
|
||||||
* keep the validation icon on screen.
|
* empty we need to keep the validation icon on screen.
|
||||||
*/
|
*/
|
||||||
} else if (searchTerm[0] === "" && searchTerm[1] !== "" ||
|
} else if (searchTerm[0] === "" && searchTerm[1] !== "" ||
|
||||||
searchTerm[0] === "" && searchTerm[1] === ""){
|
searchTerm[0] === "" && searchTerm[1] === ""){
|
||||||
|
@ -1144,7 +1179,7 @@ function addRemoveValidationIcons(valid, field, searchTermType) {
|
||||||
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (!field.closest('div').children(':last-child').hasClass('checked-icon')) {
|
if (!field.closest('div').children(':last-child').hasClass('checked-icon')) {
|
||||||
//remove invalid icon before adding valid icon
|
// remove invalid icon before adding valid icon
|
||||||
if (field.closest('div').children(':last-child').hasClass('not-available-icon')) {
|
if (field.closest('div').children(':last-child').hasClass('not-available-icon')) {
|
||||||
field.closest('div').children(':last-child').remove();
|
field.closest('div').children(':last-child').remove();
|
||||||
}
|
}
|
||||||
|
@ -1152,7 +1187,7 @@ function addRemoveValidationIcons(valid, field, searchTermType) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!field.closest('div').children(':last-child').hasClass('not-available-icon')) {
|
if (!field.closest('div').children(':last-child').hasClass('not-available-icon')) {
|
||||||
//remove valid icon before adding invalid icon
|
// remove valid icon before adding invalid icon
|
||||||
if (field.closest('div').children(':last-child').hasClass('checked-icon')) {
|
if (field.closest('div').children(':last-child').hasClass('checked-icon')) {
|
||||||
field.closest('div').children(':last-child').remove();
|
field.closest('div').children(':last-child').remove();
|
||||||
}
|
}
|
||||||
|
@ -1161,12 +1196,9 @@ function addRemoveValidationIcons(valid, field, searchTermType) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Validation types:
|
/*
|
||||||
* s => string
|
* Validation types: s => string i => integer n => numeric (positive/negative,
|
||||||
* i => integer
|
* whole/decimals) t => timestamp l => length
|
||||||
* n => numeric (positive/negative, whole/decimals)
|
|
||||||
* t => timestamp
|
|
||||||
* l => length
|
|
||||||
*/
|
*/
|
||||||
var validationTypes = {
|
var validationTypes = {
|
||||||
"album_title" : "s",
|
"album_title" : "s",
|
||||||
|
|
Loading…
Reference in New Issue