Sha256: 309bbd340d8b3d147c3a6d4c05b9c9b03fb48df6b38f01a2c6e809b943e0cf7e
Contents?: true
Size: 1.71 KB
Versions: 2
Compression:
Stored size: 1.71 KB
Contents
window.jRichTextArea = function(textArea, options){ this.textArea = textArea; // Default options settings = $.extend({ className: "richTextToolbar" }, options); this.toolbar = { settings : settings, textArea : textArea, listElement : false, buttons : new Array(), addButton : function(name, callback, options) { // Default options settings = $.extend({ className: name.replace(/[\s]+/, '')+"Button" }, options); var li = document.createElement("li"); var a = document.createElement("a"); a.title = name; a.textArea = this.textArea; //callback.this = this; $(a).mousedown(callback); $(a).addClass(settings.className); $(li).append(a).appendTo(this.listElement); this.buttons.push(li); return this; }, create : function() { if(!this.listElement) { this.listElement = document.createElement("ul"); $(this.listElement).addClass(this.settings.className); $(this.listElement).insertBefore(this.textArea); } } } this.textArea.selectedText = function() { return $(this).getSelection().text; } this.textArea.replaceSelection = function(replacement) { return $(this).replaceSelection(replacement); } this.textArea.wrapSelection = function() { var prepend = arguments[0]; var append = (arguments.length > 1) ? arguments[1] : prepend var selectedText = this.selectedText(); var trailingSpace = selectedText.match(/(\s)*$/)[0]; selectedText = selectedText.replace(/(\s)*$/, ''); return this.replaceSelection(prepend + selectedText + append + trailingSpace); } // Delegates this.textArea.toolbar = this.toolbar; this.toolbar.create(); }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.4.3 | app/assets/javascripts/pages/admin/lib/jrichtextarea.js |
pages_core-3.4.2 | app/assets/javascripts/pages/admin/lib/jrichtextarea.js |