Dotclear

source: plugins/dcLegacyEditor/js/jsToolBar/popup_media.js @ 3880:e6d1f6d9d7df

Revision 3880:e6d1f6d9d7df, 3.9 KB checked in by franck <carnet.franck.paul@…>, 7 years ago (diff)

Use let and const rather than var (ES2015/ES6), use template string where is more efficient

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

Sites map