--- a/web/static/ldt/js/projectscontents.js Fri May 06 02:12:30 2011 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,578 +0,0 @@
-
-$.fn.realVal = function() {
- var obj = $(this[0]);
- if(obj.val) {
- if(obj.val() === obj.attr('defaultText')) {
- return '';
- }
- else {
- return obj.val();
- }
- }
- else {
- return null;
- }
-};
-
-
-function init_events_base(base_node, embed_url) {
-
- $('.ldt_link_embed',base_node).click(function(e) {
- e.preventDefault();
- var link = $(e.target);
- var json_url = link.attr("href");
- var player_id = link.attr("id");
- var ldt_id = player_id.substring(15);
- $('<a />', {
- href: embed_url+'?json_url='+escape(json_url)+'&player_id='+escape(player_id)+'&ldt_id='+escape(ldt_id),
- target: "_blank"
- }).nyroModal({
- filters: ['iframe'],
- sizes: {
- minW: '750',
- minH: '662'
- },
- callbacks: {
- afterShowCont: function(nm) {
- nm.store.iframe.height(662);
- nm.store.iframe.width(750);
- }
- }
- }).trigger('nyroModal');
- return false;
- });
-
-
- $('.imageline',base_node).each(function(i) {
- var tr = $(this);
- tr.mouseover(function() {
- $('.cellimgdiv',this).css('visibility', 'visible');
- });
- tr.mouseout(function() {
- $('.cellimgdiv',this).css('visibility', 'hidden');
- });
- });
-
- $('.cellimgdiv img').qtip({
- style: {
- 'name': 'dark',
- 'filter':'alpha(opacity=70)',
- '-moz-opacity':'0.7',
- '-khtml-opacity': '0.7',
- 'opacity': '0.7',
- 'border': {
- 'width' : '0',
- 'color': '#505050'
- },
- 'tip': true
- }
- });
-}
-
-function testAndClose(close_fn) {
-
- return function(force) {
- // Here we ask LDT if the current work is modified and if the user want to save it.
- var ldtSwf = $('#ldtInitSwf',$.nmTop().store.iframe.contents()).get(0);
- // In the ldt_link_create case, the modal page can be the form, or the ldt swf. So we have to test.
- if (!force && ldtSwf && ldtSwf.name==="ldtInitSwf" && ldtSwf.isModified()==="true") {
- ldtSwf.askSave();
- }
- else {
- close_fn.apply(this);
- }
- };
-}
-
-
-function searchCallback(target, container_selector, url, timeout) {
-
- timeout = typeof(timeout) !== 'undefined' ? timeout : 0;
- target = $(target);
-
- // remove all qtip
- $(".qtip").remove();
-
- if(target.realVal().length > 0) {
- target.nextAll(".searchclear").show();
- }
-
- if(target.attr('timer')) {
- clearTimeout(target.attr('timer'));
- }
-
- target.attr(
- 'timer',
- setTimeout(function() {
- target.next(".searchajaxloader").show();
- target.nextAll(".searchclear").hide();
- var filterVal = "_" + escape(target.realVal());
- url = url.replace('__FILTER__',filterVal);
- $.ajax({
- url: url,
- cache: false,
- success: function(data, status, request) {
- $(container_selector).html(data);
- target.next(".searchajaxloader").hide();
- if(target.realVal().length > 0) {
- target.nextAll(".searchclear").show();
- }
- init_events($(container_selector));
- target.removeAttr('timer');
- }
- });
- },
- 300)
- );
-}
-
-
-function init_events_contents(base_node, embed_url, content_filter_url) {
-
- init_events_base(base_node, embed_url);
-
- $('.content_link_create').each(function(i){
- $(this).attr("target","_blank");
- });
- $('.content_link_create').nyroModal({
- filters: ['iframe'],
- sizes: {
- minW: 770,
- minH: 550
- },
- callbacks: {
- afterClose: function(nm) {
- searchCallback($('#searchprojectsinput'), "#contentslistcontainer", content_filter_url);
- },
- afterShowCont: function(nm) {
- nm.store.iframe.width(770);
- nm.store.iframe.height(550);
- nm.store.iframe.load(function() {
- var form_status = $(this).contents().find("#content_form_status").val();
- if(form_status === 'saved' || form_status === 'deleted' ) {
- $.nmTop().close();
- }
- });
- }
- }
- });
-
- $('.contenttitlelink').each(function(i){
- $(this).attr("target","_blank");
- });
- $('.contenttitlelink').nyroModal({
- filters: ['iframe'],
- sizes: {
- minW: 770,
- minH: 550
- },
- callbacks: {
- afterClose: function(nm) {
- searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url,0);
- },
- afterShowCont: function(nm) {
- nm.store.iframe.width(770);
- nm.store.iframe.height(550);
- nm.store.iframe.load(function() {
- var form_status = $(this).contents().find("#content_form_status").val();
- if(form_status === 'saved' || form_status === 'deleted') {
- $.nmTop().close();
- }
- });
- }
- }
- });
-
-}
-
-function init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) {
-
- // These are the functions called when we display a project in an LDT modal window
- $('.ldt_link',base_node).each(function(i){
- $(this).attr("target","_iri");
- });
- $('.ldt_link',base_node).nyroModal({
- filters: ['iriIframe'],
- sizes: {
- minW: '1025',
- minH: '665'
- },
- showCloseButton: true,
- closeOnEscape:false,
- closeOnClick:false,
- callbacks: {
- afterShowCont: function(nm) {
- nm.store.iframe.width(1025);
- nm.store.iframe.height(665);
- },
- close: function(nm) {
- // We don't do anything here, we hack the callback directly from the close function.
- },
- afterClose: function(nm) {
- // Can't do that because searchprojectfilterurl is not defined in init_events_base params
- searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
- }
- }
- });
-
-
- $('.ldt_link',base_node).each(function(i, e) {
- nm = $(e).data('nmObj');
- $(e).data('nmObj', $.extend(true, nm, {
- close: testAndClose(nm.close)
- }));
- });
-
-
- $('.ldt_link_create',base_node).each(function(i){
- $(this).attr("target","_iri");
- });
- $('.ldt_link_create',base_node).nyroModal({
-
- filters: ['iriIframe'],
- sizes: {
- minW: '600',
- minH: '500'
- },
- showCloseButton:true,
- closeOnEscape:false,
- closeOnClick:false,
- callbacks: {
- afterShowCont: function(nm) {
- nm.store.iframe.width(600);
- nm.store.iframe.height(600);
- var iframe = nm.store.iframe;
- iframe.load(function(){
- var form_status = $(this).contents().find("#project_form_status").val();
- if(form_status === 'saved' || form_status === 'deleted' ) {
- $.nmTop().close();
- }
- var swfobject = $(this).contents().find("#ldtInitSwf");
- if (swfobject.length) {
- nm['sizes']['initW'] = 1025;
- nm['sizes']['initH'] = 665;
- nm.resize();
- nm.store.iframe.width(1025);
- nm.store.iframe.height(665);
- }
- });
- },
- afterClose: function(nm) {
- searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
- }
- }
- });
- $('.ldt_link_create',base_node).each(function(i, e) {
- nm = $(e).data('nmObj');
- $(e).data('nmObj', $.extend(true, nm, {
- close: testAndClose(nm.close)
- }));
- });
-
-
- $('.publishedproject', base_node).click(function(e) {
- e.preventDefault();
- var target = $(e.target);
- var project_id = target.attr('id').replace('project_','');
- var url = unpublishprojecturl.replace('__PROJECT_ID__', project_id);
- $.ajax({
- url: url,
- type: 'POST',
- data: {csrfmiddlewaretoken:global_csrf_token},
- // bug with jquery >= 1.5, "json" adds a callback so we don't specify dataType
- //dataType: 'json',
- success: function(json, textStatus, XMLHttpRequest) {
- if(json.res) {
- searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
- }
- }
- });
- });
-
- $('.unpublishedproject', base_node).click(function(e) {
- e.preventDefault();
- var target = $(e.target);
- var project_id = target.attr('id').replace('project_','');
- var url = publishprojecturl.replace('__PROJECT_ID__', project_id);
- $.ajax({
- url: url,
- type: 'POST',
- data: {csrfmiddlewaretoken:global_csrf_token},
- // bug with jquery >= 1.5, "json" adds a callback so we don't specify dataType
- //dataType: 'json',
- success: function(json, textStatus, XMLHttpRequest) {
- if(json.res) {
- searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
- }
- }
- });
- });
-
- $('.projecttitlelink').each(function(i){
- $(this).attr("target","_blank");
- });
- $('.projecttitlelink').nyroModal({
- filters: ['iframe'],
- sizes: {
- minH:680,
- minW:600
- },
- callbacks: {
- afterClose: function(nm) {
- searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
- },
- afterShowCont: function(nm) {
- nm.store.iframe.height(680);
- nm.store.iframe.width(600);
- var iframe = nm.store.iframe;
- iframe.load(function(){
- var form_status = $(this).contents().find("#project_form_status").val();
- if(form_status === 'saved' || form_status === 'deleted') {
- $.nmTop().close();
- }
- });
- }
- }
- });
-
-}
-
-function init_events_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) {
- init_events_base(base_node, embed_url);
- init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl);
-}
-
-function init_events_all(base_node, embed_url, searchcontentfilterurl, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) {
- init_events_contents(base_node, embed_url, searchcontentfilterurl);
- init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl);
-}
-
-function searchFieldInit(input_list_init) {
-
- $(".searchfieldinputbase").keydown(function (e) {
- if(e.which === 27) {
- $(e.target).blur();
- $(e.target).next(".searchajaxloader").hide();
- }
- });
-
- $('.searchfieldinput').each(function(i) {
- var sbox = $(this);
- if(sbox.val() !== '') {
- sbox.attr('defaultText', sbox.val());
- }
-
- sbox.focus(function() {
- box = $(this);
- if(box.val() === box.attr('defaultText')) {
- box.val('');
- box.toggleClass("searchfieldinput");
- }
- });
-
- sbox.blur(function() {
- var box = $(this);
- if(box.val() === '' && box.attr('defaultText')) {
- box.val(box.attr('defaultText'));
- box.toggleClass("searchfieldinput");
- }
- });
-
- });
-
- $.each(input_list_init, function(index, value) {
- $(value['input_selector']).keyup(function (e) {
- searchCallback(e.target, value['container_selector'], value['url']);
- });
- });
-
- $('.searchclear').click(function(e) {
- var box = $(e.target).parent().find("input");
- box.val(box.attr('defaultText'));
- box.addClass("searchfieldinput");
- box.blur();
- box.keyup();
- });
-
- $('.searchclear').each(function(i) {
- $(this).hide();
- });
-
-}
-
-//
-// Functions used in the create content view.
-//
-function onCreateContentReady(url_upload, media_prefix, post_added_params, btn_label, success_label) {
-
- var upload_from_local_done = false;
-
- $("#close_button").click(function (e) {
- e.preventDefault();
- parent.$.nmTop().close();
- });
- $("#submit_button_write").click(function(e) {
- $(".submitcontent-loader-content").show();
- });
- $(".media_fields").hide();
- $("#media_field_"+$("#id_content-media_input_type").val()).show();
- $("#id_content-media_input_type").change(function(e) {
- $(".media_fields").hide();
- $("#media_field_"+$(e.target).val()).show();
- });
- // The textinput's id for external url is id_media-src
- $('#id_media-src').bind('textchange', function(e) { testUrlValue(e); });
-
- // We disable the default submit
- $('#my_form').submit(function() {
- if($('#id_content-media_input_type').val()=="upload" && upload_from_local_done==false){
- //alert("1. " + $('#id_content-media_input_type').val() + ", upload_done = " + upload_from_local_done);
- startLocalUpload();
- return false;
- }
- else{
- //alert("2. " + $('#id_content-media_input_type').val());
- return true;
- }
- });
-
- $("#upload_progress_bar").css({ width:"90%", height:"10" });
-
- $('#media_fields_div').height(80);
-
- // We init the swfupload object
- swfupload = new SWFUpload({
- debug: false,
-
- upload_url: url_upload,
- flash_url: media_prefix+"swf/swfupload.swf",
-
- post_params: post_added_params,
-
- button_placeholder_id: "upload_btn",
- button_width: "60",
- button_height: "16",
- button_cursor: SWFUpload.CURSOR.HAND,
- button_text : '<span class="btnText">' + btn_label + '</span>',
- button_text_style : ".btnText { font-size: 12; font-family: Arial; }",
-
- file_types : "*.flv;*.f4v;*.mp4;*.mov;*.mp3",
- file_types_description : "Media Files (flv, f4v, mov H264, mp4, mp3)",
- file_upload_limit : "1",
- file_queue_limit : "1",
-
- upload_progress_handler : uploadProgress,
- upload_error_handler : uploadError,
- //upload_success_handler : uploadSuccess,
- upload_success_handler : function() {
- try {
- if($('#upload_progress_info').children().size()>0){
- $('#progress_info').remove();
- }
- $('#upload_progress_info').append('<p id="progress_info">' + success_label + '.</p>');
- upload_from_local_done = true;
- // Now that the file is uploaded, we submit the form
- $('#my_form').submit();
- }
- catch (ex) {
- //this.debug(ex);
- }
- },
-
- file_queued_handler : displayUploadPath,
- //file_dialog_complete_handler: function() { this.startUpload(); },
- //upload_complete_handler: function() { this.startUpload(); },
- });
-}
-function displayUploadPath(file) {
- try {
- $('#id_media-local_file_name').val(file.name);
- }
- catch (ex) {
- //this.debug(ex);
- }
-}
-function startLocalUpload(){
- swfupload.startUpload();
-}
-function uploadProgress(file, bytesLoaded, bytesTotal) {
- try {
- var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);
- $("#upload_progress_bar").progressbar({ value: percent });
- }
- catch (ex) {
- //this.debug(ex);
- }
-}
-function uploadSuccess(success_label) {
- try {
- if($('#upload_progress_info').children().size()>0){
- $('#progress_info').remove();
- }
- $('#upload_progress_info').append('<p id="progress_info">' + success_label + '.</p>');
- upload_from_local_done = true;
- // Now that the file is uploaded, we submit the form
- $('#my_form').submit();
- }
- catch (ex) {
- //this.debug(ex);
- }
-}
-function uploadError(file, errorCode, message) {
- try {
- if($('#upload_progress_info').children().size()>0){
- $('#progress_info').remove();
- }
- switch (errorCode) {
- case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
- $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: HTTP Error, File name: " + file.name + ", Message: " + message + '</p>');
- break;
- case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
- $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: Upload Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message + '</p>');
- break;
- case SWFUpload.UPLOAD_ERROR.IO_ERROR:
- $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: IO Error, File name: " + file.name + ", Message: " + message + '</p>');
- break;
- case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
- $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: Security Error, File name: " + file.name + ", Message: " + message + '</p>');
- break;
- case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
- $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message + '</p>');
- break;
- case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
- $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: File Validation Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message + '</p>');
- break;
- case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
- $('#upload_progress_info').append('<p id="progress_info">' + "Error Code: FILE_CANCELLED" + '</p>');
- break;
- case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
- $('#upload_progress_info').append('<p id="progress_info">' + "STOPPED" + '</p>');
- break;
- default:
- $('#upload_progress_info').append('<p id="progress_info">' + "unhandled error: File name: " + file.name + ", File size: " + file.size + ", Message: " + message + '</p>');
- break;
- }
- } catch (ex) {
- //this.debug(ex);
- }
-}
-
-// Test the value of the URL from the form to load a picture in case it is a youtube video
-function testUrlValue(e){
- // First, we remove the current thumbnail if there is one.
- if($('#media_field_create').children().size()>2){
- $('#external_thumbnail').remove();
- $('#media_fields_div').height(80);
- }
- // If the pasted text is a youtube url, we get the default thumbnail of the video and display it.
- url = $('#id_media-src').val();
- if(url.match("youtube") && url.match("[\\?&]v=([^&#]*)")){
- results = url.match("[\\?&]v=([^&#]*)");
- vid = ( results === null ) ? url : results[1].substring(0,11);
- if(vid.length===11){
- //$('#id_content-description').val($('#media_field_create') + '<img src="http://img.youtube.com/vi/'+vid+'/default.jpg" alt="Youtube Thumbnail"/>');
- $('#media_field_create').append('<img id="external_thumbnail" src="http://img.youtube.com/vi/'+vid+'/default.jpg" alt="Youtube Thumbnail"/>');
- $('#media_fields_div').height(150);
- }
- }
-}