|
franck@8
|
1 Drupal.behaviors.mee = function(context) { |
|
franck@11
|
2 $("div.mee-wrap-editor-library:not(.mee-processed)") |
|
franck@11
|
3 .addClass('mee-processed') |
|
franck@11
|
4 .find('> div.dnd-library-wrapper') |
|
franck@11
|
5 .each(function() { |
|
franck@11
|
6 var $editor = $('#' + this.id.slice(0, -12)); |
|
franck@11
|
7 $editor.bind('wysiwygAttach', Drupal.mee.attach); |
|
franck@11
|
8 $editor.bind('wysiwygDetach', Drupal.mee.detach); |
|
franck@11
|
9 }) |
|
franck@11
|
10 .end() |
|
franck@8
|
11 } |
|
franck@11
|
12 |
|
franck@11
|
13 Drupal.mee = { |
|
franck@11
|
14 attach: function(e, data) { |
|
franck@11
|
15 var t = setInterval(function() { |
|
franck@11
|
16 var tiny_instance = tinyMCE.getInstanceById(data.field); |
|
franck@11
|
17 if (tiny_instance) { |
|
franck@11
|
18 clearInterval(t); |
|
franck@11
|
19 $(tiny_instance.editor_id) |
|
franck@11
|
20 .find('iframe') |
|
franck@11
|
21 .unbind('dnd_drop') |
|
franck@11
|
22 .bind('dnd_drop', function(e, data) { |
|
franck@11
|
23 var rep = Drupal.settings.dndEditorRepresentations[data.representation_id]; |
|
franck@11
|
24 $(this) |
|
franck@11
|
25 .parents('div.mee-wrap-editor-library.mee-processed') |
|
franck@11
|
26 .find('table.mee-ressource-manager') |
|
franck@11
|
27 .each(function(i) { |
|
franck@11
|
28 $(this).append(Drupal.mee.generate( |
|
franck@14
|
29 data.representation_id, |
|
franck@14
|
30 rep, |
|
franck@11
|
31 Drupal.tableDrag[this.id] |
|
franck@11
|
32 )); |
|
franck@11
|
33 }); |
|
franck@11
|
34 }); |
|
franck@11
|
35 } |
|
franck@11
|
36 }, 100); |
|
franck@11
|
37 }, |
|
franck@11
|
38 detach: function(e, data) { |
|
franck@11
|
39 |
|
franck@11
|
40 }, |
|
franck@14
|
41 generate: function(id, representation, tableDrag) { |
|
franck@14
|
42 var $weight = $("<select />"), $tr = $('<tr />'), $td = $("<td />"), parity; |
|
franck@14
|
43 var separator = $(tableDrag.table).find('div.mee-rm-separator select')[0]; |
|
franck@14
|
44 var wn = separator.name.replace(/\[0\]\[weight\]$/, '[' + id +'][weight]'); |
|
franck@14
|
45 var $required = $("<select />") |
|
franck@14
|
46 .attr('name', wn.replace(/\[weight\]$/, '[required]')) |
|
franck@14
|
47 .append("<option value='0'>"+ Drupal.t('Optional') +"</option>") |
|
franck@14
|
48 .append("<option value='1'>"+ Drupal.t('Required') +"</option>") |
|
franck@14
|
49 .val(representation.meta.action); |
|
franck@14
|
50 // If this ressource is already in the Ressource Manager, don't add a line |
|
franck@14
|
51 if ($('select[name="'+ wn +'"]', tableDrag.table).length) { |
|
franck@14
|
52 return ''; |
|
franck@14
|
53 } |
|
franck@11
|
54 $tr |
|
franck@11
|
55 .addClass('draggable') |
|
franck@11
|
56 .append($('<td></td>')) |
|
franck@14
|
57 .append($('<td></td>').append(representation.title)) |
|
franck@14
|
58 .append($('<td></td>').append($required)); |
|
franck@11
|
59 for (var i = -10; i <= 10; i++) { |
|
franck@14
|
60 $weight.append("<option>"+ i +"</option>"); |
|
franck@11
|
61 } |
|
franck@14
|
62 $weight.val(0).addClass('mee-rm-weight').attr('name', wn); |
|
franck@14
|
63 $td.append($weight); |
|
franck@11
|
64 $tr.append($td); |
|
franck@12
|
65 parity = $(tableDrag.table).find('tr').size() % 2 ? 'odd' : 'even'; |
|
franck@12
|
66 $tr.addClass(parity); |
|
franck@12
|
67 tableDrag.makeDraggable($tr.get(0)); |
|
franck@11
|
68 return $tr; |
|
franck@11
|
69 } |
|
franck@11
|
70 } |