Dotclear

source: plugins/dcLegacyEditor/js/jsToolBar/popup_media.js @ 3725:b47f38c701ee

Revision 3725:b47f38c701ee, 3.9 KB checked in by franck <carnet.franck.paul@…>, 8 years ago (diff)

Use specialized input fields (color, email, url, number, …) where is relevant

Line 
1/*global $ */
2'use strict';
3
4$(function() {
5  $('#media-insert').onetabload(function() {
6    $('#media-insert-cancel').click(function() {
7      window.close();
8    });
9
10    $('#media-insert-ok').click(function() {
11      sendClose();
12      window.close();
13    });
14  });
15
16  function sendClose() {
17    var insert_form = $('#media-insert-form').get(0);
18    if (insert_form == undefined) {
19      return;
20    }
21
22    var tb = window.opener.the_toolbar;
23    var type = insert_form.elements.type.value;
24    var media_align_grid = {
25      left: 'float: left; margin: 0 1em 1em 0;',
26      right: 'float: right; margin: 0 0 1em 1em;',
27      center: 'text-align: center;'
28    };
29    var align, player;
30
31    if (type == 'image') {
32      tb.elements.img_select.data.src = tb.stripBaseURL($('input[name="src"]:checked', insert_form).val());
33      tb.elements.img_select.data.alignment = $('input[name="alignment"]:checked', insert_form).val();
34      tb.elements.img_select.data.link = $('input[name="insertion"]:checked', insert_form).val() == 'link';
35
36      tb.elements.img_select.data.title = insert_form.elements.title.value;
37      tb.elements.img_select.data.description = $('input[name="description"]', insert_form).val();
38      tb.elements.img_select.data.url = tb.stripBaseURL(insert_form.elements.url.value);
39
40      var media_legend = $('input[name="legend"]:checked', insert_form).val();
41      if (media_legend != '' && media_legend != 'title' && media_legend != 'none') {
42        media_legend = 'legend';
43      }
44      if (media_legend != 'legend') {
45        tb.elements.img_select.data.description = '';
46      }
47      if (media_legend == 'none') {
48        tb.elements.img_select.data.title = '';
49      }
50
51      tb.elements.img_select.fncall[tb.mode].call(tb);
52    } else if (type == 'mp3') {
53      player = $('#public_player').val();
54      align = $('input[name="alignment"]:checked', insert_form).val();
55
56      if (align != undefined && align != 'none') {
57        player = '<div style="' + media_align_grid[align] + '">' + player + '</div>';
58      }
59
60      tb.elements.mp3_insert.data.player = player.replace(/>/g, '>\n');
61      tb.elements.mp3_insert.fncall[tb.mode].call(tb);
62    } else if (type == 'flv') // may be all video media, not only flv
63    {
64      var oplayer = $('<div>' + $('#public_player').val() + '</div>');
65      var flashvars = $('[name=FlashVars]', oplayer).val();
66
67      align = $('input[name="alignment"]:checked', insert_form).val();
68
69      var title = insert_form.elements.title.value;
70      if (title) {
71        flashvars = 'title=' + encodeURI(title) + '&amp;' + flashvars;
72      }
73
74      var vw = $('#video_w').val();
75      var vh = $('#video_h').val();
76
77      if (vw > 0) {
78        $('video', oplayer).attr('width', vw);
79        $('object', oplayer).attr('width', vw);
80        flashvars = flashvars.replace(/(width=\d*)/, 'width=' + vw);
81      } else {
82        $('video', oplayer).removeAttr('width');
83        $('object', oplayer).removeAttr('width');
84        flashvars = flashvars.replace(/(width=\d*)/, '');
85      }
86      if (vh > 0) {
87        $('video', oplayer).attr('height', vh);
88        $('object', oplayer).attr('height', vh);
89        flashvars = flashvars.replace(/(height=\d*)/, 'height=' + vh);
90      } else {
91        $('video', oplayer).removeAttr('height');
92        $('object', oplayer).removeAttr('height');
93        flashvars = flashvars.replace(/(height=\d*)/, '');
94      }
95
96      $('[name=FlashVars]', oplayer).val(flashvars);
97      player = oplayer.html();
98
99      if (align != undefined && align != 'none') {
100        player = '<div style="' + media_align_grid[align] + '">' + player + '</div>';
101      }
102
103      tb.elements.flv_insert.data.player = player.replace(/>/g, '>\n');
104      tb.elements.flv_insert.fncall[tb.mode].call(tb);
105    } else {
106      tb.elements.link.data.href = tb.stripBaseURL(insert_form.elements.url.value);
107      tb.elements.link.data.content = insert_form.elements.title.value;
108      tb.elements.link.fncall[tb.mode].call(tb);
109    }
110  }
111});
Note: See TracBrowser for help on using the repository browser.

Sites map