57 lines
1.4 KiB
JavaScript
57 lines
1.4 KiB
JavaScript
(function($) {
|
|
|
|
/**
|
|
* Attach this editor to a target element.
|
|
*/
|
|
Drupal.wysiwyg.editor.attach.wymeditor = function (context, params, settings) {
|
|
// Prepend basePath to wymPath.
|
|
settings.wymPath = settings.basePath + settings.wymPath;
|
|
// Update activeId on focus.
|
|
settings.postInit = function (instance) {
|
|
$(instance._doc).focus(function () {
|
|
Drupal.wysiwyg.activeId = params.field;
|
|
});
|
|
};
|
|
// Attach editor.
|
|
$('#' + params.field).wymeditor(settings);
|
|
};
|
|
|
|
/**
|
|
* Detach a single or all editors.
|
|
*/
|
|
Drupal.wysiwyg.editor.detach.wymeditor = function (context, params) {
|
|
if (typeof params != 'undefined') {
|
|
var $field = $('#' + params.field);
|
|
var index = $field.data(WYMeditor.WYM_INDEX);
|
|
if (typeof index != 'undefined') {
|
|
var instance = WYMeditor.INSTANCES[index];
|
|
instance.update();
|
|
$(instance._box).remove();
|
|
$(instance._element).show();
|
|
delete instance;
|
|
}
|
|
$field.show();
|
|
}
|
|
else {
|
|
jQuery.each(WYMeditor.INSTANCES, function () {
|
|
this.update();
|
|
$(this._box).remove();
|
|
$(this._element).show();
|
|
delete this;
|
|
});
|
|
}
|
|
};
|
|
|
|
Drupal.wysiwyg.editor.instance.wymeditor = {
|
|
insert: function (content) {
|
|
var $field = $('#' + this.field);
|
|
var index = $field.data(WYMeditor.WYM_INDEX);
|
|
if (typeof index != 'undefined') {
|
|
var instance = WYMeditor.INSTANCES[index];
|
|
instance.insert(content);
|
|
}
|
|
}
|
|
};
|
|
|
|
})(jQuery);
|