From d770125206d6368a488e159c42346ebd05b7592f Mon Sep 17 00:00:00 2001 From: Naomi Date: Tue, 18 Jan 2011 13:34:36 -0500 Subject: [PATCH 1/3] cues/fades now in content editable span. --- .../views/scripts/playlist/set-cue.phtml | 4 +- .../views/scripts/playlist/set-fade.phtml | 4 +- public/js/airtime/library/spl.js | 84 ++++--------------- 3 files changed, 21 insertions(+), 71 deletions(-) diff --git a/application/views/scripts/playlist/set-cue.phtml b/application/views/scripts/playlist/set-cue.phtml index f05d27fca..3158a193c 100644 --- a/application/views/scripts/playlist/set-cue.phtml +++ b/application/views/scripts/playlist/set-cue.phtml @@ -1,8 +1,8 @@
Cue In: - cueIn; ?> + cueIn; ?>
Cue Out: - cueOut; ?> + cueOut; ?>
diff --git a/application/views/scripts/playlist/set-fade.phtml b/application/views/scripts/playlist/set-fade.phtml index 66a542126..2173175c7 100644 --- a/application/views/scripts/playlist/set-fade.phtml +++ b/application/views/scripts/playlist/set-fade.phtml @@ -1,8 +1,8 @@
Fade Out: - fadeOut; ?> + fadeOut; ?>
Fade In: - fadeIn; ?> + fadeIn; ?>
diff --git a/public/js/airtime/library/spl.js b/public/js/airtime/library/spl.js index d75fe9ec8..cea4c4cb7 100644 --- a/public/js/airtime/library/spl.js +++ b/public/js/airtime/library/spl.js @@ -13,16 +13,9 @@ function isTimeValid(time) { return true; } -function revertEditorValue(el) { - var oldValue = $("#pl_tmp_time").val(); - - el.empty() - .append(oldValue) - .click(addTextInput);; -} - function displayEditorError(error) { $("#spl_error") + .empty() .append('') .append(error) .show(); @@ -44,29 +37,29 @@ function cueSetUp(pos, json) { .empty() .append(json.response.length); - $(".spl_cue_in span:last, .spl_cue_out span:last").click(addTextInput); + $(".spl_cue_in span:last").blur(changeCueIn); + $(".spl_cue_out span:last").blur(changeCueOut); } function fadeSetUp() { - $(".spl_fade_in span:last, .spl_fade_out span:last").click(addTextInput); + $(".spl_fade_in span:last").blur(changeFadeIn); + $(".spl_fade_out span:last").blur(changeFadeOut); } function changeCueIn() { var pos, url, cueIn, div; - span = $(this).parent(); + span = $(this); pos = span.parent().attr("id").split("_").pop(); url = "/Playlist/set-cue/format/json"; - cueIn = $(this).val().trim(); + cueIn = span.text().trim(); if(!isTimeValid(cueIn)){ - revertEditorValue(span); return; } $.post(url, {cueIn: cueIn, pos: pos}, function(json){ if(json.response.error) { - revertEditorValue(span); displayEditorError(json.response.error); return; } @@ -83,19 +76,17 @@ function changeCueIn() { function changeCueOut() { var pos, url, cueOut, div; - span = $(this).parent(); + span = $(this); pos = span.parent().attr("id").split("_").pop(); url = "/Playlist/set-cue/format/json"; - cueOut = $(this).val().trim(); + cueOut = span.text().trim(); if(!isTimeValid(cueOut)){ - revertEditorValue(span); return; } $.post(url, {cueOut: cueOut, pos: pos}, function(json){ if(json.response.error) { - revertEditorValue(span); displayEditorError(json.response.error); return; } @@ -112,19 +103,17 @@ function changeCueOut() { function changeFadeIn() { var pos, url, fadeIn, div; - span = $(this).parent(); + span = $(this); pos = span.parent().attr("id").split("_").pop(); url = "/Playlist/set-fade/format/json"; - fadeIn = $(this).val().trim(); + fadeIn = span.text().trim(); if(!isTimeValid(fadeIn)){ - revertEditorValue(span); return; } $.post(url, {fadeIn: fadeIn, pos: pos}, function(json){ if(json.response.error) { - revertEditorValue(span); displayEditorError(json.response.error); return; } @@ -141,19 +130,17 @@ function changeFadeIn() { function changeFadeOut() { var pos, url, fadeOut, div; - span = $(this).parent(); + span = $(this); pos = span.parent().attr("id").split("_").pop() - 1; url = "/Playlist/set-fade/format/json"; - fadeOut = $(this).val().trim(); + fadeOut = span.text().trim(); if(!isTimeValid(fadeOut)){ - revertEditorValue(span); return; } $.post(url, {fadeOut: fadeOut, pos: pos}, function(json){ if(json.response.error) { - revertEditorValue(span); displayEditorError(json.response.error); return; } @@ -167,46 +154,6 @@ function changeFadeOut() { }); } -function addTextInput(){ - var time = $(this).text().trim(); - var input = $(""); - - //Firefox seems to have problems losing focus otherwise, Chrome is fine. - $(":input").blur(); - $(this).empty(); - - $(this).append(input); - input.focus(); - - var parent = $(this).parent(); - - if( parent.hasClass('spl_cue_in') ){ - input.blur(changeCueIn); - } - else if( parent.hasClass('spl_cue_out') ){ - input.blur(changeCueOut); - } - else if( parent.hasClass('spl_fade_in') ){ - input.blur(changeFadeIn); - } - else if( parent.hasClass('spl_fade_out') ){ - input.blur(changeFadeOut); - } - - input.keypress(function(ev){ - //don't want enter to submit. - if (ev.keyCode === 13) { - ev.preventDefault(); - $(this).blur(); - } - }); - - input = $(""); - $(this).append(input); - - $(this).unbind('click'); -} - function setEditorContent(json) { $("#spl_editor") .empty() @@ -214,7 +161,10 @@ function setEditorContent(json) { clearEditorError(); - $(".spl_cue_in span:last, .spl_cue_out span:last, .spl_fade_in span:last, .spl_fade_out span:last").click(addTextInput); + $(".spl_cue_in span:last").blur(changeCueIn); + $(".spl_cue_out span:last").blur(changeCueOut); + $(".spl_fade_in span:last").blur(changeFadeIn); + $(".spl_fade_out span:last").blur(changeFadeOut); } function highlightActive(el) { From 193bb87879f63884a7ac6d85b751aed516667ba8 Mon Sep 17 00:00:00 2001 From: Naomi Date: Tue, 18 Jan 2011 14:42:29 -0500 Subject: [PATCH 2/3] removed useless handlers which caused problems from my beta release rush. --- public/js/airtime/library/spl.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/public/js/airtime/library/spl.js b/public/js/airtime/library/spl.js index cea4c4cb7..4f8c4d944 100644 --- a/public/js/airtime/library/spl.js +++ b/public/js/airtime/library/spl.js @@ -36,14 +36,6 @@ function cueSetUp(pos, json) { $("#spl_length") .empty() .append(json.response.length); - - $(".spl_cue_in span:last").blur(changeCueIn); - $(".spl_cue_out span:last").blur(changeCueOut); -} - -function fadeSetUp() { - $(".spl_fade_in span:last").blur(changeFadeIn); - $(".spl_fade_out span:last").blur(changeFadeOut); } function changeCueIn() { @@ -123,7 +115,6 @@ function changeFadeIn() { span.empty() .append(json.response.fadeIn); - fadeSetUp(); }); } @@ -150,7 +141,6 @@ function changeFadeOut() { span.empty() .append(json.response.fadeOut); - fadeSetUp(); }); } From 84111d23a3503db7596bdb43dfdf1874e400923e Mon Sep 17 00:00:00 2001 From: Naomi Date: Tue, 18 Jan 2011 14:57:54 -0500 Subject: [PATCH 3/3] content editable spans will send their value on enter. --- public/js/airtime/library/spl.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/public/js/airtime/library/spl.js b/public/js/airtime/library/spl.js index 4f8c4d944..2341576c0 100644 --- a/public/js/airtime/library/spl.js +++ b/public/js/airtime/library/spl.js @@ -144,6 +144,13 @@ function changeFadeOut() { }); } +function submitOnEnter(event) { + //enter was pressed + if(event.keyCode === 13) { + $(this).blur(); + } +} + function setEditorContent(json) { $("#spl_editor") .empty() @@ -155,6 +162,8 @@ function setEditorContent(json) { $(".spl_cue_out span:last").blur(changeCueOut); $(".spl_fade_in span:last").blur(changeFadeIn); $(".spl_fade_out span:last").blur(changeFadeOut); + + $(".spl_cue_in span:last, .spl_cue_out span:last, .spl_fade_in span:last, .spl_fade_out span:last").keyup(submitOnEnter); } function highlightActive(el) {