Changeset 3704:37312cc7eeda
- Timestamp:
- 02/16/18 12:37:18 (7 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/dcCKEditor/js/popup_media.js
r3446 r3704 1 1 $(function() { 2 3 4 2 $('#media-insert-cancel').click(function() { 3 window.close(); 4 }); 5 5 6 7 8 9 10 6 $('#media-insert-ok').click(function() { 7 var insert_form = $('#media-insert-form').get(0); 8 if (insert_form === undefined) { 9 return; 10 } 11 11 12 13 14 15 16 17 18 19 12 var editor_name = window.opener.$.getEditorName(), 13 editor = window.opener.CKEDITOR.instances[editor_name], 14 type = insert_form.elements.type.value, 15 media_align_grid = { 16 left: 'float: left; margin: 0 1em 1em 0;', 17 right: 'float: right; margin: 0 0 1em 1em;', 18 center: 'margin: 0 auto; display: table;' 19 }; 20 20 21 if (type == 'image') { 22 if (editor.mode == 'wysiwyg') { 23 var media_legend = $('input[name="legend"]:checked',insert_form).val(); 24 if (media_legend != '' && media_legend != 'title' && media_legend != 'none') { 25 media_legend = 'legend'; 26 } 27 if (media_legend == 'legend') { 28 var figure_template = '<figure style="{figureStyle}"><img class="media" src="{imgSrc}" alt="{imgAlt}"/><figcaption>{figCaption}</figcaption></figure>', 29 a_figure_template = '<figure style="{figureStyle}"><a class="media-link" href="{aHref}"><img class="media" src="{imgSrc}" alt="{imgAlt}"/></a><figcaption>{figCaption}</figcaption></figure>'; 30 } else if (media_legend == 'title') { 31 var figure_template = '<img style="{figureStyle}" class="media" src="{imgSrc}" alt="{imgAlt}"/>', 32 a_figure_template = '<a class="media-link" href="{aHref}"><img class="media" style="{figureStyle}" src="{imgSrc}" alt="{imgAlt}"/></a>'; 33 } else { 34 var figure_template = '<img style="{figureStyle}" class="media" src="{imgSrc}" alt=""/>', 35 a_figure_template = '<a class="media-link" href="{aHref}"><img class="media" style="{figureStyle}" src="{imgSrc}" alt=""/></a>'; 36 } 37 var figure_block = new window.opener.CKEDITOR.template(figure_template), 38 a_figure_block = new window.opener.CKEDITOR.template(a_figure_template), 39 params = {}, 40 templateBlock = null; 21 if (type == 'image') { 22 if (editor.mode == 'wysiwyg') { 41 23 42 var align = $('input[name="alignment"]:checked',insert_form).val(); 43 if (align!='' && align!='none') { 44 params.figureStyle = media_align_grid[align]; 45 } 24 var align = $('input[name="alignment"]:checked', insert_form).val(); 25 var media_legend = $('input[name="legend"]:checked', insert_form).val(); 26 var img_description = $('input[name="description"]', insert_form).val(); 27 var style = ''; 28 var template = ''; 29 var template_figure = [ 30 '', 31 '' 32 ]; 33 var template_link = [ 34 '', 35 '' 36 ]; 37 var template_image = ''; 46 38 47 var img_description = $('input[name="description"]',insert_form).val(); 48 params.figCaption = window.opener.CKEDITOR.tools.htmlEncodeAttr(img_description); 39 if (media_legend != '' && media_legend != 'title' && media_legend != 'none') { 40 media_legend = 'legend'; 41 } 49 42 50 var selected_element = ''; 51 if (editor.getSelection().getSelectedElement() !=null ) { 52 selected_element = editor.getSelection().getSelectedElement(); 53 } else { 54 selected_element = editor.getSelection().getNative().toString(); 55 } 56 if (selected_element == '') { 57 selected_element = window.opener.$.stripBaseURL($('input[name="title"]',insert_form).val()); 58 } 59 params.imgAlt = window.opener.CKEDITOR.tools.htmlEncodeAttr(selected_element); 60 params.imgSrc = window.opener.$.stripBaseURL($('input[name="src"]:checked',insert_form).val()); 43 // Build template 44 if (align != '' && align != 'none') { 45 // Set alignment 46 style = ' style="{figureStyle}"'; 47 } 48 if (media_legend == 'legend') { 49 // With a legend 50 template_figure[0] = '<figure' + style + '>'; 51 style = ''; // Do not use style further 52 if (img_description != '') { 53 template_figure[1] = '<figcaption>{figCaption}</figcaption>'; 54 } 55 template_figure[1] = template_figure[1] + '</figure>'; 56 } 57 template_image = '<img class="media" src="{imgSrc}" alt="{imgAlt}"' + style + '/>'; 58 if ($('input[name="insertion"]:checked', insert_form).val() == 'link') { 59 // With a link to original 60 template_link[0] = '<a class="media-link" href="{aHref}">'; 61 template_link[1] = '</a>'; 62 } 63 template = template_figure[0] + template_link[0] + template_image + template_link[1] + template_figure[1]; 61 64 62 if ($('input[name="insertion"]:checked',insert_form).val() == 'link') { 63 params.aHref = window.opener.$.stripBaseURL($('input[name="url"]',insert_form).val()); 64 templateBlock = a_figure_block; 65 } else { 66 templateBlock = figure_block; 67 } 65 var block = new window.opener.CKEDITOR.template(template); 66 var params = {}; 68 67 69 var figure = window.opener.CKEDITOR.dom.element.createFromHtml( 70 templateBlock.output(params), editor.document 71 ); 68 // Set parameters for template 69 if (media_legend != '' && media_legend != 'none') { 70 params.imgAlt = window.opener.CKEDITOR.tools.htmlEncodeAttr( 71 window.opener.$.stripBaseURL($('input[name="title"]', insert_form).val())); 72 } else { 73 params.imgAlt = ''; 74 } 75 params.imgSrc = window.opener.$.stripBaseURL($('input[name="src"]:checked', insert_form).val()); 76 if (align != '' && align != 'none') { 77 params.figureStyle = media_align_grid[align]; 78 } 79 params.figCaption = window.opener.CKEDITOR.tools.htmlEncodeAttr(img_description); 80 if ($('input[name="insertion"]:checked', insert_form).val() == 'link') { 81 params.aHref = window.opener.$.stripBaseURL($('input[name="url"]', insert_form).val()); 82 } 72 83 73 editor.insertElement(figure); 74 } 75 } else if (type=='mp3') { 76 var player = $('#public_player').val(); 77 var align = $('input[name="alignment"]:checked',insert_form).val(); 84 // Insert element 85 var figure = window.opener.CKEDITOR.dom.element.createFromHtml( 86 block.output(params), editor.document 87 ); 88 editor.insertElement(figure); 89 } 90 } else if (type == 'mp3') { 91 // Audio media 92 var player = $('#public_player').val(); 93 var align = $('input[name="alignment"]:checked', insert_form).val(); 78 94 79 if (align != undefined && align != 'none') { 80 player = '<div style="' + media_align_grid[align] + '">' + player + '</div>'; 81 } 82 editor.insertElement(window.opener.CKEDITOR.dom.element.createFromHtml(player)); 83 } else { 84 var link = '<a href="'; 85 link += window.opener.$.stripBaseURL($('input[name="url"]',insert_form).val()); 86 link += '">'+window.opener.CKEDITOR.tools.htmlEncodeAttr(insert_form.elements.title.value)+'</a>'; 87 element = window.opener.CKEDITOR.dom.element.createFromHtml(link); 95 if (align != undefined && align != 'none') { 96 player = '<div style="' + media_align_grid[align] + '">' + player + '</div>'; 97 } 98 editor.insertElement(window.opener.CKEDITOR.dom.element.createFromHtml(player)); 99 } else if (type == 'flv') { 100 // Video media 101 var oplayer = $('<div>' + $('#public_player').val() + '</div>'); 102 var flashvars = $("[name=FlashVars]", oplayer).val(); 88 103 89 editor.insertElement(element);90 } 104 var align = $('input[name="alignment"]:checked', insert_form).val(); 105 var title = insert_form.elements.title.value; 91 106 92 window.close(); 93 }); 107 $('video', oplayer).attr('width', $('#video_w').val()); 108 $('video', oplayer).attr('height', $('#video_h').val()); 109 110 if (title) { 111 flashvars = 'title=' + encodeURI(title) + '&' + flashvars; 112 } 113 $('object', oplayer).attr('width', $('#video_w').val()); 114 $('object', oplayer).attr('height', $('#video_h').val()); 115 flashvars = flashvars.replace(/(width=\d*)/, 'width=' + $('#video_w').val()); 116 flashvars = flashvars.replace(/(height=\d*)/, 'height=' + $('#video_h').val()); 117 118 $("[name=FlashVars]", oplayer).val(flashvars); 119 var player = oplayer.html(); 120 121 if (align != undefined && align != 'none') { 122 player = '<div style="' + media_align_grid[align] + '">' + player + '</div>'; 123 } 124 editor.insertElement(window.opener.CKEDITOR.dom.element.createFromHtml(player)); 125 } else { 126 // Unknown media type 127 var link = '<a href="'; 128 link += window.opener.$.stripBaseURL($('input[name="url"]', insert_form).val()); 129 link += '">' + window.opener.CKEDITOR.tools.htmlEncodeAttr(insert_form.elements.title.value) + '</a>'; 130 element = window.opener.CKEDITOR.dom.element.createFromHtml(link); 131 132 editor.insertElement(element); 133 } 134 135 window.close(); 136 }); 94 137 });
Note: See TracChangeset
for help on using the changeset viewer.