diff mee.js @ 11:272628486e75

Adding the MEE Ressource Manager !
author Franck Deroche <franck@defr.org>
date Thu, 04 Jun 2009 12:59:55 +0200
parents c3b22723b82f
children da5d54d099b1
line wrap: on
line diff
--- a/mee.js	Wed Jun 03 15:02:37 2009 +0200
+++ b/mee.js	Thu Jun 04 12:59:55 2009 +0200
@@ -1,2 +1,55 @@
 Drupal.behaviors.mee = function(context) {
+  $("div.mee-wrap-editor-library:not(.mee-processed)")
+    .addClass('mee-processed')
+    .find('> div.dnd-library-wrapper')
+    .each(function() {
+      var $editor = $('#' + this.id.slice(0, -12)); 
+      $editor.bind('wysiwygAttach', Drupal.mee.attach);
+      $editor.bind('wysiwygDetach', Drupal.mee.detach);
+    })
+    .end()
 }
+
+Drupal.mee = {
+  attach: function(e, data) {
+    var t = setInterval(function() {
+      var tiny_instance = tinyMCE.getInstanceById(data.field);
+      if (tiny_instance) {
+        clearInterval(t);
+        $(tiny_instance.editor_id)
+          .find('iframe')
+          .unbind('dnd_drop')
+          .bind('dnd_drop', function(e, data) {
+            var rep = Drupal.settings.dndEditorRepresentations[data.representation_id];
+            $(this)
+              .parents('div.mee-wrap-editor-library.mee-processed')
+              .find('table.mee-ressource-manager')
+              .each(function(i) {
+                $(this).append(Drupal.mee.generate(
+                  rep.title,
+                  Drupal.tableDrag[this.id]
+                ));
+              });
+          });
+      }
+    }, 100);
+  },
+  detach: function(e, data) {
+
+  },
+  generate: function(title, tableDrag) {
+    var $select = $("<select />"), $tr = $('<tr />'), $td = $("<td />");
+    $tr
+      .addClass('draggable')
+      .append($('<td></td>'))
+      .append($('<td></td>').append(title));
+    for (var i = -10; i <= 10; i++) {
+      $select.append("<option>"+ i +"</option>");
+    }
+    $select.val(0).addClass('mee-rm-weight');
+    $td.append($select);
+    $tr.append($td);
+    tableDrag.makeDraggable($tr);
+    return $tr;
+  }
+}