Merge branch 'devel' of dev.sourcefabric.org:airtime into devel

This commit is contained in:
Daniel 2012-03-19 16:14:16 -04:00
commit 064f7cf591
29 changed files with 611 additions and 398 deletions

View file

@ -1876,7 +1876,7 @@ div.errors{
}
.stream-config {
width: 1080px;
width: 1100px;
}
.preferences .padded {

View file

@ -79,6 +79,8 @@ var AIRTIME = (function(AIRTIME) {
"bProcessing": true,
"bServerSide": true,
"aLengthMenu": [[10, 15, 20, 25, 50, 100], [10, 15, 20, 25, 50, 100]],
"bStateSave": true,
"fnStateSaveParams": function (oSettings, oData) {
//remove oData components we don't want to save.

View file

@ -212,14 +212,14 @@ var AIRTIME = (function(AIRTIME){
}
function openFadeEditor(event) {
var pos, url, li;
var li;
event.stopPropagation();
li = $(this).parent().parent();
li = $(this).parents("li");
li.find(".crossfade").toggle();
if($(this).hasClass("ui-state-active")) {
if ($(this).hasClass("ui-state-active")) {
unHighlightActive(this);
}
else {
@ -228,12 +228,12 @@ var AIRTIME = (function(AIRTIME){
}
function openCueEditor(event) {
var pos, url, li, icon;
var li, icon;
event.stopPropagation();
icon = $(this);
li = $(this).parent().parent().parent();
li = $(this).parents("li");
li.find(".cue-edit").toggle();
if (li.hasClass("ui-state-active")) {
@ -248,35 +248,23 @@ var AIRTIME = (function(AIRTIME){
function editName() {
var nameElement = $(this),
playlistName = nameElement.text(),
lastMod = getModified();
$("#playlist_name_input")
.removeClass('element_hidden')
.val(playlistName)
.keydown(function(event){
if (event.keyCode === 13) {
event.preventDefault();
var input = $(this),
url = '/Playlist/set-playlist-name';
url = '/Playlist/set-playlist-name';
$.post(url,
{format: "json", name: input.val(), modified: lastMod},
function(json){
if (json.error !== undefined) {
playlistError(json);
}
else {
setModified(json.modified);
input.addClass('element_hidden');
nameElement.text(json.playlistName);
redrawLib();
}
});
}
})
.focus();
$.post(url,
{format: "json", name: nameElement.text(), modified: lastMod},
function(json){
if (json.error !== undefined) {
playlistError(json);
}
else {
setModified(json.modified);
nameElement.text(json.playlistName);
redrawLib();
}
});
}
function redrawLib() {
@ -372,13 +360,13 @@ var AIRTIME = (function(AIRTIME){
"keydown": submitOnEnter});
}
function setUpPlaylist(playlist) {
function initialEvents() {
var playlist = $("#side_playlist"),
sortableConf,
cachedDescription;
playlist.find("#spl_crossfade").on("click", function() {
//main playlist fades events
playlist.on("click", "#spl_crossfade", function() {
var lastMod = getModified();
if ($(this).hasClass("ui-state-active")) {
@ -397,10 +385,11 @@ var AIRTIME = (function(AIRTIME){
playlistError(json);
}
else {
playlist.find("#spl_fade_in_main").find("span")
playlist.find("span.spl_main_fade_in")
.empty()
.append(json.fadeIn);
playlist.find("#spl_fade_out_main").find("span")
playlist.find("span.spl_main_fade_out")
.empty()
.append(json.fadeOut);
@ -409,22 +398,79 @@ var AIRTIME = (function(AIRTIME){
});
}
});
playlist.on("blur", "span.spl_main_fade_in", function(event){
event.stopPropagation();
playlist.find("#playlist_name_display").on("click", editName);
playlist.find("#fieldset-metadate_change > legend").on("click", function(){
var descriptionElement = $(this).parent();
var url = "/Playlist/set-playlist-fades",
span = $(this),
fadeIn = $.trim(span.text()),
lastMod = getModified();
if (!isFadeValid(fadeIn)){
showError(span, "please put in a time in seconds '00 (.000000)'");
return;
}
if (descriptionElement.hasClass("closed")) {
cachedDescription = playlist.find("#fieldset-metadate_change textarea").val();
descriptionElement.removeClass("closed");
}
else {
descriptionElement.addClass("closed");
}
$.post(url,
{format: "json", fadeIn: fadeIn, modified: lastMod},
function(json){
hideError(span);
if (json.modified !== undefined) {
setModified(json.modified);
}
});
});
playlist.find("#description_save").on("click", function(){
playlist.on("blur", "span.spl_main_fade_out", function(event){
event.stopPropagation();
var url = "/Playlist/set-playlist-fades",
span = $(this),
fadeOut = $.trim(span.text()),
lastMod = getModified();
if (!isFadeValid(fadeOut)){
showError(span, "please put in a time in seconds '00 (.000000)'");
return;
}
$.post(url,
{format: "json", fadeOut: fadeOut, modified: lastMod},
function(json){
hideError(span);
if (json.modified !== undefined) {
setModified(json.modified);
}
});
});
playlist.on("keydown", "span.spl_main_fade_in, span.spl_main_fade_out", submitOnEnter);
playlist.on("click", "#crossfade_main > .ui-icon-closethick", function(){
playlist.find("#spl_crossfade").removeClass("ui-state-active");
playlist.find("#crossfade_main").hide();
});
//end main playlist fades.
//edit playlist name event
playlist.on("keydown", "#playlist_name_display", submitOnEnter);
playlist.on("blur", "#playlist_name_display", editName);
//edit playlist description events
playlist.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");
}
});
playlist.on("click", "#description_save", function(){
var textarea = playlist.find("#fieldset-metadate_change textarea"),
description = textarea.val(),
url,
@ -447,60 +493,19 @@ var AIRTIME = (function(AIRTIME){
});
});
playlist.find("#description_cancel").on("click", function(){
playlist.on("click", "#description_cancel", function(){
var textarea = playlist.find("#fieldset-metadate_change textarea");
textarea.val(cachedDescription);
playlist.find("#fieldset-metadate_change").addClass("closed");
});
playlist.find("#spl_fade_in_main span:first").on("blur", function(event){
event.stopPropagation();
var url = "/Playlist/set-playlist-fades",
span = $(this),
fadeIn = $.trim(span.text()),
lastMod = getModified();
if (!isFadeValid(fadeIn)){
showError(span, "please put in a time in seconds '00 (.000000)'");
return;
}
$.post(url,
{format: "json", fadeIn: fadeIn, modified: lastMod},
function(json){
hideError(span);
});
});
playlist.find("#spl_fade_out_main span:last").on("blur", function(event){
event.stopPropagation();
var url = "/Playlist/set-playlist-fades",
span = $(this),
fadeOut = $.trim(span.text()),
lastMod = getModified();
if(!isFadeValid(fadeOut)){
showError(span, "please put in a time in seconds '00 (.000000)'");
return;
}
$.post(url,
{format: "json", fadeOut: fadeOut, modified: lastMod},
function(json){
hideError(span);
});
});
playlist.find("#spl_fade_in_main span:first, #spl_fade_out_main span:first")
.on("keydown", submitOnEnter);
playlist.find("#crossfade_main > .ui-icon-closethick").on("click", function(){
playlist.find("#spl_crossfade").removeClass("ui-state-active");
playlist.find("#crossfade_main").hide();
});
//end edit playlist description events.
}
function setUpPlaylist(playlist) {
var playlist = $("#side_playlist"),
sortableConf;
sortableConf = (function(){
var aReceiveItems,
@ -728,6 +733,7 @@ var AIRTIME = (function(AIRTIME){
setCueEvents(playlist);
setFadeEvents(playlist);
initialEvents();
setUpPlaylist(playlist);
};

View file

@ -107,10 +107,11 @@ function checkLiquidsoapStatus(){
}
function setLiveSourceConnectionOverrideListener(){
$("[id=connection_url_override]").click(function(){
$("[id=connection_url_override]").click(function(event){
var div_ele = $(this).parent().find("div[id$='_dj_connection_url_tb']")
div_ele.find(":input").val("")
div_ele.show()
event.preventDefault()
})
// set action for "OK" and "X"
@ -119,36 +120,42 @@ function setLiveSourceConnectionOverrideListener(){
var master_dj_input = $("#master_dj_connection_url_tb")
var master_dj_label = master_dj_input.parent().find("span")
live_dj_input.find("#ok").click(function(){
live_dj_input.find("#ok").click(function(event){
event.preventDefault()
var url = $(this).parent().find(":input").val()
live_dj_label.html(url)
live_dj_input.hide()
$.get("/Preference/set-source-connection-url/", {format: "json", type: "livedj", url:encodeURIComponent(url)});
event.preventDefault()
})
live_dj_input.find("#reset").click(function(){
live_dj_input.find("#reset").click(function(event){
event.preventDefault()
var port = $("#dj_harbor_input_port").val()
var mount = $("#dj_harbor_input_mount_point").val()
var url = "http://"+location.hostname+":"+port+"/"+mount
live_dj_label.html(url)
live_dj_input.hide()
$.get("/Preference/set-source-connection-url", {format: "json", type: "livedj", url:encodeURIComponent(url)});
event.preventDefault()
})
master_dj_input.find("#ok").click(function(){
master_dj_input.find("#ok").click(function(event){
var url = $(this).parent().find(":input").val()
master_dj_label.html(url)
master_dj_input.hide()
$.get("/Preference/set-source-connection-url", {format: "json", type: "masterdj", url:encodeURIComponent(url)})
event.preventDefault()
})
master_dj_input.find("#reset").click(function(){
master_dj_input.find("#reset").click(function(event){
var port = $("#master_harbor_input_port").val()
var mount = $("#master_harbor_input_mount_point").val()
var url = "http://"+location.hostname+":"+port+"/"+mount
master_dj_label.html(url)
master_dj_input.hide()
$.get("/Preference/set-source-connection-url", {format: "json", type: "masterdj", url:encodeURIComponent(url)})
event.preventDefault()
})
}

View file

@ -515,14 +515,18 @@ var AIRTIME = (function(AIRTIME){
var prev = ui.item.prev();
//can't add items outside of shows.
if (prev.hasClass("sb-footer")
|| prev.find("td:first").hasClass("dataTables_empty")
if (prev.find("td:first").hasClass("dataTables_empty")
|| prev.length === 0) {
alert("Cannot schedule outside a show.");
ui.item.remove();
return;
}
//if item is added after a footer, add the item after the last item in the show.
if (prev.hasClass("sb-footer")) {
prev = prev.prev();
}
aItemData = [];
oPrevData = prev.data("aData");