diff --git a/DemoUsingCustomDirective.html b/DemoUsingCustomDirective.html new file mode 100644 index 0000000..fd882c5 --- /dev/null +++ b/DemoUsingCustomDirective.html @@ -0,0 +1,39 @@ + + + + + + + + + + + + + LineControl | v1.1.0 + + +
+
+

LineControl Demo

+
+
+
+ Type anything here +
+
+ + +
+
+ +
+
+
+
+
+ + + diff --git a/editor.js b/editor.js index a6e7baf..b3d7aaa 100644 --- a/editor.js +++ b/editor.js @@ -1,4 +1,4 @@ -/*! +/*! * http://suyati.github.io/line-control * LineControl 1.1.0 * Copyright (C) 2014, Suyati Technologies @@ -8,384 +8,420 @@ You should have received a copy of the GNU General Public License along with thi * */ -(function( $ ){ +(function ($) { var editorObj; var methods = { - saveSelection: function() { + saveSelection: function () { //Function to save the text selection range from the editor $(this).data('editor').focus(); - if (window.getSelection) { - sel = window.getSelection(); - if (sel.getRangeAt && sel.rangeCount) { - $(this).data('currentRange', sel.getRangeAt(0)); - } - } else if (document.selection && document.selection.createRange) { - $(this).data('currentRange',document.selection.createRange()); - } - else - $(this).data('currentRange', null); + if (window.getSelection) { + sel = window.getSelection(); + if (sel.getRangeAt && sel.rangeCount) { + $(this).data('currentRange', sel.getRangeAt(0)); + } + } else if (document.selection && document.selection.createRange) { + $(this).data('currentRange', document.selection.createRange()); + } + else + $(this).data('currentRange', null); }, - restoreSelection: function(text,mode) { + restoreSelection: function (text, mode) { //Function to restore the text selection range from the editor var node; typeof text !== 'undefined' ? text : false; typeof mode !== 'undefined' ? mode : ""; var range = $(this).data('currentRange'); - if (range) { - if (window.getSelection) { - if(text){ - range.deleteContents(); - if(mode=="html") - { - var el = document.createElement("div"); - el.innerHTML = text; - var frag = document.createDocumentFragment(), node, lastNode; - while ( (node = el.firstChild) ) { - lastNode = frag.appendChild(node); - } - range.insertNode(frag); - } - else - range.insertNode( document.createTextNode(text) ); - - } - sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(range); - } - else if (document.selection && range.select) { - range.select(); - if(text) - { - if(mode=="html") - range.pasteHTML(text); - else - range.text = text; - } - } - } + if (range) { + if (window.getSelection) { + if (text) { + range.deleteContents(); + if (mode == "html") { + var el = document.createElement("div"); + el.innerHTML = text; + var frag = document.createDocumentFragment(), node, lastNode; + while ((node = el.firstChild)) { + lastNode = frag.appendChild(node); + } + range.insertNode(frag); + } + else + range.insertNode(document.createTextNode(text)); + + } + sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); + } + else if (document.selection && range.select) { + range.select(); + if (text) { + if (mode == "html") { + range.pasteHTML(text); + } + else + range.text = text; + } + } + } }, - restoreIESelection:function() { + restoreIESelection: function () { //Function to restore the text selection range from the editor in IE var range = $(this).data('currentRange'); - if (range) { - if (window.getSelection) { - sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(range); - } else if (document.selection && range.select) { - range.select(); - } - } + if (range) { + if (window.getSelection) { + sel = window.getSelection(); + sel.removeAllRanges(); + sel.addRange(range); + } else if (document.selection && range.select) { + range.select(); + } + } }, - insertTextAtSelection:function(text,mode) { - var sel, range, node ; - typeof mode !== 'undefined' ? mode : ""; - if (window.getSelection) { - sel = window.getSelection(); - if (sel.getRangeAt && sel.rangeCount) { - range = sel.getRangeAt(0); - range.deleteContents(); - var textNode = document.createTextNode(text); - - if(mode=="html") - { - var el = document.createElement("div"); - el.innerHTML = text; - var frag = document.createDocumentFragment(), node, lastNode; - while ( (node = el.firstChild) ) { - lastNode = frag.appendChild(node); - } - range.insertNode(frag); - } - else - { - range.insertNode(textNode); - range.selectNode(textNode); - } - sel.removeAllRanges(); - range = range.cloneRange(); - range.collapse(false); - sel.addRange(range); - } - } else if (document.selection && document.selection.createRange) { - range = document.selection.createRange(); - range.pasteHTML(text); - range.select(); - } + insertTextAtSelection: function (text, mode) { + var sel, range, node; + typeof mode !== 'undefined' ? mode : ""; + if (window.getSelection) { + sel = window.getSelection(); + if (sel.getRangeAt && sel.rangeCount) { + range = sel.getRangeAt(0); + range.deleteContents(); + var textNode = document.createTextNode(text); + + if (mode == "html") { + var el = document.createElement("div"); + el.innerHTML = text; + var frag = document.createDocumentFragment(), node, lastNode; + while ((node = el.firstChild)) { + lastNode = frag.appendChild(node); + } + range.insertNode(frag); + } + else { + range.insertNode(textNode); + range.selectNode(textNode); + } + sel.removeAllRanges(); + range = range.cloneRange(); + range.collapse(false); + sel.addRange(range); + } + } else if (document.selection && document.selection.createRange) { + range = document.selection.createRange(); + range.pasteHTML(text); + range.select(); + } }, - imageWidget: function(){ + imageWidget: function () { //Class for Widget Handling the upload of Files var _idSuffix = this.attr("id"); - var row = $('
',{ - "class":"row" - }).append($('
',{ - id :"imgErrMsg_" + _idSuffix + var row = $('
', { + "class": "row" + }).append($('
', { + id: "imgErrMsg_" + _idSuffix })); - var container = $('
',{'class':"tabbable tabs-left"}); + var container = $('
', { 'class': "tabbable tabs-left" }); var navTabs = $('