diff --git a/airtime_mvc/public/js/airtime/library/spl.js b/airtime_mvc/public/js/airtime/library/spl.js index b33a16942..ff0902dc8 100644 --- a/airtime_mvc/public/js/airtime/library/spl.js +++ b/airtime_mvc/public/js/airtime/library/spl.js @@ -3,65 +3,65 @@ //-------------------------------------------------------------------------------------------------------------------------------- var AIRTIME = (function(AIRTIME){ - - if (AIRTIME.playlist === undefined) { - AIRTIME.playlist = {}; + + if (AIRTIME.playlist === undefined) { + AIRTIME.playlist = {}; } - - var mod = AIRTIME.playlist, - viewport, - $lib, - $pl, - $togglePl = $(""), - widgetHeight, - resizeTimeout, - width; - - function isTimeValid(time) { - //var regExpr = new RegExp("^\\d{2}[:]\\d{2}[:]\\d{2}([.]\\d{1,6})?$"); - var regExpr = new RegExp("^\\d{2}[:]([0-5]){1}([0-9]){1}[:]([0-5]){1}([0-9]){1}([.]\\d{1})?$"); - - return regExpr.test(time); - } - - function isFadeValid(fade) { + + var mod = AIRTIME.playlist, + viewport, + $lib, + $pl, + $togglePl = $(""), + widgetHeight, + resizeTimeout, + width; + + function isTimeValid(time) { + //var regExpr = new RegExp("^\\d{2}[:]\\d{2}[:]\\d{2}([.]\\d{1,6})?$"); + var regExpr = new RegExp("^\\d{2}[:]([0-5]){1}([0-9]){1}[:]([0-5]){1}([0-9]){1}([.]\\d{1})?$"); + + return regExpr.test(time); + } + + function isFadeValid(fade) { var regExpr = new RegExp("^\\d{1}(\\d{1})?([.]\\d{1})?$"); return regExpr.test(fade); - } - - function playlistError(json) { - alert(json.error); - openPlaylist(json); - } - - function stopAudioPreview() { - // stop any preview playing - $('#jquery_jplayer_1').jPlayer('stop'); - } - - function highlightActive(el) { + } + + function playlistError(json) { + alert(json.error); + openPlaylist(json); + } + + function stopAudioPreview() { + // stop any preview playing + $('#jquery_jplayer_1').jPlayer('stop'); + } + + function highlightActive(el) { - $(el).addClass("ui-state-active"); - } + $(el).addClass("ui-state-active"); + } - function unHighlightActive(el) { + function unHighlightActive(el) { - $(el).removeClass("ui-state-active"); - } + $(el).removeClass("ui-state-active"); + } - function showError(el, error) { - $(el).parent().next() - .empty() - .append(error) - .show(); - } + function showError(el, error) { + $(el).parent().next() + .empty() + .append(error) + .show(); + } - function hideError(el) { - $(el).parent().next() - .empty() - .hide(); - } + function hideError(el) { + $(el).parent().next() + .empty() + .hide(); + } function changeCueIn(event) { event.stopPropagation(); @@ -84,7 +84,7 @@ var AIRTIME = (function(AIRTIME){ if (json.error !== undefined){ playlistError(json); - return; + return; } if (json.cue_error !== undefined) { showError(span, json.cue_error); @@ -152,49 +152,49 @@ var AIRTIME = (function(AIRTIME){ return; } else { - $el.find('.cue-in-error').hide(); + $el.find('.cue-in-error').hide(); } if (!isTimeValid(cueOut)){ - $el.find('.cue-out-error').val($.i18n._("please put in a time '00:00:00 (.0)'")).show(); + $el.find('.cue-out-error').val($.i18n._("please put in a time '00:00:00 (.0)'")).show(); return; } else { - $el.find('.cue-out-error').hide(); + $el.find('.cue-out-error').hide(); } $.post(url, {format: "json", cueIn: cueIn, cueOut: cueOut, id: id, modified: lastMod, type: type}, function(json){ - - $el.dialog('destroy'); - $el.remove(); + + $el.dialog('destroy'); + $el.remove(); if (json.error !== undefined){ playlistError(json); - return; + return; } if (json.cue_error !== undefined) { - - li = $('#side_playlist li[unqid='+id+']'); - - if (json.code === 0) { - - span = $('#spl_cue_in_'+id).find('span'); - showError(span, json.cue_error); - span = $('#spl_cue_out_'+id).find('span'); - showError(span, json.cue_error); - } - else if (json.code === 1) { - - span = $('#spl_cue_in_'+id).find('span'); - showError(span, json.cue_error); - } - else if (json.code === 2) { - - span = $('#spl_cue_out_'+id).find('span'); - showError(span, json.cue_error); - } + + li = $('#side_playlist li[unqid='+id+']'); + + if (json.code === 0) { + + span = $('#spl_cue_in_'+id).find('span'); + showError(span, json.cue_error); + span = $('#spl_cue_out_'+id).find('span'); + showError(span, json.cue_error); + } + else if (json.code === 1) { + + span = $('#spl_cue_in_'+id).find('span'); + showError(span, json.cue_error); + } + else if (json.code === 2) { + + span = $('#spl_cue_out_'+id).find('span'); + showError(span, json.cue_error); + } return; } @@ -218,13 +218,13 @@ var AIRTIME = (function(AIRTIME){ $.post(url, {format: "json", fadeIn: fadeIn, fadeOut: fadeOut, id1: id1, id2: id2, offset: offset, modified: lastMod, type: type}, function(json){ - - $el.dialog('destroy'); - $el.remove(); + + $el.dialog('destroy'); + $el.remove(); if (json.error !== undefined){ playlistError(json); - return; + return; } setPlaylistContent(json); @@ -273,195 +273,195 @@ var AIRTIME = (function(AIRTIME){ }); } - function changeFadeOut(event) { - event.stopPropagation(); + function changeFadeOut(event) { + event.stopPropagation(); - var span = $(this), - id = span.parent().attr("id").split("_").pop(), - url = baseUrl+"Playlist/set-fade", - fadeOut = $.trim(span.text()), - li = span.parents("li"), - unqid = li.attr("unqid"), - lastMod = getModified(), + var span = $(this), + id = span.parent().attr("id").split("_").pop(), + url = baseUrl+"Playlist/set-fade", + fadeOut = $.trim(span.text()), + li = span.parents("li"), + unqid = li.attr("unqid"), + lastMod = getModified(), type = $('#obj_type').val(); - if (!isFadeValid(fadeOut)){ - showError(span, $.i18n._("please put in a time in seconds '00 (.0)'")); - return; - } + if (!isFadeValid(fadeOut)){ + showError(span, $.i18n._("please put in a time in seconds '00 (.0)'")); + return; + } - $.post(url, - {format: "json", fadeOut: fadeOut, id: id, modified: lastMod, type: type}, - function(json){ - - if (json.error !== undefined){ - playlistError(json); - return; + $.post(url, + {format: "json", fadeOut: fadeOut, id: id, modified: lastMod, type: type}, + function(json){ + + if (json.error !== undefined){ + playlistError(json); + return; + } + if (json.fade_error !== undefined) { + showError(span, json.fade_error); + return; } - if (json.fade_error !== undefined) { - showError(span, json.fade_error); - return; - } - - setPlaylistContent(json); - - li = $('#side_playlist li[unqid='+unqid+']'); - li.find('.crossfade').toggle(); - highlightActive(li.find('.spl_fade_control')); - }); - } - - function submitOnEnter(event) { - //enter was pressed - if(event.keyCode === 13) { - event.preventDefault(); - $(this).blur(); - } - } - - function openFadeEditor(event) { - var li; - - event.stopPropagation(); - - li = $(this).parents("li"); - li.find(".crossfade").toggle(); - - if ($(this).hasClass("ui-state-active")) { - unHighlightActive(this); - } - else { - highlightActive(this); - } - } - - function openCueEditor(event) { - var li, icon; - - event.stopPropagation(); - - icon = $(this); - li = $(this).parents("li"); - li.find(".cue-edit").toggle(); - - if (li.hasClass("ui-state-active")) { - unHighlightActive(li); - unHighlightActive(icon); - } - else { - highlightActive(li); - highlightActive(icon); - } - } - function editName() { - var nameElement = $(this), - lastMod = getModified(), - type = $('#obj_type').val(); + setPlaylistContent(json); + + li = $('#side_playlist li[unqid='+unqid+']'); + li.find('.crossfade').toggle(); + highlightActive(li.find('.spl_fade_control')); + }); + } + + function submitOnEnter(event) { + //enter was pressed + if(event.keyCode === 13) { + event.preventDefault(); + $(this).blur(); + } + } + + function openFadeEditor(event) { + var li; + + event.stopPropagation(); + + li = $(this).parents("li"); + li.find(".crossfade").toggle(); + + if ($(this).hasClass("ui-state-active")) { + unHighlightActive(this); + } + else { + highlightActive(this); + } + } + + function openCueEditor(event) { + var li, icon; + + event.stopPropagation(); + + icon = $(this); + li = $(this).parents("li"); + li.find(".cue-edit").toggle(); + + if (li.hasClass("ui-state-active")) { + unHighlightActive(li); + unHighlightActive(icon); + } + else { + highlightActive(li); + highlightActive(icon); + } + } + + function editName() { + var nameElement = $(this), + lastMod = getModified(), + type = $('#obj_type').val(); //remove any newlines if user somehow snuck them in (easy to do if dragging/dropping text) nameElement.text(nameElement.text().replace("\n", "")); - + /* --until we decide whether Playlist name should autosave or not - url = baseUrl+'Playlist/set-playlist-name'; + url = baseUrl+'Playlist/set-playlist-name'; - $.post(url, - {format: "json", name: nameElement.text(), modified: lastMod, type: type}, - function(json){ - - if (json.error !== undefined) { - playlistError(json); - } - else { - setModified(json.modified); - nameElement.text(json.playlistName); - redrawLib(); - } - }); + $.post(url, + {format: "json", name: nameElement.text(), modified: lastMod, type: type}, + function(json){ + + if (json.error !== undefined) { + playlistError(json); + } + else { + setModified(json.modified); + nameElement.text(json.playlistName); + redrawLib(); + } + }); */ - } - - function redrawLib() { - var dt = $lib.find("#library_display").dataTable(); - - dt.fnStandingRedraw(); - AIRTIME.library.redrawChosen(); - } - - function setPlaylistContent(json) { - var $html = $(json.html); - - $('#spl_name > a') - .empty() - .append(json.name); - $('#obj_length') - .empty() - .append(json.length); - $('#fieldset-metadate_change textarea') - .empty() - .val(json.description); - - $('#spl_sortable').off('focusout keydown'); - $('#spl_sortable') + } + + function redrawLib() { + var dt = $lib.find("#library_display").dataTable(); + + dt.fnStandingRedraw(); + AIRTIME.library.redrawChosen(); + } + + function setPlaylistContent(json) { + var $html = $(json.html); + + $('#spl_name > a') + .empty() + .append(json.name); + $('#obj_length') + .empty() + .append(json.length); + $('#fieldset-metadate_change textarea') + .empty() + .val(json.description); + + $('#spl_sortable').off('focusout keydown'); + $('#spl_sortable') .empty() .append($html); - setCueEvents(); - setFadeEvents(); - setModified(json.modified); - AIRTIME.playlist.validatePlaylistElements(); - redrawLib(); - } - - function setFadeIcon(){ - var contents = $("#spl_sortable"); + setCueEvents(); + setFadeEvents(); + setModified(json.modified); + AIRTIME.playlist.validatePlaylistElements(); + redrawLib(); + } + + function setFadeIcon(){ + var contents = $("#spl_sortable"); var show = contents.is(":visible"); - var empty = $(".spl_empty"); - - if (!show || empty.length > 0) { - $("#spl_crossfade").hide(); - } else { - //get list of playlist contents - var list = contents.children(); - - //if first and last items are blocks, hide the fade icon - var first = list.first(); - var last = list.last(); - if (first.find(':first-child').children().attr('blockid') !== undefined && - last.find(':first-child').children().attr('blockid') !== undefined) { - $("#spl_crossfade").hide(); - } else { - $("#spl_crossfade").show(); - } - } - } - - function getId() { - return parseInt($("#obj_id").val(), 10); - } - - function getModified() { - return parseInt($("#obj_lastMod").val(), 10); - } - - function setModified(modified) { - $("#obj_lastMod").val(modified); - } - - function openPlaylist(json) { - $("#side_playlist") - .empty() - .append(json.html); - - setUpPlaylist(); - setCueEvents(); - setFadeEvents(); - + var empty = $(".spl_empty"); + + if (!show || empty.length > 0) { + $("#spl_crossfade").hide(); + } else { + //get list of playlist contents + var list = contents.children(); + + //if first and last items are blocks, hide the fade icon + var first = list.first(); + var last = list.last(); + if (first.find(':first-child').children().attr('blockid') !== undefined && + last.find(':first-child').children().attr('blockid') !== undefined) { + $("#spl_crossfade").hide(); + } else { + $("#spl_crossfade").show(); + } + } + } + + function getId() { + return parseInt($("#obj_id").val(), 10); + } + + function getModified() { + return parseInt($("#obj_lastMod").val(), 10); + } + + function setModified(modified) { + $("#obj_lastMod").val(modified); + } + + function openPlaylist(json) { + $("#side_playlist") + .empty() + .append(json.html); + + setUpPlaylist(); + setCueEvents(); + setFadeEvents(); + // functions in smart_blockbuilder.js setupUI(); appendAddButton(); appendModAddButton(); removeButtonCheck(); - } + } function openPlaylistPanel() { var screenWidth = Math.floor(viewport.width - 40); @@ -537,28 +537,28 @@ var AIRTIME = (function(AIRTIME){ } }); } - - //sets events dynamically for playlist entries (each row in the playlist) - function setPlaylistEntryEvents() { - - $pl.delegate("#spl_sortable .ui-icon-closethick", - {"click": function(ev){ - var id; - id = parseInt($(this).attr("id").split("_").pop(), 10); - AIRTIME.playlist.fnDeleteItems([id]); - }}); + + //sets events dynamically for playlist entries (each row in the playlist) + function setPlaylistEntryEvents() { + + $pl.delegate("#spl_sortable .ui-icon-closethick", + {"click": function(ev){ + var id; + id = parseInt($(this).attr("id").split("_").pop(), 10); + AIRTIME.playlist.fnDeleteItems([id]); + }}); - $pl.delegate(".spl_fade_control", - {"click": openFadeEditor}); - - $pl.delegate(".spl_cue", - {"click": openCueEditor}); - - $pl.delegate(".spl_block_expand", - {"click": function(ev){ - var id = parseInt($(this).attr("id").split("_").pop(), 10); - var blockId = parseInt($(this).attr("blockId"), 10); - if ($(this).hasClass('close')) { + $pl.delegate(".spl_fade_control", + {"click": openFadeEditor}); + + $pl.delegate(".spl_cue", + {"click": openCueEditor}); + + $pl.delegate(".spl_block_expand", + {"click": function(ev){ + var id = parseInt($(this).attr("id").split("_").pop(), 10); + var blockId = parseInt($(this).attr("blockId"), 10); + if ($(this).hasClass('close')) { var sUrl = baseUrl+"playlist/get-block-info"; mod.disableUI(); $.post(sUrl, {format:"json", id:blockId}, function(data){ @@ -599,33 +599,33 @@ var AIRTIME = (function(AIRTIME){ mod.enableUI(); }); $(this).removeClass('close'); - } else { - $pl.find("#block_"+id+"_info").html("").hide(); - $(this).addClass('close'); - } + } else { + $pl.find("#block_"+id+"_info").html("").hide(); + $(this).addClass('close'); + } }}); - } - - //sets events dynamically for the cue editor. - function setCueEvents() { - var temp = $('#spl_sortable'); - temp.on("focusout", ".spl_cue_in span", changeCueIn); - temp.on("keydown", ".spl_cue_in span", submitOnEnter); - - temp.on("focusout", ".spl_cue_out span", changeCueOut); - temp.on("keydown", ".spl_cue_out span", submitOnEnter); - - //remove show waveform buttons since web audio api is not supported. - if (!(window.AudioContext || window.webkitAudioContext)) { - temp.find('.pl-waveform-cues-btn') - .parent() - .html($.i18n._("Waveform features are available in a browser supporting the Web Audio API")); - } - } - - //sets events dynamically for the fade editor. - function setFadeEvents() { - var temp = $('#spl_sortable'); + } + + //sets events dynamically for the cue editor. + function setCueEvents() { + var temp = $('#spl_sortable'); + temp.on("focusout", ".spl_cue_in span", changeCueIn); + temp.on("keydown", ".spl_cue_in span", submitOnEnter); + + temp.on("focusout", ".spl_cue_out span", changeCueOut); + temp.on("keydown", ".spl_cue_out span", submitOnEnter); + + //remove show waveform buttons since web audio api is not supported. + if (!(window.AudioContext || window.webkitAudioContext)) { + temp.find('.pl-waveform-cues-btn') + .parent() + .html($.i18n._("Waveform features are available in a browser supporting the Web Audio API")); + } + } + + //sets events dynamically for the fade editor. + function setFadeEvents() { + var temp = $('#spl_sortable'); temp.on("focusout", ".spl_fade_in span", changeFadeIn); temp.on("keydown", ".spl_fade_in span", submitOnEnter); @@ -633,47 +633,47 @@ var AIRTIME = (function(AIRTIME){ temp.on("keydown", ".spl_fade_out span", submitOnEnter); //remove show waveform buttons since web audio api is not supported. - if (!(window.AudioContext || window.webkitAudioContext)) { - temp.find('.pl-waveform-fades-btn') - .parent() - .html($.i18n._("Waveform features are available in a browser supporting the Web Audio API")); - } - } - - function initialEvents() { - var cachedDescription; - - //main playlist fades events - $pl.on("click", "#spl_crossfade", function() { - var lastMod = getModified(), - type = $('#obj_type').val(); + if (!(window.AudioContext || window.webkitAudioContext)) { + temp.find('.pl-waveform-fades-btn') + .parent() + .html($.i18n._("Waveform features are available in a browser supporting the Web Audio API")); + } + } + + function initialEvents() { + var cachedDescription; + + //main playlist fades events + $pl.on("click", "#spl_crossfade", function() { + var lastMod = getModified(), + type = $('#obj_type').val(); - if ($(this).hasClass("ui-state-active")) { - $(this).removeClass("ui-state-active"); - $pl.find("#crossfade_main").hide(); - } - else { - $(this).addClass("ui-state-active"); + if ($(this).hasClass("ui-state-active")) { + $(this).removeClass("ui-state-active"); + $pl.find("#crossfade_main").hide(); + } + else { + $(this).addClass("ui-state-active"); - var url = baseUrl+'Playlist/get-playlist-fades'; - $.post(url, - {format: "json", modified: lastMod, type: type}, - function(json){ - if (json.error !== undefined){ - playlistError(json); - } - else { - var fadeIn = $pl.find("span.spl_main_fade_in"); - var fadeOut = $pl.find("span.spl_main_fade_out"); - if (json.fadeIn == null) { - fadeIn.parent().prev().hide(); - fadeIn.hide(); - } else { - fadeIn.parent().prev().show(); + var url = baseUrl+'Playlist/get-playlist-fades'; + $.post(url, + {format: "json", modified: lastMod, type: type}, + function(json){ + if (json.error !== undefined){ + playlistError(json); + } + else { + var fadeIn = $pl.find("span.spl_main_fade_in"); + var fadeOut = $pl.find("span.spl_main_fade_out"); + if (json.fadeIn == null) { + fadeIn.parent().prev().hide(); + fadeIn.hide(); + } else { + fadeIn.parent().prev().show(); fadeIn.show(); - fadeIn.empty().append(json.fadeIn); - } - if (json.fadeOut == null) { + fadeIn.empty().append(json.fadeIn); + } + if (json.fadeOut == null) { fadeOut.parent().prev().hide(); fadeOut.hide(); } else { @@ -681,108 +681,108 @@ var AIRTIME = (function(AIRTIME){ fadeOut.show(); fadeOut.empty().append(json.fadeOut); } - if (json.fadeIn != null || json.fadeOut != null) { - $pl.find("#crossfade_main").show(); - } - } - }); - } - }); - - $pl.on("blur", "span.spl_main_fade_in", function(event){ - event.stopPropagation(); + if (json.fadeIn != null || json.fadeOut != null) { + $pl.find("#crossfade_main").show(); + } + } + }); + } + }); + + $pl.on("blur", "span.spl_main_fade_in", function(event){ + event.stopPropagation(); - var url = baseUrl+"Playlist/set-playlist-fades", - span = $(this), - fadeIn = $.trim(span.text()), - lastMod = getModified(), - type = $('#obj_type').val(); - - if (!isFadeValid(fadeIn)){ - showError(span, $.i18n._("please put in a time in seconds '00 (.0)'")); - return; - } + var url = baseUrl+"Playlist/set-playlist-fades", + span = $(this), + fadeIn = $.trim(span.text()), + lastMod = getModified(), + type = $('#obj_type').val(); + + if (!isFadeValid(fadeIn)){ + showError(span, $.i18n._("please put in a time in seconds '00 (.0)'")); + return; + } - $.post(url, - {format: "json", fadeIn: fadeIn, modified: lastMod, type: type}, - function(json){ - hideError(span); - if (json.modified !== undefined) { - setModified(json.modified); - } - }); - }); + $.post(url, + {format: "json", fadeIn: fadeIn, modified: lastMod, type: type}, + function(json){ + hideError(span); + if (json.modified !== undefined) { + setModified(json.modified); + } + }); + }); - $pl.on("blur", "span.spl_main_fade_out", function(event){ - event.stopPropagation(); + $pl.on("blur", "span.spl_main_fade_out", function(event){ + event.stopPropagation(); - var url = baseUrl+"Playlist/set-playlist-fades", - span = $(this), - fadeOut = $.trim(span.text()), - lastMod = getModified(), - type = $('#obj_type').val(); + var url = baseUrl+"Playlist/set-playlist-fades", + span = $(this), + fadeOut = $.trim(span.text()), + lastMod = getModified(), + type = $('#obj_type').val(); - if (!isFadeValid(fadeOut)){ - showError(span, $.i18n._("please put in a time in seconds '00 (.0)'")); - return; - } + if (!isFadeValid(fadeOut)){ + showError(span, $.i18n._("please put in a time in seconds '00 (.0)'")); + return; + } - $.post(url, - {format: "json", fadeOut: fadeOut, modified: lastMod, type: type}, - function(json){ - hideError(span); - if (json.modified !== undefined) { - setModified(json.modified); - } - }); - }); + $.post(url, + {format: "json", fadeOut: fadeOut, modified: lastMod, type: type}, + function(json){ + hideError(span); + if (json.modified !== undefined) { + setModified(json.modified); + } + }); + }); - $pl.on("keydown", "span.spl_main_fade_in, span.spl_main_fade_out", submitOnEnter); + $pl.on("keydown", "span.spl_main_fade_in, span.spl_main_fade_out", submitOnEnter); - $pl.on("click", "#crossfade_main > .ui-icon-closethick", function(){ - $pl.find("#spl_crossfade").removeClass("ui-state-active"); - $pl.find("#crossfade_main").hide(); - }); - //end main playlist fades. + $pl.on("click", "#crossfade_main > .ui-icon-closethick", function(){ + $pl.find("#spl_crossfade").removeClass("ui-state-active"); + $pl.find("#crossfade_main").hide(); + }); + //end main playlist fades. - //edit playlist name event - $pl.on("keydown", "#playlist_name_display", submitOnEnter); - $pl.on("blur", "#playlist_name_display", editName); - - //edit playlist description events - $pl.on("click", "legend", function(){ - var $fs = $(this).parents("fieldset"); + //edit playlist name event + $pl.on("keydown", "#playlist_name_display", submitOnEnter); + $pl.on("blur", "#playlist_name_display", editName); + + //edit playlist description events + $pl.on("click", "legend", function(){ + var $fs = $(this).parents("fieldset"); - if ($fs.hasClass("closed")) { - cachedDescription = $fs.find("textarea").val(); - $fs.removeClass("closed"); - } - else { - $fs.addClass("closed"); - } - }); - + if ($fs.hasClass("closed")) { + cachedDescription = $fs.find("textarea").val(); + $fs.removeClass("closed"); + } + else { + $fs.addClass("closed"); + } + }); + - $pl.on("click", 'button[id="playlist_shuffle_button"]', function(){ - obj_id = $('input[id="obj_id"]').val(); - url = baseUrl+"Playlist/shuffle"; - enableLoadingIcon(); - $.post(url, {format: "json", obj_id: obj_id}, function(json){ + $pl.on("click", 'button[id="playlist_shuffle_button"]', function(){ + obj_id = $('input[id="obj_id"]').val(); + url = baseUrl+"Playlist/shuffle"; + enableLoadingIcon(); + $.post(url, {format: "json", obj_id: obj_id}, function(json){ - if (json.error !== undefined) { - alert(json.error); - } - AIRTIME.playlist.fnOpenPlaylist(json); - if (json.result == "0") { - $pl.find('.success').text($.i18n._('Playlist shuffled')); - $pl.find('.success').show(); - } - disableLoadingIcon(); - setTimeout(removeSuccessMsg, 5000); - }); - }) + if (json.error !== undefined) { + alert(json.error); + } + AIRTIME.playlist.fnOpenPlaylist(json); + if (json.result == "0") { + $pl.find('.success').text($.i18n._('Playlist shuffled')); + $pl.find('.success').show(); + } + disableLoadingIcon(); + setTimeout(removeSuccessMsg, 5000); + }); + }) - $pl.on("click", "#webstream_save", function(){ + $pl.on("click", "#webstream_save", function(){ //get all fields and POST to server //description //stream url @@ -892,12 +892,12 @@ var AIRTIME = (function(AIRTIME){ } setModified(json.modified); if (obj_type == "block") { - callback(json, "save"); + callback(json, "save"); } else { $('.success').text($.i18n._('Playlist saved')); $('.success').show(); setTimeout(removeSuccessMsg, 5000); - dt.fnStandingRedraw(); + dt.fnStandingRedraw(); } setFadeIcon(); disableLoadingIcon(); @@ -910,128 +910,128 @@ var AIRTIME = (function(AIRTIME){ oData = {}; playlistRequest(sUrl, oData); }); - } - - function setUpPlaylist() { - var sortableConf; - - sortableConf = (function(){ - var aReceiveItems, - html, - fnReceive, - fnUpdate; - - fnReceive = function(event, ui) { - var aItems = [], - aSelected, - i, - length; - - AIRTIME.library.addToChosen(ui.item); - - //filter out anything that isn't an audiofile. - aSelected = AIRTIME.library.getSelectedData(); - - for (i = 0, length = aSelected.length; i < length; i++) { - aItems.push(new Array(aSelected[i].id, aSelected[i].ftype)); - } - - aReceiveItems = aItems; - html = ui.helper.html(); - - AIRTIME.library.removeFromChosen(ui.item); - }; - - fnUpdate = function(event, ui) { - var prev, - aItems = [], - iAfter, - sAddType; - - prev = ui.item.prev(); - if (prev.hasClass("spl_empty") || prev.length === 0) { - iAfter = undefined; - sAddType = 'before'; - } - else { - iAfter = parseInt(prev.attr("id").split("_").pop(), 10); - sAddType = 'after'; - } - - //item was dragged in from library datatable - if (aReceiveItems !== undefined) { - - $pl.find("tr.ui-draggable") - .after(html) - .empty(); - - aItems = aReceiveItems; - aReceiveItems = undefined; - - AIRTIME.playlist.fnAddItems(aItems, iAfter, sAddType); - } - //item was reordered. - else { - aItems.push(parseInt(ui.item.attr("id").split("_").pop(), 10)); - AIRTIME.playlist.fnMoveItems(aItems, iAfter); - } - }; - - return { - items: 'li', - //hack taken from - //http://stackoverflow.com/questions/2150002/jquery-ui-sortable-how-can-i-change-the-appearance-of-the-placeholder-object - placeholder: { - element: function(currentItem) { - - return $('
')[0]; - }, - update: function(container, p) { - return; - } - }, - forcePlaceholderSize: true, - handle: 'div.list-item-container', - start: function(event, ui) { - ui.placeholder.height(56); - }, - receive: fnReceive, - update: fnUpdate - }; - }()); - - $pl.find("#spl_sortable").sortable(sortableConf); - AIRTIME.playlist.validatePlaylistElements(); - } - - mod.fnNew = function() { - var url = baseUrl+'Playlist/new'; - - stopAudioPreview(); - - $.post(url, - {format: "json", type: 'playlist'}, - function(json){ - openPlaylist(json); - redrawLib(); - }); - }; + } - mod.fnWsNew = function() { - var url = baseUrl+'Webstream/new'; + function setUpPlaylist() { + var sortableConf; + + sortableConf = (function(){ + var aReceiveItems, + html, + fnReceive, + fnUpdate; + + fnReceive = function(event, ui) { + var aItems = [], + aSelected, + i, + length; + + AIRTIME.library.addToChosen(ui.item); + + //filter out anything that isn't an audiofile. + aSelected = AIRTIME.library.getSelectedData(); + + for (i = 0, length = aSelected.length; i < length; i++) { + aItems.push(new Array(aSelected[i].id, aSelected[i].ftype)); + } + + aReceiveItems = aItems; + html = ui.helper.html(); + + AIRTIME.library.removeFromChosen(ui.item); + }; + + fnUpdate = function(event, ui) { + var prev, + aItems = [], + iAfter, + sAddType; + + prev = ui.item.prev(); + if (prev.hasClass("spl_empty") || prev.length === 0) { + iAfter = undefined; + sAddType = 'before'; + } + else { + iAfter = parseInt(prev.attr("id").split("_").pop(), 10); + sAddType = 'after'; + } + + //item was dragged in from library datatable + if (aReceiveItems !== undefined) { + + $pl.find("tr.ui-draggable") + .after(html) + .empty(); + + aItems = aReceiveItems; + aReceiveItems = undefined; + + AIRTIME.playlist.fnAddItems(aItems, iAfter, sAddType); + } + //item was reordered. + else { + aItems.push(parseInt(ui.item.attr("id").split("_").pop(), 10)); + AIRTIME.playlist.fnMoveItems(aItems, iAfter); + } + }; + + return { + items: 'li', + //hack taken from + //http://stackoverflow.com/questions/2150002/jquery-ui-sortable-how-can-i-change-the-appearance-of-the-placeholder-object + placeholder: { + element: function(currentItem) { + + return $('')[0]; + }, + update: function(container, p) { + return; + } + }, + forcePlaceholderSize: true, + handle: 'div.list-item-container', + start: function(event, ui) { + ui.placeholder.height(56); + }, + receive: fnReceive, + update: fnUpdate + }; + }()); - stopAudioPreview(); - - $.post(url, - {format: "json"}, - function(json){ - openPlaylist(json); - redrawLib(); - }); - }; - + $pl.find("#spl_sortable").sortable(sortableConf); + AIRTIME.playlist.validatePlaylistElements(); + } + + mod.fnNew = function() { + var url = baseUrl+'Playlist/new'; - mod.fnNewBlock = function() { + stopAudioPreview(); + + $.post(url, + {format: "json", type: 'playlist'}, + function(json){ + openPlaylist(json); + redrawLib(); + }); + }; + + mod.fnWsNew = function() { + var url = baseUrl+'Webstream/new'; + + stopAudioPreview(); + + $.post(url, + {format: "json"}, + function(json){ + openPlaylist(json); + redrawLib(); + }); + }; + + + mod.fnNewBlock = function() { var url = baseUrl+'Playlist/new'; stopAudioPreview(); @@ -1043,64 +1043,64 @@ var AIRTIME = (function(AIRTIME){ redrawLib(); }); }; - - mod.fnEdit = function(id, type, url) { - if ($pl.is(":hidden")) { - openPlaylistPanel(); - } - stopAudioPreview(); - - $.post(url, - {format: "json", id: id, type: type}, - function(json){ - openPlaylist(json); - }); - }; - - - mod.fnDelete = function(plid) { - var url, id, lastMod; - - stopAudioPreview(); - id = (plid === undefined) ? getId() : plid; - lastMod = getModified(); - type = $('#obj_type').val(); - url = baseUrl+'Playlist/delete'; - - $.post(url, - {format: "json", ids: id, modified: lastMod, type: type}, - function(json){ - openPlaylist(json); - redrawLib(); - }); - }; - mod.fnWsDelete = function(wsid) { - var url, id, lastMod; - - stopAudioPreview(); - id = (wsid === undefined) ? getId() : wsid; - lastMod = getModified(); - type = $('#obj_type').val(); - url = baseUrl+'Webstream/delete'; + mod.fnEdit = function(id, type, url) { + if ($pl.is(":hidden")) { + openPlaylistPanel(); + } + stopAudioPreview(); - $.post(url, - {format: "json", ids: id, modified: lastMod, type: type}, - function(json){ - openPlaylist(json); - redrawLib(); - }); - }; - - mod.disableUI = function() { - - $lib.block({ + $.post(url, + {format: "json", id: id, type: type}, + function(json){ + openPlaylist(json); + }); + }; + + + mod.fnDelete = function(plid) { + var url, id, lastMod; + + stopAudioPreview(); + id = (plid === undefined) ? getId() : plid; + lastMod = getModified(); + type = $('#obj_type').val(); + url = baseUrl+'Playlist/delete'; + + $.post(url, + {format: "json", ids: id, modified: lastMod, type: type}, + function(json){ + openPlaylist(json); + redrawLib(); + }); + }; + + mod.fnWsDelete = function(wsid) { + var url, id, lastMod; + + stopAudioPreview(); + id = (wsid === undefined) ? getId() : wsid; + lastMod = getModified(); + type = $('#obj_type').val(); + url = baseUrl+'Webstream/delete'; + + $.post(url, + {format: "json", ids: id, modified: lastMod, type: type}, + function(json){ + openPlaylist(json); + redrawLib(); + }); + }; + + mod.disableUI = function() { + + $lib.block({ message: "", theme: true, applyPlatformOpacityRules: false }); - - $pl.block({ + + $pl.block({ message: "", theme: true, applyPlatformOpacityRules: false @@ -1112,136 +1112,136 @@ var AIRTIME = (function(AIRTIME){ }; mod.enableUI = function() { - - $lib.unblock(); - $pl.unblock(); - - //Block UI changes the postion to relative to display the messages. - $lib.css("position", "static"); - $pl.css("position", "static"); - setupUI(); + + $lib.unblock(); + $pl.unblock(); + + //Block UI changes the postion to relative to display the messages. + $lib.css("position", "static"); + $pl.css("position", "static"); + setupUI(); }; - function playlistResponse(json){ - - if (json.error !== undefined) { - playlistError(json); - } - else { - setPlaylistContent(json); - setFadeIcon(); - } - - mod.enableUI(); - } - - function playlistRequest(sUrl, oData) { - var lastMod, - obj_type = $('#obj_type').val(); - - mod.disableUI(); - - lastMod = getModified(); - - oData["modified"] = lastMod; - oData["obj_type"] = obj_type; - oData["format"] = "json"; - - $.post( - sUrl, - oData, - playlistResponse - ); - } - - mod.fnAddItems = function(aItems, iAfter, sAddType) { - var sUrl = baseUrl+"playlist/add-items"; - oData = {"aItems": aItems, "afterItem": iAfter, "type": sAddType}; - playlistRequest(sUrl, oData); - }; - - mod.fnMoveItems = function(aIds, iAfter) { - var sUrl = baseUrl+"playlist/move-items", - oData = {"ids": aIds, "afterItem": iAfter}; - - playlistRequest(sUrl, oData); - }; - - mod.fnDeleteItems = function(aItems) { - var sUrl = baseUrl+"playlist/delete-items", - oData = {"ids": aItems}; - - playlistRequest(sUrl, oData); - }; - - mod.showFadesWaveform = function(e) { - var $el = $(e.target), - $parent = $el.parents("dl"), - $li = $el.parents("li"), - $fadeOut = $parent.find(".spl_fade_out"), - $fadeIn = $parent.find(".spl_fade_in"), - $html = $($("#tmpl-pl-fades").html()), - tracks = [], - dim = AIRTIME.utilities.findViewportDimensions(), - playlistEditor, - id1, id2, - id = $li.attr("unqid"); - - - function removeDialog() { - playlistEditor.stop(); - - $html.dialog("destroy"); - $html.remove(); + function playlistResponse(json){ + + if (json.error !== undefined) { + playlistError(json); + } + else { + setPlaylistContent(json); + setFadeIcon(); + } + + mod.enableUI(); + } + + function playlistRequest(sUrl, oData) { + var lastMod, + obj_type = $('#obj_type').val(); + + mod.disableUI(); + + lastMod = getModified(); + + oData["modified"] = lastMod; + oData["obj_type"] = obj_type; + oData["format"] = "json"; + + $.post( + sUrl, + oData, + playlistResponse + ); + } + + mod.fnAddItems = function(aItems, iAfter, sAddType) { + var sUrl = baseUrl+"playlist/add-items"; + oData = {"aItems": aItems, "afterItem": iAfter, "type": sAddType}; + playlistRequest(sUrl, oData); + }; + + mod.fnMoveItems = function(aIds, iAfter) { + var sUrl = baseUrl+"playlist/move-items", + oData = {"ids": aIds, "afterItem": iAfter}; + + playlistRequest(sUrl, oData); + }; + + mod.fnDeleteItems = function(aItems) { + var sUrl = baseUrl+"playlist/delete-items", + oData = {"ids": aItems}; + + playlistRequest(sUrl, oData); + }; + + mod.showFadesWaveform = function(e) { + var $el = $(e.target), + $parent = $el.parents("dl"), + $li = $el.parents("li"), + $fadeOut = $parent.find(".spl_fade_out"), + $fadeIn = $parent.find(".spl_fade_in"), + $html = $($("#tmpl-pl-fades").html()), + tracks = [], + dim = AIRTIME.utilities.findViewportDimensions(), + playlistEditor, + id1, id2, + id = $li.attr("unqid"); + + + function removeDialog() { + playlistEditor.stop(); + + $html.dialog("destroy"); + $html.remove(); + } + + if ($fadeOut.length > 0) { + + tracks.push({ + src: $fadeOut.data("fadeout"), + cuein: $fadeOut.data("cuein"), + cueout: $fadeOut.data("cueout"), + fades: [{ + shape: $fadeOut.data("type"), + type: "FadeOut", + end: $fadeOut.data("cueout") - $fadeOut.data("cuein"), + start: $fadeOut.data("cueout") - $fadeOut.data("cuein") - $fadeOut.data("length") + }], + states: { + 'fadein': false, + 'shift': false + } + }); + + id1 = $fadeOut.data("item"); } - - if ($fadeOut.length > 0) { - - tracks.push({ - src: $fadeOut.data("fadeout"), - cuein: $fadeOut.data("cuein"), - cueout: $fadeOut.data("cueout"), - fades: [{ - shape: $fadeOut.data("type"), - type: "FadeOut", - end: $fadeOut.data("cueout") - $fadeOut.data("cuein"), - start: $fadeOut.data("cueout") - $fadeOut.data("cuein") - $fadeOut.data("length") - }], - states: { - 'fadein': false, - 'shift': false - } - }); - - id1 = $fadeOut.data("item"); - } - if ($fadeIn.length > 0) { - - tracks.push({ - src: $fadeIn.data("fadein"), - start: $fadeIn.data("offset"), - cuein: $fadeIn.data("cuein"), - cueout: $fadeIn.data("cueout"), - fades: [{ - shape: $fadeIn.data("type"), - type: "FadeIn", - end: $fadeIn.data("length"), - start: 0 - }], - states: { - 'fadeout': false, - 'shift': false - } - }); - - id2 = $fadeIn.data("item"); - } - - //set the first track to not be moveable (might only be one track depending on what follows) - //tracks[0].states["shift"] = false; - - $html.dialog({ + if ($fadeIn.length > 0) { + + tracks.push({ + src: $fadeIn.data("fadein"), + start: $fadeIn.data("offset"), + cuein: $fadeIn.data("cuein"), + cueout: $fadeIn.data("cueout"), + fades: [{ + shape: $fadeIn.data("type"), + type: "FadeIn", + end: $fadeIn.data("length"), + start: 0 + }], + states: { + 'fadeout': false, + 'shift': false + } + }); + + id2 = $fadeIn.data("item"); + } + + //set the first track to not be moveable (might only be one track depending on what follows) + //tracks[0].states["shift"] = false; + + $html.dialog({ modal: true, title: $.i18n._("Fade Editor"), show: 'clip', @@ -1251,116 +1251,116 @@ var AIRTIME = (function(AIRTIME){ buttons: [ {text: $.i18n._("Cancel"), class: "btn btn-small", click: removeDialog}, {text: $.i18n._("Save"), class: "btn btn-small btn-inverse", click: function() { - var json = playlistEditor.getJson(), - offset, - fadeIn, fadeOut, - fade; - - playlistEditor.stop(); - - if (json.length === 0) - { - id1 = undefined; - id2 = undefined; - } - else if (json.length === 1) { - - fade = json[0]["fades"][0]; - - if (fade["type"] === "FadeOut") { - fadeOut = fade["end"] - fade["start"]; - id2 = undefined; //incase of track decode error. - } - else { - fadeIn = fade["end"] - fade["start"]; - id1 = undefined; //incase of track decode error. - } - } - else { - - offset = json[0]["end"] - json[1]["start"]; - - fade = json[0]["fades"][0]; - fadeOut = fade["end"] - fade["start"]; - - fade = json[1]["fades"][0]; - fadeIn = fade["end"] - fade["start"]; - } - - fadeIn = (fadeIn === undefined) ? undefined : fadeIn.toFixed(1); - fadeOut = (fadeOut === undefined) ? undefined : fadeOut.toFixed(1); - - changeCrossfade($html, id1, id2, fadeIn, fadeOut, offset, id); + var json = playlistEditor.getJson(), + offset, + fadeIn, fadeOut, + fade; + + playlistEditor.stop(); + + if (json.length === 0) + { + id1 = undefined; + id2 = undefined; + } + else if (json.length === 1) { + + fade = json[0]["fades"][0]; + + if (fade["type"] === "FadeOut") { + fadeOut = fade["end"] - fade["start"]; + id2 = undefined; //incase of track decode error. + } + else { + fadeIn = fade["end"] - fade["start"]; + id1 = undefined; //incase of track decode error. + } + } + else { + + offset = json[0]["end"] - json[1]["start"]; + + fade = json[0]["fades"][0]; + fadeOut = fade["end"] - fade["start"]; + + fade = json[1]["fades"][0]; + fadeIn = fade["end"] - fade["start"]; + } + + fadeIn = (fadeIn === undefined) ? undefined : fadeIn.toFixed(1); + fadeOut = (fadeOut === undefined) ? undefined : fadeOut.toFixed(1); + + changeCrossfade($html, id1, id2, fadeIn, fadeOut, offset, id); }} ], open: function (event, ui) { - - var config = new Config({ - resolution: 15000, - state: "cursor", - mono: true, - timescale: true, - waveHeight: 80, - container: $html[0], - UITheme: "jQueryUI", - timeFormat: 'hh:mm:ss.u' - }); - - playlistEditor = new PlaylistEditor(); - playlistEditor.setConfig(config); - playlistEditor.init(tracks); + + var config = new Config({ + resolution: 15000, + state: "cursor", + mono: true, + timescale: true, + waveHeight: 80, + container: $html[0], + UITheme: "jQueryUI", + timeFormat: 'hh:mm:ss.u' + }); + + playlistEditor = new PlaylistEditor(); + playlistEditor.setConfig(config); + playlistEditor.init(tracks); }, - close: removeDialog, - resizeStop: function(event, ui) { - playlistEditor.resize(); + close: removeDialog, + resizeStop: function(event, ui) { + playlistEditor.resize(); } - }); - }; - - mod.showCuesWaveform = function(e) { - var $el = $(e.target), - $li = $el.parents("li"), - id = $li.attr("unqid"), - $parent = $el.parent(), - uri = $parent.data("uri"), - $html = $($("#tmpl-pl-cues").html()), - cueIn = $li.find('.spl_cue_in').data("cueIn"), - cueOut = $li.find('.spl_cue_out').data("cueOut"), - cueInSec = $li.find('.spl_cue_in').data("cueSec"), - cueOutSec = $li.find('.spl_cue_out').data("cueSec"), - tracks = [{ - src: uri, - selected: { - start: cueInSec, - end: cueOutSec - } - }], - dim = AIRTIME.utilities.findViewportDimensions(), - playlistEditor; - - function removeDialog() { - playlistEditor.stop(); - - $html.dialog("destroy"); - $html.remove(); + }); + }; + + mod.showCuesWaveform = function(e) { + var $el = $(e.target), + $li = $el.parents("li"), + id = $li.attr("unqid"), + $parent = $el.parent(), + uri = $parent.data("uri"), + $html = $($("#tmpl-pl-cues").html()), + cueIn = $li.find('.spl_cue_in').data("cueIn"), + cueOut = $li.find('.spl_cue_out').data("cueOut"), + cueInSec = $li.find('.spl_cue_in').data("cueSec"), + cueOutSec = $li.find('.spl_cue_out').data("cueSec"), + tracks = [{ + src: uri, + selected: { + start: cueInSec, + end: cueOutSec + } + }], + dim = AIRTIME.utilities.findViewportDimensions(), + playlistEditor; + + function removeDialog() { + playlistEditor.stop(); + + $html.dialog("destroy"); + $html.remove(); } - - $html.find('.editor-cue-in').html(cueIn); - $html.find('.editor-cue-out').html(cueOut); - - $html.on("click", ".set-cue-in", function(e) { - var cueIn = $html.find('.audio_start').val(); - - $html.find('.editor-cue-in').html(cueIn); - }); - - $html.on("click", ".set-cue-out", function(e) { - var cueOut = $html.find('.audio_end').val(); - - $html.find('.editor-cue-out').html(cueOut); - }); - - $html.dialog({ + + $html.find('.editor-cue-in').html(cueIn); + $html.find('.editor-cue-out').html(cueOut); + + $html.on("click", ".set-cue-in", function(e) { + var cueIn = $html.find('.audio_start').val(); + + $html.find('.editor-cue-in').html(cueIn); + }); + + $html.on("click", ".set-cue-out", function(e) { + var cueOut = $html.find('.audio_end').val(); + + $html.find('.editor-cue-out').html(cueOut); + }); + + $html.dialog({ modal: true, title: $.i18n._("Cue Editor"), show: 'clip', @@ -1370,40 +1370,40 @@ var AIRTIME = (function(AIRTIME){ buttons: [ {text: $.i18n._("Cancel"), class: "btn btn-small", click: removeDialog}, {text: $.i18n._("Save"), class: "btn btn-small btn-inverse", click: function() { - var cueIn = $html.find('.editor-cue-in').html(), - cueOut = $html.find('.editor-cue-out').html(); - - playlistEditor.stop(); - - changeCues($html, id, cueIn, cueOut); + var cueIn = $html.find('.editor-cue-in').html(), + cueOut = $html.find('.editor-cue-out').html(); + + playlistEditor.stop(); + + changeCues($html, id, cueIn, cueOut); }} ], open: function (event, ui) { - - var config = new Config({ - resolution: 15000, - mono: true, - timescale: true, - waveHeight: 80, - container: $html[0], - UITheme: "jQueryUI", - timeFormat: 'hh:mm:ss.u' - }); - - playlistEditor = new PlaylistEditor(); - playlistEditor.setConfig(config); - playlistEditor.init(tracks); + + var config = new Config({ + resolution: 15000, + mono: true, + timescale: true, + waveHeight: 80, + container: $html[0], + UITheme: "jQueryUI", + timeFormat: 'hh:mm:ss.u' + }); + + playlistEditor = new PlaylistEditor(); + playlistEditor.setConfig(config); + playlistEditor.init(tracks); }, close: removeDialog, resizeStop: function(event, ui) { - playlistEditor.resize(); + playlistEditor.resize(); } - }); - }; - - mod.init = function() { - /* - $.contextMenu({ + }); + }; + + mod.init = function() { + /* + $.contextMenu({ selector: '#spl_new, #ws_new', trigger: "left", ignoreRightClick: true, @@ -1414,39 +1414,39 @@ var AIRTIME = (function(AIRTIME){ } }); */ - $('#lib-new-pl').live('click', function(){AIRTIME.playlist.fnNew();}); + $('#lib-new-pl').live('click', function(){AIRTIME.playlist.fnNew();}); $('#lib-new-bl').live('click', function(){AIRTIME.playlist.fnNewBlock();}); $('#lib-new-ws').live('click', function(){AIRTIME.playlist.fnWsNew();}); - /* - $pl.delegate("#spl_new", - {"click": AIRTIME.playlist.fnNew});*/ + /* + $pl.delegate("#spl_new", + {"click": AIRTIME.playlist.fnNew});*/ - $pl.delegate("#spl_delete", {"click": function(ev){ - AIRTIME.playlist.fnDelete(); - }}); + $pl.delegate("#spl_delete", {"click": function(ev){ + AIRTIME.playlist.fnDelete(); + }}); - $pl.delegate("#ws_delete", {"click": function(ev){ + $pl.delegate("#ws_delete", {"click": function(ev){ AIRTIME.playlist.fnWsDelete(); - }}); - - $pl.delegate(".pl-waveform-cues-btn", {"click": function(ev){ + }}); + + $pl.delegate(".pl-waveform-cues-btn", {"click": function(ev){ AIRTIME.playlist.showCuesWaveform(ev); - }}); - - $pl.delegate(".pl-waveform-fades-btn", {"click": function(ev){ + }}); + + $pl.delegate(".pl-waveform-fades-btn", {"click": function(ev){ AIRTIME.playlist.showFadesWaveform(ev); - }}); - - setPlaylistEntryEvents(); - setCueEvents(); - setFadeEvents(); - setFadeIcon(); - - initialEvents(); - setUpPlaylist(); - }; - - function setWidgetSize() { + }}); + + setPlaylistEntryEvents(); + setCueEvents(); + setFadeEvents(); + setFadeIcon(); + + initialEvents(); + setUpPlaylist(); + }; + + function setWidgetSize() { viewport = AIRTIME.utilities.findViewportDimensions(); widgetHeight = viewport.height - 185; width = Math.floor(viewport.width - 80); @@ -1456,8 +1456,8 @@ var AIRTIME = (function(AIRTIME){ if (!$pl.is(':hidden')) { $lib.height(widgetHeight) .find(".dataTables_scrolling") - .css("max-height", libTableHeight) - .end() + .css("max-height", libTableHeight) + .end() .width(Math.floor(width * 0.55)); $pl.height(widgetHeight) @@ -1465,54 +1465,54 @@ var AIRTIME = (function(AIRTIME){ } else { $lib.height(widgetHeight) .find(".dataTables_scrolling") - .css("max-height", libTableHeight) - .end() + .css("max-height", libTableHeight) + .end() .width(width + 40); } - } - - mod.onReady = function() { - $lib = $("#library_content"); - $pl = $("#side_playlist"); + } + + mod.onReady = function() { + $lib = $("#library_content"); + $pl = $("#side_playlist"); - setWidgetSize(); - - AIRTIME.library.libraryInit(); - AIRTIME.playlist.init(); + setWidgetSize(); + + AIRTIME.library.libraryInit(); + AIRTIME.playlist.init(); if ($pl.is(':hidden')) { $lib.find("#library_display_length").append($togglePl.show()); } - $pl.find(".ui-icon-alert").qtip({ - content: { - text: $.i18n._("Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore.") - }, - position:{ - adjust: { - resize: true, - method: "flip flip" - }, - at: "right center", - my: "left top", - viewport: $(window) - }, - style: { - classes: "ui-tooltip-dark" - }, - show: 'mouseover', - hide: 'mouseout' - }); - }; - - mod.onResize = function() { - - clearTimeout(resizeTimeout); - resizeTimeout = setTimeout(setWidgetSize, 100); - }; - - return AIRTIME; - + $pl.find(".ui-icon-alert").qtip({ + content: { + text: sprintf($.i18n._("%s is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore."), PRODUCT_NAME) + }, + position:{ + adjust: { + resize: true, + method: "flip flip" + }, + at: "right center", + my: "left top", + viewport: $(window) + }, + style: { + classes: "ui-tooltip-dark" + }, + show: 'mouseover', + hide: 'mouseout' + }); + }; + + mod.onResize = function() { + + clearTimeout(resizeTimeout); + resizeTimeout = setTimeout(setWidgetSize, 100); + }; + + return AIRTIME; + }(AIRTIME || {})); diff --git a/airtime_mvc/public/js/airtime/nowplaying/register.js b/airtime_mvc/public/js/airtime/nowplaying/register.js index 58a5b1f21..25316e52d 100644 --- a/airtime_mvc/public/js/airtime/nowplaying/register.js +++ b/airtime_mvc/public/js/airtime/nowplaying/register.js @@ -25,7 +25,7 @@ $(document).ready(function(){ data: {format:"json"} }); $(this).dialog("close"); - } + } }, { id: "remind_never", @@ -41,12 +41,12 @@ $(document).ready(function(){ } }, { - id: "help_airtime", - text: $.i18n._("Yes, help Airtime"), - "class": "btn", - click: function() { - $("#register-form").submit(); - } + id: "help_airtime", + text: sprintf($.i18n._("Yes, help %s"), PRODUCT_NAME), + "class": "btn", + click: function() { + $("#register-form").submit(); + } } ] }); @@ -97,12 +97,12 @@ $(document).ready(function(){ } $("#Privacy").live('click', function(){ - var support = $("#SupportFeedback"); - var button = $("#help_airtime"); + var support = $("#SupportFeedback"); + var button = $("#help_airtime"); if($(this).is(':checked') && support.is(':checked')){ - button.removeAttr('disabled').removeClass('ui-state-disabled'); + button.removeAttr('disabled').removeClass('ui-state-disabled'); }else{ - button.attr('disabled', 'disabled' ).addClass('ui-state-disabled'); + button.attr('disabled', 'disabled' ).addClass('ui-state-disabled'); } }); @@ -118,36 +118,36 @@ $(document).ready(function(){ }); $("#Logo").live('change', function(ev){ - var content, res, logoEl; - - content = $(this).val(); - res = content.match(/(jpg|jpeg|png|gif)$/gi); - logoEl = $("#Logo-element"); - - //not an accepted image extension. - if (!res) { - var ul, li; - - ul = logoEl.find('.errors'); - li = $("").append($.i18n._("Image must be one of jpg, jpeg, png, or gif")); - - //errors ul has already been created. - if (ul.length > 0) { - ul.empty() - .append(li); - } - else { - logoEl - .append('