Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lintest/fb2edit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source/js
diff options
context:
space:
mode:
authorKandrashin Denis <mail@lintest.ru>2012-09-18 17:51:28 +0400
committerKandrashin Denis <mail@lintest.ru>2012-09-18 17:51:28 +0400
commit8235738c5e5e3447fa3bc6c4c319f41a332ad1af (patch)
tree2ca00e08bd912c4b4325efda1bba5559f57b849e /source/js
parentb84717846943d3de38f1a7bf7bc4cd7567824cd6 (diff)
Create section from selection
Diffstat (limited to 'source/js')
-rw-r--r--source/js/javascript.qrc1
-rw-r--r--source/js/new_section.js26
2 files changed, 27 insertions, 0 deletions
diff --git a/source/js/javascript.qrc b/source/js/javascript.qrc
index 7d4e058..8590381 100644
--- a/source/js/javascript.qrc
+++ b/source/js/javascript.qrc
@@ -6,5 +6,6 @@
<file>get_location.js</file>
<file>set_cursor.js</file>
<file>insert_title.js</file>
+ <file>new_section.js</file>
</qresource>
</RCC>
diff --git a/source/js/new_section.js b/source/js/new_section.js
new file mode 100644
index 0000000..db4e185
--- /dev/null
+++ b/source/js/new_section.js
@@ -0,0 +1,26 @@
+(function() {
+ if(window.getSelection().rangeCount){
+ var selection = window.getSelection()
+ range = selection.getRangeAt(0)
+
+ start = range.startContainer
+ end = range.endContainer
+ root = range.commonAncestorContainer
+
+ if(start.nodeName.toLowerCase() == "body") return null
+ if(start.nodeName == "#text") start = start.parentNode
+ if(end.nodeName == "#text") end = end.parentNode
+
+ if(start == end) root = start
+
+ var range = document.createRange();
+ range.setStartBefore(start);
+ range.setEndAfter(end);
+
+ var newNode = document.createElement("div");
+ newNode.className = "section";
+ range.surroundContents(newNode);
+
+ return newNode;
+ }
+})()