12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- (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);
|