Dotclear

source: plugins/dcCKEditor/js/popup_media.js @ 3037:fac87f3ccdb0

Revision 3037:fac87f3ccdb0, 3.3 KB checked in by Nicolas <nikrou77@…>, 10 years ago (diff)

Try to fix feature 1485

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                    // figure = '<figure';
57                    // img = '<img class="media" src="';
58                    // img += window.opener.$.stripBaseURL($('input[name="src"]:checked',insert_form).val())+'"';
59
60                    // fig_caption = '<figcaption>'+img_description+'</figcaption>';
61
62
63                    // var title = $('input[name="title"]',insert_form).val();
64                    // img += ' alt="'+window.opener.CKEDITOR.tools.htmlEncodeAttr(title)+'"/>';
65
66                    // figure += img + fig_caption + '</figure>';
67
68                    // var element;
69                    // if ($('input[name="insertion"]:checked',insert_form).val() == 'link') {
70                    //   var link = '<a class="media-link" href="';
71                    //   link += window.opener.$.stripBaseURL($('input[name="url"]',insert_form).val());
72                    //   link += '">'+figure+'</a>';
73
74                    //   element = '<a>'+figure+'</a>';//link;
75                    // } else {
76                    //   element = figure;
77                    // }
78
79                    // alert('element: '+element);
80
81                    // editor.insertElement(window.opener.CKEDITOR.dom.element.createFromHtml(element));
82               }
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);
88
89               editor.insertElement(element);
90          }
91
92          window.close();
93     });
94});
Note: See TracBrowser for help on using the repository browser.

Sites map