From e6e0d410ac92818679c03fc9bf5359562df81921 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Tue, 08 May 2012 05:38:39 -0400 Subject: [PATCH] TinyMCE 3.5 --- program/js/tiny_mce/plugins/media/js/media.js | 61 +++++++++++++++++++----------- 1 files changed, 39 insertions(+), 22 deletions(-) diff --git a/program/js/tiny_mce/plugins/media/js/media.js b/program/js/tiny_mce/plugins/media/js/media.js index c4ec453..733c5f6 100644 --- a/program/js/tiny_mce/plugins/media/js/media.js +++ b/program/js/tiny_mce/plugins/media/js/media.js @@ -48,7 +48,7 @@ } function setVal(id, value, name) { - if (typeof(value) != 'undefined') { + if (typeof(value) != 'undefined' && value != null) { var elm = get(id); if (elm.nodeName == "SELECT") @@ -66,9 +66,9 @@ window.Media = { init : function() { - var html, editor; + var html, editor, self = this; - this.editor = editor = tinyMCEPopup.editor; + self.editor = editor = tinyMCEPopup.editor; // Setup file browsers and color pickers get('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); @@ -80,7 +80,7 @@ get('audio_altsource2_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource2','audio_altsource2','media','media'); get('video_poster_filebrowser').innerHTML = getBrowserHTML('filebrowser_poster','video_poster','media','image'); - html = this.getMediaListHTML('medialist', 'src', 'media', 'media'); + html = self.getMediaListHTML('medialist', 'src', 'media', 'media'); if (html == "") get("linklistrow").style.display = 'none'; else @@ -104,11 +104,12 @@ if (isVisible('filebrowser_poster')) get('video_poster').style.width = '220px'; - editor.dom.setOuterHTML(get('media_type'), this.getMediaTypeHTML(editor)); + editor.dom.setOuterHTML(get('media_type'), self.getMediaTypeHTML(editor)); - this.data = clone(tinyMCEPopup.getWindowArg('data')); - this.dataToForm(); - this.preview(); + self.setDefaultDialogSettings(editor); + self.data = clone(tinyMCEPopup.getWindowArg('data')); + self.dataToForm(); + self.preview(); updateColor('bgcolor_pick', 'bgcolor'); }, @@ -175,14 +176,14 @@ formItemName = type == 'global' ? name : type + '_' + name; if (type == 'global') - list = data; - else if (type == 'video' || type == 'audio') { + list = data; + else if (type == 'video' || type == 'audio') { list = data.video.attrs; if (!list && !to_form) - data.video.attrs = list = {}; + data.video.attrs = list = {}; } else - list = data.params; + list = data.params; if (list) { if (to_form) { @@ -426,23 +427,39 @@ }, getMediaTypeHTML : function(editor) { + function option(media_type, element) { + if (!editor.schema.getElementRule(element || media_type)) { + return ''; + } + + return '<option value="'+media_type+'">'+tinyMCEPopup.editor.translate("media_dlg."+media_type)+'</option>' + } + var html = ""; + html += '<select id="media_type" name="media_type" onchange="Media.formToData(\'type\');">'; - html += '<option value="video">HTML5 Video</option>'; - html += '<option value="audio">HTML5 Audio</option>'; - html += '<option value="flash">Flash</option>'; - html += '<option value="quicktime">QuickTime</option>'; - html += '<option value="shockwave">Shockwave</option>'; - html += '<option value="windowsmedia">Windows Media</option>'; - html += '<option value="realmedia">Real Media</option>'; - html += '<option value="iframe">Iframe</option>'; + html += option("video"); + html += option("audio"); + html += option("flash", "object"); + html += option("quicktime", "object"); + html += option("shockwave", "object"); + html += option("windowsmedia", "object"); + html += option("realmedia", "object"); + html += option("iframe"); if (editor.getParam('media_embedded_audio', false)) { - html += '<option value="embeddedaudio">Embedded Audio</option>'; + html += option('embeddedaudio', "object"); } - + html += '</select>'; return html; + }, + + setDefaultDialogSettings : function(editor) { + var defaultDialogSettings = editor.getParam("media_dialog_defaults", {}); + tinymce.each(defaultDialogSettings, function(v, k) { + setVal(k, v); + }); } }; -- Gitblit v1.9.1