| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							
- /**
 
-  * Wysiwyg plugin button implementation for Awesome plugin.
 
-  */
 
- Drupal.wysiwyg.plugins.awesome = {
 
-   /**
 
-    * Return whether the passed node belongs to this plugin.
 
-    *
 
-    * @param node
 
-    *   The currently focused DOM element in the editor content.
 
-    */
 
-   isNode: function(node) {
 
-     return ($(node).is('img.mymodule-awesome'));
 
-   },
 
-   /**
 
-    * Execute the button.
 
-    *
 
-    * @param data
 
-    *   An object containing data about the current selection:
 
-    *   - format: 'html' when the passed data is HTML content, 'text' when the
 
-    *     passed data is plain-text content.
 
-    *   - node: When 'format' is 'html', the focused DOM element in the editor.
 
-    *   - content: The textual representation of the focused/selected editor
 
-    *     content.
 
-    * @param settings
 
-    *   The plugin settings, as provided in the plugin's PHP include file.
 
-    * @param instanceId
 
-    *   The ID of the current editor instance.
 
-    */
 
-   invoke: function(data, settings, instanceId) {
 
-     // Generate HTML markup.
 
-     if (data.format == 'html') {
 
-       // Prevent duplicating a teaser break.
 
-       if ($(data.node).is('img.mymodule-awesome')) {
 
-         return;
 
-       }
 
-       var content = this._getPlaceholder(settings);
 
-     }
 
-     // Generate plain text.
 
-     else {
 
-       var content = '<!--break-->';
 
-     }
 
-     // Insert new content into the editor.
 
-     if (typeof content != 'undefined') {
 
-       Drupal.wysiwyg.instances[instanceId].insert(content);
 
-     }
 
-   },
 
-   /**
 
-    * Prepare all plain-text contents of this plugin with HTML representations.
 
-    *
 
-    * Optional; only required for "inline macro tag-processing" plugins.
 
-    *
 
-    * @param content
 
-    *   The plain-text contents of a textarea.
 
-    * @param settings
 
-    *   The plugin settings, as provided in the plugin's PHP include file.
 
-    * @param instanceId
 
-    *   The ID of the current editor instance.
 
-    */
 
-   attach: function(content, settings, instanceId) {
 
-     content = content.replace(/<!--break-->/g, this._getPlaceholder(settings));
 
-     return content;
 
-   },
 
-   /**
 
-    * Process all HTML placeholders of this plugin with plain-text contents.
 
-    *
 
-    * Optional; only required for "inline macro tag-processing" plugins.
 
-    *
 
-    * @param content
 
-    *   The HTML content string of the editor.
 
-    * @param settings
 
-    *   The plugin settings, as provided in the plugin's PHP include file.
 
-    * @param instanceId
 
-    *   The ID of the current editor instance.
 
-    */
 
-   detach: function(content, settings, instanceId) {
 
-     var $content = $('<div>' + content + '</div>');
 
-     $.each($('img.mymodule-awesome', $content), function (i, elem) {
 
-       //...
 
-     });
 
-     return $content.html();
 
-   },
 
-   /**
 
-    * Helper function to return a HTML placeholder.
 
-    *
 
-    * The 'drupal-content' CSS class is required for HTML elements in the editor
 
-    * content that shall not trigger any editor's native buttons (such as the
 
-    * image button for this example placeholder markup).
 
-    */
 
-   _getPlaceholder: function (settings) {
 
-     return '<img src="' + settings.path + '/images/spacer.gif" alt="<--break->" title="<--break-->" class="wysiwyg-break drupal-content" />';
 
-   }
 
- };
 
 
  |