All Downloads are FREE. Search and download functionalities are using the official Maven repository.

root.libs.composum.nodes.commons.components.richtext.richtext.min.js Maven / Gradle / Ivy

There is a newer version: 4.3.4
Show newest version
(function(){CPM.namespace("core.components");(function(e,h){e.const=_.extend(e.const||{},{richtext:{editorSelector:".rich-editor",defaultOptions:{semantic:!0,autogrowOnEnter:!0,urlProtocol:!0,btns:[["bold","italic","underline","strikethrough","code"],["superscript","subscript"],["removeformat"],"btnGrp-lists",["link","unlink"]],btnsDef:{code:{key:"C",class:"fa-custom-button fa fa-code",fn:function(a){e.trumbowyg.toggleTag(a)}}},removeformatPasted:!0},fn:{}}});e.RichTextWidget=widgets.Widget.extend({initialize:function(a){widgets.Widget.prototype.initialize.apply(this,
[a]);this.$editor=this.richText();this.$editor.trumbowyg(e.const.richtext.defaultOptions);(a=this.$el.data("style"))&&this.$(".trumbowyg-editor").attr("style",a);this.$editor.on("tbwchange",_.bind(this.onChange,this))},getValue:function(){return this.$editor.trumbowyg("html")},setValue:function(a,d){this.$editor.trumbowyg("html",a);d&&this.$el.trigger("change",[a])},reset:function(){this.$editor.trumbowyg("empty")},onChange:function(){this.$el.trigger("change",[this.getValue()])},richText:function(){return this.$el.is(e.const.richtext.editorSelector)?
this.$el:this.$(e.const.richtext.editorSelector)}});widgets.register(".widget.richtext-widget",e.RichTextWidget,{afterClone:function(){var a=$(this),d=$(document.createElement("div")),b=a.find(".composum-widgets-richtext_value").clone();d.append(b);a.html(d.html())}});e.trumbowyg={toggleTag:function(a){var d=["\x3c"+a+"\x3e","\x3c/"+a+"\x3e",a.toUpperCase()];if(a=document.getSelection()){for(var b=a.anchorNode;b.tagName!==d[2]&&"P"!==b.tagName&&"DIV"!==b.tagName;)b=b.parentElement;if(d[2]===b.tagName){d=
$(b).html();a.removeAllRanges();var c=document.createRange();c.selectNode(b);a.addRange(c);document.execCommand("insertText",!1,"");document.execCommand("insertHTML",!1,d)}else document.execCommand("insertHTML",!1,d[0]+a.toString()+d[1])}},openModalWidgets:function(a,d,b){var c=this;h.getHtml(a,function(a){a=c.openModal("Content Link",a);var e=h.getWidget(a[0],"form",h.components.FormWidget),f={};a.addClass("composum-widgets-richtext_link-dialog");CPM.widgets.setUp(e.el);e.$("[name]").each(function(){var a=
$(this).attr("name");if(a){var b=h.widgetOf(this);if(b){var c=d[a];b.setValue(c?c:void 0);f[a]=b}}});a.on("tbwconfirm",function(){if(e.validate()){for(var a in f)d[a]=f[a].getValue();b(d)&&(c.syncCode(),c.$c.trigger("tbwchange"),c.closeModal(),$(this).off("tbwconfirm"))}});a.one("tbwcancel",function(){$(this).off("tbwconfirm");c.closeModal()})})}};$.extend(!0,$.trumbowyg,{plugins:{contentLink:{init:function(a){a.addBtnDef("link",{fn:function(){var d=function(b){a.restoreRange();var c=$(['\x3ca href\x3d"',
b.url,'"\x3e',b.text,"\x3c/a\x3e"].join(""));0["A","DIV"].indexOf(c.nodeName);)c=c.parentNode;if(c&&"A"===c.nodeName){var g=$(c);f.url=g.attr("href");f.title=g.attr("title");f.target=g.attr("target");g=a.doc.createRange();g.selectNode(c);b.addRange(g)}a.saveRange();f.text=a.getRangeText();e.trumbowyg.openModalWidgets.apply(a,
[h.getComposumPath("composum/nodes/commons/components/richtext/link/dialog.html"),f,d])})()}})}}}})})(CPM.core.components,CPM.core)})();




© 2015 - 2025 Weber Informatics LLC | Privacy Policy