Mercurial > defr > drupal > scald > mee
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; + } +}
