--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Tue Mar 29 13:33:43 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Tue Mar 29 13:57:28 2011 +0200
@@ -8,6 +8,7 @@
<script type="text/javascript" src="{{MEDIA_URL}}admin/js/core.js" ></script>
<script type="text/javascript" src="{% url jsi18n %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.nyroModal.min.js"></script>
+ <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.textchange.min.js"></script>
{{ content_form.media.js }}
{% endblock %}
@@ -36,7 +37,28 @@
$(".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); });
});
+ 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(50);
+ }
+ // 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);
+ }
+ }
+ }
+
</script>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt.html Tue Mar 29 13:33:43 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt.html Tue Mar 29 13:57:28 2011 +0200
@@ -10,8 +10,10 @@
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}/js/jquery.nyroModal.min.js"></script-->
<script type="text/javascript">
<!--
- function ldtSaveOk() {
- parent.$.nmTop().close(true);
+ function ldtSaveOk(param) {
+ // param can be "saved" or "notsaved"
+ //alert("ldtSaveOk " + param);
+ parent.$.nmTop().close(true);
}
-->
</script>
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt_full.html Tue Mar 29 13:33:43 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/init_ldt_full.html Tue Mar 29 13:57:28 2011 +0200
@@ -4,8 +4,8 @@
{% block js_import %}
{{block.super}}
<script type="text/javascript">
- function ldtSaveOk() {
- //alert("LDT a fini sa sauvegarde");
+ function ldtSaveOk(param) {
+ //alert("ldtSaveOk " + param);
}
window.onbeforeunload = onBeforeUnload_Handler;
--- a/src/ldt/ldt/ldt_utils/views.py Tue Mar 29 13:33:43 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/views.py Tue Mar 29 13:57:28 2011 +0200
@@ -751,7 +751,7 @@
else:
media = None
- if media and not created:
+ if media and not created:
for attribute in ('external_id', 'external_permalink', 'external_publication_url', 'external_src_url', 'media_creation_date', 'videopath', 'duration', 'description', 'title'):
setattr(media, attribute, cleaned_data.get(attribute))
mimetype = cleaned_data.get('mimetype_field',None)
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Tue Mar 29 13:33:43 2011 +0200
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Tue Mar 29 13:57:28 2011 +0200
@@ -46,7 +46,7 @@
#: .\ldt_utils\forms.py:44
msgid "create_media"
-msgstr "source serveur de stream"
+msgstr "source externe : fichier streamé, statique, url youtube..."
#: .\ldt_utils\forms.py:44
msgid "none_media"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/media/js/jquery.textchange.min.js Tue Mar 29 13:57:28 2011 +0200
@@ -0,0 +1,10 @@
+/*!
+ * jQuery TextChange Plugin
+ * http://www.zurb.com/playground/jquery-text-change-custom-event
+ *
+ * Copyright 2010, ZURB
+ * Released under the MIT License
+ */
+ (function(a){a.event.special.textchange={setup:function(){a(this).data("lastValue",this.contentEditable==="true"?a(this).html():a(this).val());a(this).bind("keyup.textchange",a.event.special.textchange.handler);a(this).bind("cut.textchange paste.textchange input.textchange",a.event.special.textchange.delayedHandler)},teardown:function(){a(this).unbind(".textchange")},handler:function(){a.event.special.textchange.triggerIfChanged(a(this))},delayedHandler:function(){var b=a(this);setTimeout(function(){a.event.special.textchange.triggerIfChanged(b)},
+ 25)},triggerIfChanged:function(b){var c=b[0].contentEditable==="true"?b.html():b.val();if(c!==b.data("lastValue")){b.trigger("textchange",b.data("lastValue"));b.data("lastValue",c)}}};a.event.special.hastext={setup:function(){a(this).bind("textchange",a.event.special.hastext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.hastext.handler)},handler:function(b,c){c===""&&c!==a(this).val()&&a(this).trigger("hastext")}};a.event.special.notext={setup:function(){a(this).bind("textchange",
+ a.event.special.notext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.notext.handler)},handler:function(b,c){a(this).val()===""&&a(this).val()!==c&&a(this).trigger("notext")}}})(jQuery);
\ No newline at end of file
--- a/src/ldt/ldt/media/js/projectscontents.js Tue Mar 29 13:33:43 2011 +0200
+++ b/src/ldt/ldt/media/js/projectscontents.js Tue Mar 29 13:57:28 2011 +0200
@@ -138,7 +138,7 @@
filters: ['iframe'],
sizes: {
minW: 770,
- minH: 500
+ minH: 550
},
callbacks: {
afterClose: function(nm) {
@@ -146,7 +146,7 @@
},
afterShowCont: function(nm) {
nm.store.iframe.width(770);
- nm.store.iframe.height(500);
+ 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' ) {
@@ -164,7 +164,7 @@
filters: ['iframe'],
sizes: {
minW: 770,
- minH: 500
+ minH: 550
},
callbacks: {
afterClose: function(nm) {
@@ -172,7 +172,7 @@
},
afterShowCont: function(nm) {
nm.store.iframe.width(770);
- nm.store.iframe.height(500);
+ 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') {
@@ -240,7 +240,7 @@
callbacks: {
afterShowCont: function(nm) {
nm.store.iframe.width(600);
- nm.store.iframe.height(500);
+ nm.store.iframe.height(600);
var iframe = nm.store.iframe;
iframe.load(function(){
var form_status = $(this).contents().find("#project_form_status").val();
@@ -311,7 +311,7 @@
filters: ['iframe'],
sizes: {
minH:680,
- minW:500
+ minW:600
},
callbacks: {
afterClose: function(nm) {
Binary file src/ldt/ldt/media/swf/ldt/LignesDeTempsFlex.swf has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/static/ldt/js/jquery.textchange.min.js Tue Mar 29 13:57:28 2011 +0200
@@ -0,0 +1,10 @@
+/*!
+ * jQuery TextChange Plugin
+ * http://www.zurb.com/playground/jquery-text-change-custom-event
+ *
+ * Copyright 2010, ZURB
+ * Released under the MIT License
+ */
+ (function(a){a.event.special.textchange={setup:function(){a(this).data("lastValue",this.contentEditable==="true"?a(this).html():a(this).val());a(this).bind("keyup.textchange",a.event.special.textchange.handler);a(this).bind("cut.textchange paste.textchange input.textchange",a.event.special.textchange.delayedHandler)},teardown:function(){a(this).unbind(".textchange")},handler:function(){a.event.special.textchange.triggerIfChanged(a(this))},delayedHandler:function(){var b=a(this);setTimeout(function(){a.event.special.textchange.triggerIfChanged(b)},
+ 25)},triggerIfChanged:function(b){var c=b[0].contentEditable==="true"?b.html():b.val();if(c!==b.data("lastValue")){b.trigger("textchange",b.data("lastValue"));b.data("lastValue",c)}}};a.event.special.hastext={setup:function(){a(this).bind("textchange",a.event.special.hastext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.hastext.handler)},handler:function(b,c){c===""&&c!==a(this).val()&&a(this).trigger("hastext")}};a.event.special.notext={setup:function(){a(this).bind("textchange",
+ a.event.special.notext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.notext.handler)},handler:function(b,c){a(this).val()===""&&a(this).val()!==c&&a(this).trigger("notext")}}})(jQuery);
\ No newline at end of file
--- a/web/static/ldt/js/projectscontents.js Tue Mar 29 13:33:43 2011 +0200
+++ b/web/static/ldt/js/projectscontents.js Tue Mar 29 13:57:28 2011 +0200
@@ -138,7 +138,7 @@
filters: ['iframe'],
sizes: {
minW: 770,
- minH: 500
+ minH: 550
},
callbacks: {
afterClose: function(nm) {
@@ -146,7 +146,7 @@
},
afterShowCont: function(nm) {
nm.store.iframe.width(770);
- nm.store.iframe.height(500);
+ 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' ) {
@@ -164,7 +164,7 @@
filters: ['iframe'],
sizes: {
minW: 770,
- minH: 500
+ minH: 550
},
callbacks: {
afterClose: function(nm) {
@@ -172,7 +172,7 @@
},
afterShowCont: function(nm) {
nm.store.iframe.width(770);
- nm.store.iframe.height(500);
+ 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') {
@@ -240,7 +240,7 @@
callbacks: {
afterShowCont: function(nm) {
nm.store.iframe.width(600);
- nm.store.iframe.height(500);
+ nm.store.iframe.height(600);
var iframe = nm.store.iframe;
iframe.load(function(){
var form_status = $(this).contents().find("#project_form_status").val();
@@ -311,7 +311,7 @@
filters: ['iframe'],
sizes: {
minH:680,
- minW:500
+ minW:600
},
callbacks: {
afterClose: function(nm) {
Binary file web/static/ldt/swf/ldt/LignesDeTempsFlex.swf has changed