72 lines
2.2 KiB
JavaScript
72 lines
2.2 KiB
JavaScript
(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.attach) {
|
|
Drupal.behaviors.textarea.attach();
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Detach a single or all editors.
|
|
*
|
|
* @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.
|
|
*/
|
|
Drupal.wysiwyg.editor.detach.none = function(context, params) {
|
|
if (typeof params != 'undefined') {
|
|
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;
|
|
}
|
|
}
|
|
};
|
|
|
|
})(jQuery);
|