summaryrefslogtreecommitdiff
path: root/sites/all/modules/wysiwyg/editors/js/wymeditor.js
diff options
context:
space:
mode:
Diffstat (limited to 'sites/all/modules/wysiwyg/editors/js/wymeditor.js')
-rw-r--r--sites/all/modules/wysiwyg/editors/js/wymeditor.js74
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);