|
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]; |
|
defr@19
|
24 if (!rep) return; |
|
franck@11
|
25 $(this) |
|
franck@11
|
26 .parents('div.mee-wrap-editor-library.mee-processed') |
|
franck@11
|
27 .find('table.mee-ressource-manager') |
|
franck@11
|
28 .each(function(i) { |
|
franck@11
|
29 $(this).append(Drupal.mee.generate( |
|
franck@14
|
30 data.representation_id, |
|
franck@14
|
31 rep, |
|
franck@11
|
32 Drupal.tableDrag[this.id] |
|
franck@11
|
33 )); |
|
franck@11
|
34 }); |
|
franck@11
|
35 }); |
|
franck@11
|
36 } |
|
franck@11
|
37 }, 100); |
|
franck@11
|
38 }, |
|
franck@11
|
39 detach: function(e, data) { |
|
franck@11
|
40 |
|
franck@11
|
41 }, |
|
franck@14
|
42 generate: function(id, representation, tableDrag) { |
|
franck@14
|
43 var $weight = $("<select />"), $tr = $('<tr />'), $td = $("<td />"), parity; |
|
franck@14
|
44 var separator = $(tableDrag.table).find('div.mee-rm-separator select')[0]; |
|
franck@14
|
45 var wn = separator.name.replace(/\[0\]\[weight\]$/, '[' + id +'][weight]'); |
|
franck@14
|
46 var $required = $("<select />") |
|
franck@14
|
47 .attr('name', wn.replace(/\[weight\]$/, '[required]')) |
|
franck@14
|
48 .append("<option value='0'>"+ Drupal.t('Optional') +"</option>") |
|
franck@14
|
49 .append("<option value='1'>"+ Drupal.t('Required') +"</option>") |
|
franck@14
|
50 .val(representation.meta.action); |
|
franck@14
|
51 // If this ressource is already in the Ressource Manager, don't add a line |
|
franck@14
|
52 if ($('select[name="'+ wn +'"]', tableDrag.table).length) { |
|
franck@14
|
53 return ''; |
|
franck@14
|
54 } |
|
franck@11
|
55 $tr |
|
franck@11
|
56 .addClass('draggable') |
|
franck@11
|
57 .append($('<td></td>')) |
|
franck@14
|
58 .append($('<td></td>').append(representation.title)) |
|
franck@14
|
59 .append($('<td></td>').append($required)); |
|
franck@11
|
60 for (var i = -10; i <= 10; i++) { |
|
franck@14
|
61 $weight.append("<option>"+ i +"</option>"); |
|
franck@11
|
62 } |
|
franck@14
|
63 $weight.val(0).addClass('mee-rm-weight').attr('name', wn); |
|
franck@14
|
64 $td.append($weight); |
|
franck@11
|
65 $tr.append($td); |
|
franck@12
|
66 parity = $(tableDrag.table).find('tr').size() % 2 ? 'odd' : 'even'; |
|
franck@12
|
67 $tr.addClass(parity); |
|
franck@12
|
68 tableDrag.makeDraggable($tr.get(0)); |
|
franck@11
|
69 return $tr; |
|
franck@11
|
70 } |
|
franck@11
|
71 } |