diff sites/all/modules/wysiwyg/editors/js/none.js @ 0:ff03f76ab3fe

initial version
author danieleb <danielebarchiesi@me.com>
date Wed, 21 Aug 2013 18:51:11 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sites/all/modules/wysiwyg/editors/js/none.js	Wed Aug 21 18:51:11 2013 +0100
@@ -0,0 +1,91 @@
+(function($) {
+
+/**
+ * Attach this editor to a target element.
+ *
+ * @param context
+ *   A DOM element, supplied by Drupal.attachBehaviors().
+ * @param params
+ *   An object containing input format parameters. Default parameters are:
+ *   - editor: The internal editor name.
+ *   - theme: The name/key of the editor theme/profile to use.
+ *   - field: The CSS id of the target element.
+ * @param settings
+ *   An object containing editor settings for all enabled editor themes.
+ */
+Drupal.wysiwyg.editor.attach.none = function(context, params, settings) {
+  if (params.resizable) {
+    var $wrapper = $('#' + params.field).parents('.form-textarea-wrapper:first');
+    $wrapper.addClass('resizable');
+    if (Drupal.behaviors.textarea) {
+      Drupal.behaviors.textarea.attach();
+    }
+  }
+};
+
+/**
+ * Detach a single or all editors.
+ *
+ * The editor syncs its contents back to the original field before its instance
+ * is removed.
+ *
+ * @param context
+ *   A DOM element, supplied by Drupal.attachBehaviors().
+ * @param params
+ *   (optional) An object containing input format parameters. If defined,
+ *   only the editor instance in params.field should be detached. Otherwise,
+ *   all editors should be detached and saved, so they can be submitted in
+ *   AJAX/AHAH applications.
+ * @param trigger
+ *   A string describing why the editor is being detached.
+ *   Possible triggers are:
+ *   - unload: (default) Another or no editor is about to take its place.
+ *   - move: Currently expected to produce the same result as unload.
+ *   - serialize: The form is about to be serialized before an AJAX request or
+ *     a normal form submission. If possible, perform a quick detach and leave
+ *     the editor's GUI elements in place to avoid flashes or scrolling issues.
+ * @see Drupal.detachBehaviors
+ */
+Drupal.wysiwyg.editor.detach.none = function (context, params, trigger) {
+  if (typeof params != 'undefined' && (trigger != 'serialize')) {
+    var $wrapper = $('#' + params.field).parents('.form-textarea-wrapper:first');
+    $wrapper.removeOnce('textarea').removeClass('.resizable-textarea')
+      .find('.grippie').remove();
+  }
+};
+
+/**
+ * Instance methods for plain text areas.
+ */
+Drupal.wysiwyg.editor.instance.none = {
+  insert: function(content) {
+    var editor = document.getElementById(this.field);
+
+    // IE support.
+    if (document.selection) {
+      editor.focus();
+      var sel = document.selection.createRange();
+      sel.text = content;
+    }
+    // Mozilla/Firefox/Netscape 7+ support.
+    else if (editor.selectionStart || editor.selectionStart == '0') {
+      var startPos = editor.selectionStart;
+      var endPos = editor.selectionEnd;
+      editor.value = editor.value.substring(0, startPos) + content + editor.value.substring(endPos, editor.value.length);
+    }
+    // Fallback, just add to the end of the content.
+    else {
+      editor.value += content;
+    }
+  },
+
+  setContent: function (content) {
+    $('#' + this.field).val(content);
+  },
+
+  getContent: function () {
+    return $('#' + this.field).val();
+  }
+};
+
+})(jQuery);