diff options
Diffstat (limited to 'sites/all/modules/wysiwyg/editors/js/wymeditor.js')
-rw-r--r-- | sites/all/modules/wysiwyg/editors/js/wymeditor.js | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/sites/all/modules/wysiwyg/editors/js/wymeditor.js b/sites/all/modules/wysiwyg/editors/js/wymeditor.js new file mode 100644 index 000000000..4989dc60b --- /dev/null +++ b/sites/all/modules/wysiwyg/editors/js/wymeditor.js @@ -0,0 +1,74 @@ +(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, trigger) { + 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(); + if (trigger != 'serialize') { + $(instance._box).remove(); + $(instance._element).show(); + delete instance; + } + } + if (trigger != 'serialize') { + $field.show(); + } + } + else { + jQuery.each(WYMeditor.INSTANCES, function () { + this.update(); + if (trigger != 'serialize') { + $(this._box).remove(); + $(this._element).show(); + delete this; + } + }); + } +}; + +Drupal.wysiwyg.editor.instance.wymeditor = { + insert: function (content) { + this.getInstance().insert(content); + }, + + setContent: function (content) { + this.getInstance().html(content); + }, + + getContent: function () { + return this.getInstance().xhtml(); + }, + + getInstance: function () { + var $field = $('#' + this.field); + var index = $field.data(WYMeditor.WYM_INDEX); + if (typeof index != 'undefined') { + return WYMeditor.INSTANCES[index]; + } + return null; + } +}; + +})(jQuery); |