Dotclear

source: plugins/dcCKEditor/js/popup_media.js @ 3038:745351c3e152

Revision 3038:745351c3e152, 2.4 KB checked in by Nicolas <nikrou77@…>, 10 years ago (diff)

better without commented code

Line 
1$(function() {
2     $('#media-insert-cancel').click(function() {
3          window.close();
4     });
5
6     $('#media-insert-ok').click(function() {
7          var insert_form = $('#media-insert-form').get(0);
8          if (insert_form === undefined) {
9               return;
10          }
11
12          var editor_name = window.opener.$.getEditorName(),
13              editor = window.opener.CKEDITOR.instances[editor_name],
14              type = insert_form.elements.type.value,
15              img = '',
16              figure = '',
17              fig_caption = '',
18              media_align_grid = {
19                   left: 'float: left; margin: 0 1em 1em 0;',
20                   right: 'float: right; margin: 0 0 1em 1em;',
21                   center: 'margin: 0 auto; display: block;'
22              };
23
24          if (type=='image') {
25               if (editor.mode=='wysiwyg') {
26                    var figure_template = '<figure style="{figureStyle}"><img class="media" src="{imgSrc}" alt="{imgAlt}"/><figcaption>{figCaption}</figcaption></figure>',
27                        a_figure_template = '<a class="media-link" href="{aHref}">'+figure_template+'</a>',
28                        figure_block = new window.opener.CKEDITOR.template(figure_template),
29                        a_figure_block = new window.opener.CKEDITOR.template( a_figure_template),
30                        params = {},
31                        templateBlock = null;
32
33                    var align = $('input[name="alignment"]:checked',insert_form).val();
34                    if (align!='' && align!='none') {
35                         params.figureStyle = media_align_grid[align];
36                    }
37
38                    var img_description = $('input[name="description"]',insert_form).val();
39                    params.figCaption = window.opener.CKEDITOR.tools.htmlEncodeAttr(img_description);
40                    params.imgAlt = 'alt for image';
41                    params.imgSrc = window.opener.$.stripBaseURL($('input[name="src"]:checked',insert_form).val());
42
43                    if ($('input[name="insertion"]:checked',insert_form).val() == 'link') {
44                         params.aHref = window.opener.$.stripBaseURL($('input[name="url"]',insert_form).val());
45                         templateBlock = a_figure_block;
46                    } else {
47                         templateBlock = figure_block;
48                    }
49
50                    var figure = window.opener.CKEDITOR.dom.element.createFromHtml(
51                         templateBlock.output(params), editor.document
52                    );
53
54                    editor.insertElement(figure);
55               }
56          } else {
57               var link = '<a href="';
58               link += window.opener.$.stripBaseURL($('input[name="url"]',insert_form).val());
59               link += '">'+window.opener.CKEDITOR.tools.htmlEncodeAttr(insert_form.elements.title.value)+'</a>';
60               element = window.opener.CKEDITOR.dom.element.createFromHtml(link);
61
62               editor.insertElement(element);
63          }
64
65          window.close();
66     });
67});
Note: See TracBrowser for help on using the repository browser.

Sites map