annotate js/taggingtext.js @ 122:a36bb5a48af4 extractapp tip

1. remove redundancy server side code. 2. All pop up sub-windows are made with dialog component of bootstrap v3.3.2
author Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
date Thu, 28 Sep 2017 22:26:48 +0200
parents 21e89eca0b84
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1 /*
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
2 * taggingtext.js
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
3 * This file is part of Extraction-interface.
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
4 *
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
5 * Extraction-interface is free software: you can redistribute it and/or modify
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
6 * it under the terms of the GNU General Public License as published by
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
7 * the Free Software Foundation, either version 3 of the License, or
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
8 * (at your option) any later version.
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
9 *
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
10 * Extraction-interface is distributed in the hope that it will be useful,
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
13 * GNU General Public License for more details.
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
14 *
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
15 * You should have received a copy of the GNU General Public License
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
16 * along with Extraction-interface. If not, see <http://www.gnu.org/licenses/>.
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
17 */
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
18
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
19 /*! \file
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
20 * There are javscript functions for Extractapp.
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
21 * It is included by views/Extractapp/maintemplate.php and maintemplate_local.php.
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
22 */
77
97c1e5102a22 New: export table for a file from LGService
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 72
diff changeset
23
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 // === for taggingtext.php ===
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 var stringBeforeChange="";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
26 var stringBeforeChangeStack = [];
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 var lastAddTag="";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
28
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
29 var regex_element_index = 0;
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
30
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 window.onbeforeunload = function() {
98
5bea390e7ca9 new: short tag in front of long tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 95
diff changeset
32 //return "Unsaved data will be lost.";
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 };
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
34
101
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
35 function setCookie(value) {
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
36 document.cookie = "cookie-msg-test=" + value + "; path=/";
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
37 return true;
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
38 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
39
101
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
40 function getCookie() {
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
41 var cname = "cookie-msg-test=";
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
42 var ca = document.cookie.split(';');
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
43
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
44 for (var i=0; i < ca.length; i++) {
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
45 var c = ca[i];
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
46 while (c.charAt(0)==' ') c = c.substring(1,c.length);
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
47 if (c.indexOf(cname) == 0) {
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
48 return c.substring(cname.length, c.length);
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
49 }
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
50 }
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
51 return null;
a264460c77ca new: auto save and reload page after updating taglist.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 100
diff changeset
52 }
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
53
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
54 /*
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 $(document).on("mouseup", function (e) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
56 e.stopPropagation();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
57 $('.questionMarkClass').remove();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
58 $('.tagItemDivClass').remove();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
59 $.bootstrapGrowl("Remove");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
60 });
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
61
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
62
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
63 $(document).on("click", '.questionMarkClass', function (e) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 e.stopPropagation();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
65 });
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
66 */
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
67 function tagTime() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
68 saveUndoText();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
69 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
70 var str="" + el.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
71
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
72 var regexText=/(<?php echo $wordlistArray[0][2]; ?>)(○?)(一|二|三|四|五|六|七|八|九)?(○?)(十)?(○?)(一|二|三|四|五|六|七|八|九|元|十)(○?)(年)/g;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
73 var replaceText="<time>$1$2$3$4$5$6$7$8$9</time>";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
74 var matchedCount = str.match(regexText).length;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
75 str = str.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
76
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
77 var regexText=/(?!(>))(<?php echo $wordlistArray[0][2]; ?>)/g;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
78 var replaceText="<time>$1$2</time>";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
79 matchedCount += str.match(regexText).length;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
80 el.innerHTML = str.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
81
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
82 var regexText=/(一|二|三|四|五|六|七|八|九)?(○?)(十)?(○?)(一|二|三|四|五|六|七|八|九|元|十)(○?)(年)(?!(<))/g;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
83 var replaceText="<time>$1$2$3$4$5$6$7</time>";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
84 matchedCount += str.match(regexText).length;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
85 el.innerHTML = str.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
86
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
87 $.bootstrapGrowl( "Tagged "+matchedCount+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
88 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
89
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
90 function removeEmptyNodes( node ) {
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
91 if (node.hasChildNodes()) {
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
92 var children = node.childNodes;
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
93 for (var i = 0; i < children.length; i++) {
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
94 if (children[i].textContent == "" && children[i].innerHTML == "" && children[i].nodeName != "BR") {
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
95 //console.log("removing child: "+children[i].nodeName+", its parent: "+node.nodeName);
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
96 node.removeChild(children[i]);
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
97 } else {
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
98 //console.log("recursive to "+children[i].nodeName+"("+children[i].textContent+")")
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
99 removeEmptyNodes(children[i]); // recursive
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
100 }
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
101
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
102 };
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
103 } else {
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
104 //console.log(node.nodeName+" ("+node.textContent+") has no childNodes.");
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
105 }
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
106
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
107 }
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
108
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
109
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
110 function removeTagTitle( range, container ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
111 saveUndoText();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
112 range.deleteContents();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
113
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
114 lastAddTag = $('#RemoveTitletagType').val();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
115
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
116 var stringtemp = container.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
117
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
118 if ( $('#RemoveTitletagName').val() == "" ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
119 var regexText="<"+lastAddTag+">〈(.*?)〉</"+lastAddTag+">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
120 var replaceText="";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
121 stringtemp = stringtemp.replace(new RegExp(regexText, "g"), replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
122
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
123 var regexText="<"+lastAddTag+">(.*?)</"+lastAddTag+">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
124 var replaceText="$1";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
125 stringtemp = stringtemp.replace(new RegExp(regexText, "g"), replaceText);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
126 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
127 var regexText="<"+lastAddTag+">〈"+$('#RemoveTitletagName').val()+"〉</"+lastAddTag+">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
128 var replaceText="";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
129 stringtemp = stringtemp.replace(new RegExp(regexText, "g"), replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
130
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
131 var regexText="<"+lastAddTag+">("+$('#RemoveTitletagName').val()+")</"+lastAddTag+">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
132 var replaceText="$1";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
133 stringtemp = stringtemp.replace(new RegExp(regexText, "g"), replaceText);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
134 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
135
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
136 var newdiv = document.createElement("aaaa");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
137 newdiv.innerHTML = stringtemp;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
138 range.insertNode(newdiv);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
139
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
140 var el = document.getElementById("editable-area");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
141
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
142 var regexText=/<aaaa>/gi;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
143 var replaceText='';
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
144 el.innerHTML = el.innerHTML.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
145
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
146 var regexText=/<\/aaaa>/gi;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
147 var replaceText='';
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
148 el.innerHTML = el.innerHTML.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
149
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
150 $('.tagItemDivClass').remove();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
151 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
152
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
153 function addTagTitle( range, container ) {
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
154 // TODO: bug: here generate self-closing tag when the end of text with tag on it
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
155
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
156 saveUndoText();
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
157
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
158 var el = document.getElementById("editable-area");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
159
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
160 lastAddTag = $('#TitletagType').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
161 var tag = "<"+$('#TitletagType').val()+">〈"+$('#TitletagName').val()+"〉</"+$('#TitletagType').val()+">";
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
162
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
163 range.deleteContents(); // may causes self-closing tag
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
164
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
165 var stringtemp = container.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
166
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
167 var regexText=/<br>/g;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
168 var replaceText="<br>"+tag;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
169 stringtemp = stringtemp.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
170
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
171 var newdiv = document.createElement("aaaa");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
172 newdiv.innerHTML = tag+stringtemp;
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
173
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
174 range.insertNode(newdiv);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
175
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
176
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
177 var regexText=/<aaaa>/gi;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
178 var replaceText='';
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
179 el.innerHTML = el.innerHTML.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
180
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
181 var regexText=/<\/aaaa>/gi;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
182 var replaceText='';
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
183 el.innerHTML = el.innerHTML.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
184
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
185 $('.tagItemDivClass').remove();
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
186
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
187 removeEmptyNodes(el); // removing self-closing tags
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
188
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
189 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
190
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
191 function cleanUpTextArea() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
192 var el = document.getElementById("editable-area");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
193
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
194 var regexText=/<div>/gi;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
195 var replaceText='<br>';
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
196 el.innerHTML = el.innerHTML.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
197
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
198 var regexText=/<\/div>/gi;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
199 var replaceText='';
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
200 el.innerHTML = el.innerHTML.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
201
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
202
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
203 var regexText=/<span style="(.*?)">/gi;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
204 var replaceText='';
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
205 el.innerHTML = el.innerHTML.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
206
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
207 var regexText=/<\/span>/gi;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
208 var replaceText='';
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
209 el.innerHTML = el.innerHTML.replace(regexText, replaceText);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
210 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
211
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
212 function Undo() {
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
213 $("#loading").show();
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
214
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
215 if ( stringBeforeChangeStack.length > 0 ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
216 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
217 el.innerHTML = stringBeforeChangeStack.pop();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
218 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
219 var el = document.getElementById("buttonUndo");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
220 el.disabled = true;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
221 }
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
222
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
223 $("#loading").hide();
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
224 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
225
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
226 function saveUndoText() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
227 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
228 //stringBeforeChange = el.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
229 stringBeforeChangeStack.push(el.innerHTML);
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
230 var el = document.getElementById("buttonUndo");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
231 el.disabled = false;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
232 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
233
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
234 var EditingMode = "tagging";
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
235
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
236 function switchToEditingMode(ele, new_mode){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
237
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
238 if(EditingMode === new_mode) return;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
239
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
240 EditingMode = new_mode;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
241
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
242 saveUndoText();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
243 document.getElementById("editable-area").contentEditable = true;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
244
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
245 // disable/close functions
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
246 $("button").attr("disabled", true);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
247 $("#editTextId").attr("disabled", false);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
248 $("#popups").css("display","none"); // close the popup windows
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
249 $("input").attr('disabled', true); // disable input
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
250 // clean editable-area
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
251 $('.questionMarkClass').remove();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
252 $('.tagItemDivClass').remove();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
253
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
254 $('#smart-regex-area').css("display","none");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
255 $('#tag-function-area').css("display","none");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
256
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
257 $('#editable-area-wraper').parent().toggleClass("EditingMode");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
258 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
259
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
260 function switchToTaggingMode(ele, new_mode){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
261
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
262 if(EditingMode === new_mode) return;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
263
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
264 EditingMode = new_mode;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
265
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
266 document.getElementById("editable-area").contentEditable = false;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
267 cleanUpTextArea();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
268 $("button").attr("disabled", false);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
269 $("#popups").css("display","block"); // open the popup windows
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
270 $("input").attr('disabled', false); // enable input
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
271 $("#editTextId").html("Edit text");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
272
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
273 $('#smart-regex-area').css("display","block");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
274 $('#tag-function-area').css("display","block");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
275
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
276 $('#editable-area-wraper').parent().toggleClass("EditingMode");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
277
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
278 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
279 /*
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
280 function editText() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
281 var el = document.getElementById("editable-area");
100
8a97db7b9108 bug fixed: edit text
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 99
diff changeset
282 if ( $("#editTextId").html() == "Edit text" ) {
72
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
283 // --- in editing mode ---
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
284 saveUndoText();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
285 el.contentEditable = true;
72
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
286
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
287 // disable/close functions
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
288 $("button").attr("disabled", true);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
289 $("#editTextId").attr("disabled", false);
72
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
290 $("#popups").css("display","none"); // close the popup windows
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
291 $("input").attr('disabled', true); // disable input
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
292 // clean editable-area
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
293 $('.questionMarkClass').remove();
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
294 $('.tagItemDivClass').remove();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
295
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
296 $("#editTextId").html("Edit completed!");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
297 } else {
72
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
298 // --- not editing mode ---
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
299 el.contentEditable = false;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
300 cleanUpTextArea();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
301 $("button").attr("disabled", false);
72
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
302 $("#popups").css("display","block"); // open the popup windows
6974309983d1 Bug fixed:1.remove tagging popup window on editable-area, 2.close/disable inputs and buttons, when entering edit-text mode.
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 70
diff changeset
303 $("input").attr('disabled', false); // enable input
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
304 $("#editTextId").html("Edit text");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
305 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
306 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
307 */
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
308
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
309 var removeTagEngName;
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
310
94
b0cecc104639 new: modified tags can work on tagged text
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 93
diff changeset
311 function removeTagNewDiv( eventObject, tag, tagObject ) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
312
93
a05491461199 bug fixed: solve the nested tagging issue
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 89
diff changeset
313 saveUndoText();
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
314
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
315 removeTagEngName = tag;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
316
63
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
317 var newdiv = document.createElement("div");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
318 //$(newdiv).id = "questionMarkId";
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
319 $(newdiv).attr("class", "questionMarkClass");
63
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
320
65
f9ae94a9b041 New: adding topic names: name_en, name_ch, name_pinyin
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
321 // set z-index to 3 to bring popup tag windwo to front
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
322
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
323 var pageY = eventObject.pageY,
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
324 topPosi = pageY + ( (window.innerHeight - pageY < 145 ) ? -140 : 0) - 55;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
325
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
326 newdiv.style.cssText = 'top:'+ topPosi + '; left:'+ (eventObject.pageX - 10) +';height:140px';
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
327
94
b0cecc104639 new: modified tags can work on tagged text
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 93
diff changeset
328 // find tag displaying name by tagName then showing in the innerHTML
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
329
94
b0cecc104639 new: modified tags can work on tagged text
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 93
diff changeset
330 var tag_name = getTagNameByTag(tag);
98
5bea390e7ca9 new: short tag in front of long tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 95
diff changeset
331 // newdiv.innerHTML = "Tag: "+tag_name+"<br>Value: "+tagObject.text()+"<br>";
5bea390e7ca9 new: short tag in front of long tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 95
diff changeset
332
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
333 // TODO maybe also shown tag itself?
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
334 newdiv.innerHTML = "Tag: "+tag_name+"<span class='removeTagText'>Value: "+tagObject.text()
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
335 + "</span>";
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
336
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
337 var newbutton = $('<button class="btn btn-primary">Remove this</button>').mouseup(onRemoveThisTag);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
338 newbutton.appendTo(newdiv);
94
b0cecc104639 new: modified tags can work on tagged text
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 93
diff changeset
339
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
340 var newbutton = $('<button class="btn btn-default">Remove this(with line break)</button>').mouseup(onRemoveThisTag);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
341 newbutton.appendTo(newdiv);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
342 $('<br>').appendTo(newdiv);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
343
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
344 var newbutton = $('<button class="btn btn-primary">Remove all</button>').mouseup(onRemoveAllTag);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
345
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
346 newbutton.appendTo(newdiv);
98
5bea390e7ca9 new: short tag in front of long tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 95
diff changeset
347
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
348 var newbutton = $('<button class="btn btn-default">Remove all(with line break)</button>').mouseup(onRemoveAllTag);
63
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
349 newbutton.appendTo(newdiv);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
350
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
351 tagObject.append(newdiv);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
352
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
353 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
354
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
355 function onRemoveThisTag(e) {
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
356
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
357 var isWithBR = (e.target.innerText.indexOf("with line break") > 0);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
358
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
359 var textKeep = $(this).parent().parent().html();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
360 var regexText=/<div(.*?)<\/div>/g;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
361 var replaceText="";
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
362 textKeep = textKeep.replace(regexText, replaceText);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
363
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
364 if(isWithBR){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
365
63
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
366 var newLineBefore = $(this).parent().parent().prev();
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
367 if ( newLineBefore.prop("tagName") == "BR" ) {
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
368 $(this).parent().parent().prev().replaceWith( );
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
369 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
370 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
371
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
372 $(this).parent().parent().replaceWith( textKeep );
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
373 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
374
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
375 function onRemoveAllTag(e) {
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
376
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
377 var isWithBR = (e.target.innerText.indexOf("with line break") > 0);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
378
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
379 var textKeep = $(this).parent().parent().html();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
380 var regexText=/<div(.*?)<\/div>/g;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
381 var replaceText="";
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
382 textKeep = textKeep.replace(regexText, replaceText);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
383
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
384 if(isWithBR){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
385 $(this).parent().remove();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
386 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
387 else {
63
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
388 $(this).parent().parent().replaceWith( textKeep );
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
389 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
390
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
391 var regexPattern = "<"+removeTagEngName+">("+textKeep+")</"+removeTagEngName+">";
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
392
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
393 if(isWithBR){ regexPattern = "<br>" + regexPattern}
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
394
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
395 var el = document.getElementById("editable-area") ,
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
396 regexText=new RegExp(regexPattern, "g"),
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
397 replaceText="$1",
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
398 str= "" + el.innerHTML,
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
399 occurrences = (str.match(regexText) || []).length;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
400
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
401 if(occurrences == 0){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
402 $.bootstrapGrowl( (isWithBR) ? "No entity found" : "Removed 1 entity" );
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
403 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
404 else{
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
405 $.bootstrapGrowl( "Removed "+ (occurrences + 1) +" entities!" );
63
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
406 el.innerHTML = str.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
407 }
63
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
408 }
3395385476d1 bug fixed: popup tag window is closed automatically when saving text file
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
409
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
410 function saveText(section_id) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
411 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
412 $.ajax({
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
413 url : './'+section_id,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
414 async : false,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
415 type : 'POST',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
416 data : 'func=SaveFullText'+'&text='+encodeURIComponent(el.innerHTML)+'&filename='+section_id,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
417 // data : 'func=SaveFullText'+'&text='+el.innerHTML+'&filename='+section_id
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
418 success: function (e) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
419 $.bootstrapGrowl("Saved!");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
420 },
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
421 error: function (e) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
422 $.bootstrapGrowl("Haven't saved!");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
423 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
424 }).done(function(result) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
425 });
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
426
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
427
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
428 }
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
429
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
430 function preg_quote (str, delimiter) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
431 // http://kevin.vanzonneveld.net
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
432 // + original by: booeyOH
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
433 // + improved by: Ates Goral (http://magnetiq.com)
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
434 // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
435 // + bugfixed by: Onno Marsman
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
436 // + improved by: Brett Zamir (http://brett-zamir.me)
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
437 // * example 1: preg_quote("$40");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
438 // * returns 1: '\$40'
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
439 // * example 2: preg_quote("*RRRING* Hello?");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
440 // * returns 2: '\*RRRING\* Hello\?'
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
441 // * example 3: preg_quote("\\.+*?[^]$(){}=!<>|:");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
442 // * returns 3: '\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:'
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
443 return (str + '').replace(new RegExp('[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\' + (delimiter || '') + '-]', 'g'), '\\$&');
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
444 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
445
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
446 function replaceRegex() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
447 saveUndoText();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
448
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
449 var startPage = $('#regexPageStart2').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
450 var endPage = $('#regexPageEnd2').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
451 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
452 var str="" + el.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
453
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
454 var regexText=document.getElementById("regexText").value;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
455 var replaceText=document.getElementById("replaceText").value;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
456 var str="" + el.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
457
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
458 if ( startPage == "" ) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
459 $.bootstrapGrowl( "Tagged "+str.match(new RegExp(regexText, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
460 el.innerHTML = str.replace(new RegExp(regexText, "g"), replaceText);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
461 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
462 var regexText2="【<a([^<>]*?)>"+startPage+"</a>】(.*?)【<a([^<>]*?)>"+endPage+"</a>】";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
463 var partString = ""+str.match(new RegExp(regexText2, "g"));
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
464 $.bootstrapGrowl(partString);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
465
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
466 $.bootstrapGrowl( "Tagged "+partString.match(new RegExp(regexText, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
467 var resultString = partString.replace(new RegExp(regexText, "g"), replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
468
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
469 str="" + el.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
470 el.innerHTML = str.replace(new RegExp(regexText, "g"), resultString);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
471 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
472
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
473 //document.styleSheets[0].addRule("tag001", "color:green;")
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
474 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
475
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
476 //Tagging Items
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
477 function getSelected() {
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
478 if(window.getSelection) { // all browsers, except IE before version 9
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
479 return window.getSelection();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
480 } else if (document.getSelection) {
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
481 return document.getSelection();
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
482 } else { // IE
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
483 var selection = document.selection && document.selection.createRange();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
484 if(selection.text) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
485 return selection.text;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
486 }
54
f9e7119339b2 bug fixed: when addTagTitle, removing self-closing tag which causes error in coloring tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 50
diff changeset
487
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
488 return false;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
489 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
490 return false;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
491 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
492
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
493 function tagStringWithTag( stringValue, tag ) {
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
494 $('#loading').show();
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
495
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
496 saveUndoText();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
497 var el = document.getElementById("editable-area");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
498
98
5bea390e7ca9 new: short tag in front of long tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 95
diff changeset
499 // TODO: bug? when stringValue contain already tag, it should be preserved
5bea390e7ca9 new: short tag in front of long tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 95
diff changeset
500
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
501 //console.log(stringValue);
98
5bea390e7ca9 new: short tag in front of long tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 95
diff changeset
502
5bea390e7ca9 new: short tag in front of long tag
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 95
diff changeset
503
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
504 var regexText="("+String(stringValue)+")";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
505 if ( tag=="person") {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
506 var replaceText="<br><"+tag+">$1</"+tag+">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
507 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
508 var replaceText="<"+tag+">$1</"+tag+">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
509 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
510 var str="" + el.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
511
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
512 $('.tagItemDivClass').remove();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
513 $.bootstrapGrowl( "Tagged "+str.match(new RegExp(regexText, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
514 el.innerHTML = str.replace(new RegExp(regexText, "g"), replaceText);
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
515
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
516 $('#loading').hide();
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
517 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
518
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
519
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
520 function tagwithtitle( range, stringSelection ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
521 saveUndoText();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
522 range.deleteContents();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
523 //var newdiv = document.createElement("br");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
524 //range.insertNode(newdiv);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
525 range.insertNode(document.createTextNode("〈"+stringSelection+"〉"));
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
526 var newdiv = document.createElement("br");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
527 range.insertNode(newdiv);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
528
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
529 $('.tagItemDivClass').remove();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
530 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
531
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
532 function tagNameWithLastName() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
533 saveUndoText();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
534 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
535 var regexText=/(○|】|^)(王|李|張|趙|劉|陳|楊|吳|黃|黄|朱|孫|郭|胡|呂|高|宋|徐|程|林|鄭|范|何|韓|曹|馬|許|田|馮|杜|周|曾|汪|蘇|董|方|蔡|梁|石|謝|賈|薛|彭|崔|唐|潘|鄧|史|錢|侯|魏|羅|葉|沈|孟|姚|傅|丁|章|蕭|蔣|盧|陸|袁|晁|譚|邵|歐陽|孔|詹|俞|尹|廖|閻|洪|夏|雷|葛|文|柳|陶|毛|丘|龔|蒲|邢|郝|龐|安|裴|折|施|游|金|鄒|湯|虞|嚴|鍾)([^○(舉人|縣人|歲貢|間任)]{1,3}|○[^○])(?=(○|$))/g;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
536 var replaceText="$1<br><person>$2$3</person>$4";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
537 var str="" + el.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
538
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
539 $.bootstrapGrowl( "Tagged "+str.match(regexText).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
540 el.innerHTML = str.replace(regexText, replaceText);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
541 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
542
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
543 function tagNameWithLastName2() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
544 saveUndoText();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
545 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
546 var regexText="(○|】|^)("+$('#surname').val()+")([^○(舉人|縣人|歲貢|間任)]{1,3}|○[^○])(?=(○|$))";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
547 var replaceText="$1<br><person>$2$3</person>$4";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
548 var str="" + el.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
549
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
550 $.bootstrapGrowl( "Tagged "+str.match(new RegExp(regexText, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
551 el.innerHTML = str.replace(new RegExp(regexText, "g"), replaceText);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
552 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
553
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
554 function tagBiogAddr() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
555 saveUndoText();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
556 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
557 var str="" + el.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
558
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
559 var regexText=/(○)([^○]{1,6})(○?)(人)/g;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
560 var replaceText="$1<biog_addr>$2</biog_addr>$3$4";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
561 el.innerHTML = str.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
562
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
563 $.bootstrapGrowl( "Tagged "+str.match(regexText).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
564 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
565
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
566 function smartRegexNew() {
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
567
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
568 var popup_status = $('#smartRegexPopUpDiv').css("display");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
569 if (popup_status == "block") {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
570 $('#smartRegexPopUpDiv').css("display", "none");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
571 } else {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
572 $('#smartRegexPopUpDiv').css("display", "block");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
573 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
574
66
e71a437ae49f New: responsive. some css style
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 65
diff changeset
575
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
576 $('#smartRegexPopUpAdd').attr("disabled", false);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
577 $('#smartRegexPopUpEdit').attr("disabled", false);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
578 $('#smartRegexPopUpDel').attr("disabled", false);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
579 $('#smartRegexPopUpBack').attr("disabled", false);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
580 $('#smartRegexPopUpFor').attr("disabled", false);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
581
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
582 if(popup_status == "none"){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
583
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
584 $("#smartRegexPopUpName").val("no name");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
585
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
586 replaceSmartAdd();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
587
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
588 $('#smartRegexPopUpDiv').attr("editID", "regex_elem_"+regex_element_index);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
589 }
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
590
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
591 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
592
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
593 function replaceSmartClose() {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
594
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
595 if($("#smartRegexPopUpText").val().trim() == ''){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
596
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
597 doReplaceSmartRemove();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
598 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
599
70
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
600 $('#smartRegexShowDiv > span').css("border","1px solid black");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
601 $('#smartRegexPopUpDiv').css("display", "none");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
602 $("#smartRegexPopUpSelectWord").val("NULL");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
603 $("#smartRegexPopUpText").val("");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
604 $("#smartRegexPopUpName").val("");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
605
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
606 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
607
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
608 function replaceSmartEdit(){
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
609 thisObject = $('#smartRegexPopUpDiv').attr("editID");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
610
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
611 $('#smartRegexShowDiv > #'+thisObject).attr("class", "span_"+$("#smartRegexPopUpSelectTag").val());
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
612 $('#smartRegexShowDiv > #'+thisObject).attr("regexText", $("#smartRegexPopUpText").val());
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
613 $('#smartRegexShowDiv > #'+thisObject).attr("regexReplace", $("#smartRegexPopUpSelectTag").val());
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
614 $('#smartRegexShowDiv > #'+thisObject).text($("#smartRegexPopUpName").val()); // smartRgextPopUpName.val() is the name of this regex
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
615 // id should be the same as it was
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
616 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
617
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
618 function replaceSmartRemove() {
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
619
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
620 doReplaceSmartRemove();
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
621
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
622 replaceSmartClose();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
623 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
624
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
625 function doReplaceSmartRemove() {
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
626
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
627 thisObject = $('#smartRegexPopUpDiv').attr("editID");
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
628
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
629 $('#smartRegexShowDiv > #'+thisObject).remove();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
630 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
631
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
632 function replaceSmartFor() {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
633
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
634 var nowEleId = $('#smartRegexPopUpDiv').attr("editID");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
635 var nowEle = $('#smartRegexShowDiv > #' + nowEleId );
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
636
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
637 nowEle.insertAfter(nowEle.next());
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
638 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
639
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
640 function replaceSmartBack() {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
641
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
642 var nowEleId = $('#smartRegexPopUpDiv').attr("editID");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
643 var nowEle = $('#smartRegexShowDiv > #' + nowEleId );
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
644
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
645 nowEle.insertBefore(nowEle.prev());
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
646 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
647
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
648
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
649 function replaceSmartAdd() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
650 var newdiv = document.createElement("span");
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
651 //newdiv.innerHTML = " "+$("#smartRegexPopUpName").val()+" ";
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
652 //newdiv.innerHTML = $("#smartRegexPopUpName").val();
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
653 $(newdiv).text($("#smartRegexPopUpName").val());
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
654
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
655 $(newdiv).css("border", "1px solid black");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
656 $(newdiv).css("width", "100px");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
657
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
658 $(newdiv).attr("class", "span_"+$("#smartRegexPopUpSelectTag").val());
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
659
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
660 // id is the name from user's input, which dose not guarantee to be unique
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
661 // id should be unique
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
662 regex_element_index += 1;
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
663 $(newdiv).attr("id", "regex_elem_"+regex_element_index);
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
664 // $(newdiv).attr("id", "span_"+$("#smartRegexPopUpName").val());
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
665 $(newdiv).attr("regexText", $("#smartRegexPopUpText").val());
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
666 $(newdiv).attr("regexReplace", $("#smartRegexPopUpSelectTag").val());
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
667
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
668 $('#smartRegexShowDiv').append(newdiv);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
669
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
670 //replaceSmartClose();
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
671 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
672
95
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
673 $(document).keyup(function(e) {
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
674 if (e.keyCode == 27) { // escape key maps to keycode `27`
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
675 // close popups
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
676 $('#load_topic_div').css("display", "none");
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
677 $('#new_topic_div').css("display", "none");
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
678 $('#load_regex_div').css("display", "none");
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
679 $('#regex_generator').css("display", "none");
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
680 $('#smartRegexPopUpDiv').css("display", "none");
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
681 $('.questionMarkClass').css("display", "none");
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
682 $('.tagItemDivClass').css("display", "none");
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
683 }
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
684 });
9a29e9d28ece new: create new topic
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 94
diff changeset
685
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
686 $(document).on("click", '#smartRegexShowDiv > span', function (e) {
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
687
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
688 $('#smartRegexPopUpDiv').css("display", "block");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
689
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
690 $('#smartRegexPopUpDiv').attr("editID", $(this).attr("id"));
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
691
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
692 $('#smartRegexPopUpName').val($(this).text());
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
693 // $('#smartRegexPopUpName').val($(this).html());
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
694
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
695 $('#smartRegexPopUpText').val($(this).attr("regexText"));
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
696 $('#smartRegexPopUpSelectTag').val($(this).attr("regexReplace"));
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
697
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
698 $('#smartRegexPopUpAdd').attr("disabled", "disabled");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
699 $('#smartRegexPopUpEdit').attr("disabled", false);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
700 $('#smartRegexPopUpDel').attr("disabled", false);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
701 $('#smartRegexPopUpBack').attr("disabled", false);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
702 $('#smartRegexPopUpFor').attr("disabled", false);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
703 });
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
704
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
705 function genRegexWindowOpen(){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
706 var btn_state = $('#regex_generator').css('display');
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
707 if (btn_state == "block") {
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
708 genRegexWindowClose();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
709 } else {
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
710 $('#regex_generator').css("display", "block");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
711 $("#gen_regex_window_open_id").text("Close Gen Regex");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
712 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
713 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
714
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
715 function genRegexWindowClose(){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
716 $('#regex_generator').css("display", "none");
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
717 $("#gen_regex_window_open_id").text("Open Gen Regex");
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
718 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
719
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
720 function sharedStart_(array){
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
721 var A= array.concat().sort(),
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
722 a1= A[0], a2= A[A.length-1], L= a1.length, i= 0;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
723 while(i<L && a1.charAt(i)=== a2.charAt(i)) i++;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
724 return a1.substring(0, i);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
725 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
726
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
727 function getTagNameByTag(tag){
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
728 var name = "";
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
729 // taglistArray is a global variable
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
730 for (var i = 0; i < taglistArray.length; i++) {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
731 var taglistValue = taglistArray[i];
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
732
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
733 var _tag = taglistValue[2];
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
734 var _name = taglistValue[1];
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
735 if (_tag == tag) {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
736 name = _name;
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
737 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
738 }
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
739
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
740 return name;
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
741 }
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
742
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
743 function genRegexAddToSmartRegex() {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
744 // append blocks of generated regex to smart regex
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
745
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
746 smartRegexEmpty(); // clear
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
747
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
748 var reg_obj = getSuggestedRegex();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
749 //console.log(reg_obj);
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
750
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
751 for (var i = 0; i < reg_obj.length; i++) {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
752 if (reg_obj[i].txt != "") {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
753
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
754 var newdiv = document.createElement("span");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
755
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
756 $(newdiv).css("border", "1px solid black");
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
757 $(newdiv).css("width", "100px");
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
758
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
759 if (reg_obj[i].tag == null) {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
760 if (reg_obj[i].txt == "○") {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
761 $(newdiv).text("空白");
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
762 } else {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
763 $(newdiv).text(reg_obj[i].txt);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
764 }
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
765 $(newdiv).attr("class", "span_NOTAG");
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
766 $(newdiv).attr("regexReplace","NOTAG");
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
767 } else {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
768
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
769 var name = getTagNameByTag(reg_obj[i].tag);
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
770 $(newdiv).text(name+"名");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
771
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
772 $(newdiv).attr("class", "span_"+reg_obj[i].tag);
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
773 $(newdiv).attr("regexReplace", reg_obj[i].tag);
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
774
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
775 }
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
776
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
777 regex_element_index += 1;
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
778 $(newdiv).attr("id", "regex_elem_"+regex_element_index);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
779
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
780 $(newdiv).attr("regexText", reg_obj[i].txt);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
781
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
782 $('#smartRegexShowDiv').append(newdiv);
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
783
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
784 }
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
785 }
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
786
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
787 }
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
788
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
789 function longestCommonSubstring_(string1, string2){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
790 // init max value
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
791 var longestCommonSubstring = 0;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
792 // init 2D array with 0
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
793 var table = [],
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
794 len1 = string1.length,
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
795 len2 = string2.length,
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
796 row, col;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
797
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
798 for(row = 0; row <= len1; row++){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
799 table[row] = [];
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
800 for(col = 0; col <= len2; col++){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
801 table[row][col] = 0;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
802 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
803 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
804 // fill table
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
805 var i, j;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
806 for(i = 0; i < len1; i++){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
807 for(j = 0; j < len2; j++){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
808 if(string1[i]==string2[j]){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
809 if(table[i][j] == 0){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
810 table[i+1][j+1] = 1;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
811 } else {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
812 table[i+1][j+1] = table[i][j] + 1;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
813 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
814 if(table[i+1][j+1] > longestCommonSubstring){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
815 longestCommonSubstring = table[i+1][j+1];
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
816 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
817 } else {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
818 table[i+1][j+1] = 0;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
819 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
820 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
821 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
822 return longestCommonSubstring;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
823 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
824
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
825 function longestCommonSubstring(s1, s2) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
826
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
827 var start_idx = 0;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
828 var max_len = 0;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
829 for (var i = 0; i < s1.length; i++)
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
830 {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
831 for (var j = 0; j < s2.length; j++)
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
832 {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
833 var x = 0;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
834 while (s1.charAt(i + x) == s2.charAt(j + x))
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
835 {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
836 x++;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
837 if ((i + x) >= s1.length || ((j + x) >= s2.length))
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
838 break;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
839 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
840 if (x > max_len)
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
841 {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
842 max_len = x;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
843 start_idx = i;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
844 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
845 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
846 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
847 return s1.substring(start_idx, (start_idx + max_len));
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
848
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
849 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
850
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
851 var suggestedRegex = [];
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
852
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
853 function setSuggestedRegex(_pattern) {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
854 /*
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
855 console.log(_pattern[0]);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
856 console.log(_pattern[1]);
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
857 */
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
858 var p0 = _pattern[0];
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
859 var p1 = _pattern[1];
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
860
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
861 // TODO: find common pattern
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
862 suggestedRegex = []; // it's a global variable
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
863
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
864 if (p0.length > p1.length) {
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
865 suggestedRegex = p0;
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
866 } else if(p0.length < p1.length) {
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
867 suggestedRegex = p1;
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
868 } else { // equal length
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
869 // find matching string
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
870 var cnt = p0.length;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
871 for (var i = 0; i < cnt; i++) {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
872 if (p1[i].tag != null) {
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
873 suggestedRegex.push({tag:p1[i].tag, txt:"[^○如即而之有<>〈〉【】]{1,"+p1[i].txt.length+"}"});
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
874 } else if (p0[i].tag != null) {
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
875 suggestedRegex.push({tag:p0[i].tag, txt:"[^○如即而之有<>〈〉【】]{1,"+p0[i].txt.length+"}"});
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
876 } else {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
877 // find matching for text in each corresponding position
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
878 var texts = [p0[i].txt, p1[i].txt];
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
879 var common = longestCommonSubstring(p0[i].txt, p1[i].txt);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
880
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
881 /*
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
882 var reg_for_common = "[";
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
883 for (var i = 0; i < common.length; i++) {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
884 common[i];
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
885 reg_for_common += common[i]+"|";
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
886 };
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
887 reg_for_common += "]";
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
888 */
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
889 suggestedRegex.push({tag:null, txt:common});
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
890 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
891 };
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
892 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
893
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
894
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
895 }
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
896
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
897 function getSuggestedRegex(){
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
898 return suggestedRegex;
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
899 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
900
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
901 var pattern_obj = []; // record pattern array for regex generator. only contain pattern1 and pattern2
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
902
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
903 function genRegexBySelection(tag_item_div, _selection) {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
904 var add_gen_regex_button = document.createElement("button");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
905 $(add_gen_regex_button).id = "addToGenRegex";
94
b0cecc104639 new: modified tags can work on tagged text
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 93
diff changeset
906 $(add_gen_regex_button).addClass("btn btn-xs btn-default");
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
907 $(add_gen_regex_button).click( function(){
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
908 // popup for selected words regex gen
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
909 /*
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
910 console.log("Debug: ");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
911 console.log(_selection);
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
912 */
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
913
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
914 if (_selection.type == "Range") {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
915 // select words, not just click on text
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
916 var anchor_node = _selection.anchorNode;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
917 var focus_node = _selection.focusNode;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
918 var sibling_node = anchor_node.nextElementSibling;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
919
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
920
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
921 if (anchor_node && sibling_node && focus_node && container.innerHTML.indexOf( "br" ) == -1) {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
922 // Chrome can work on this.
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
923 // Safari does not support some of the member in selection object
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
924 // container.innerHTML.indexOf( "br" ) == -1: selection does not contain br.
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
925
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
926 var seleted_div = document.createElement("div");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
927 var seleted_obj = []; // array for selected text as well as its tag if it has any
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
928
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
929 if (anchor_node == focus_node ) {
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
930 // selected text in plain text
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
931 var text_all = anchor_node.textContent;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
932 var text_ = text_all.substring(_selection.anchorOffset, _selection.focusOffset);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
933 $(seleted_div).text(text_);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
934 seleted_obj.push({tag:null, txt:text_}); // push object into array
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
935
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
936 } else {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
937 // selected text contain tags
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
938 var text_before = anchor_node.textContent.substring(_selection.anchorOffset, anchor_node.length);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
939 var tag_name = sibling_node.nodeName.toLowerCase();
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
940 var tagged_text = sibling_node.textContent;
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
941
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
942 var text_after = _selection.focusNode.textContent.substring(0, _selection.focusOffset);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
943
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
944 $(seleted_div).text(text_before+tagged_text+text_after);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
945 seleted_obj.push({tag:null, txt:text_before});
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
946 seleted_obj.push({tag:tag_name, txt:tagged_text});
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
947 seleted_obj.push({tag:null, txt:text_after});
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
948 /*
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
949 console.log(text_before);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
950 console.log(tag_name);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
951 console.log(tagged_text);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
952 console.log(text_after);
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
953 */
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
954 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
955
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
956
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
957
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
958 var generated_regex_plaintext = "";
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
959 // show generate regex window
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
960 $('#regex_generator').css("display", "block");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
961 $("#gen_regex_window_open_id").text("Close Gen Regex");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
962
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
963 //var seleted_text = String(_selection).replace(/^\s+|\s+$/g,'');
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
964 var pattern1 = $('#regex_pattern1');
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
965 var pattern2 = $('#regex_pattern2');
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
966 if (pattern1.children().length == 0) {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
967 pattern1.append(seleted_div);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
968 pattern_obj.push(seleted_obj);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
969 // pattern1.text(seleted_div.text());
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
970 } else if (pattern2.children().length == 0) {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
971 pattern2.append(seleted_div);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
972 pattern_obj.push(seleted_obj);
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
973
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
974 setSuggestedRegex(pattern_obj);
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
975 var generated_regex = getSuggestedRegex();
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
976
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
977 // get plaintext from generated_regex obj
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
978 for (var i = 0; i < generated_regex.length; i++) {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
979 generated_regex_plaintext += generated_regex[i].txt;
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
980 }
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
981
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
982 } else {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
983 // pattern1 and pattern2 are already having text
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
984 pattern1.children().remove();
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
985 pattern1.append(pattern2.children());
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
986
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
987 pattern2.children().remove();
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
988 pattern2.append(seleted_div);
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
989
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
990 pattern_obj.shift();
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
991 pattern_obj.push(seleted_obj);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
992
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
993 setSuggestedRegex(pattern_obj);
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
994 var generated_regex = getSuggestedRegex();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
995
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
996 // get plaintext from generated_regex obj
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
997 for (var i = 0; i < generated_regex.length; i++) {
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
998 generated_regex_plaintext += generated_regex[i].txt;
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
999 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1000
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1001
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1002 }
89
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
1003 //$('#generated_regex').text(generated_regex);
e681d693240e new: generated regex to SmartRegex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 87
diff changeset
1004 $('#generated_regex').text(generated_regex_plaintext);
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1005 // ---
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1006
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1007 $('#regex_generator_error_msg').text("");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1008 } else {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1009 $('#regex_generator_error_msg').text("Note: Not a valid selection for regex generator.");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1010 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1011
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1012 $('.tagItemDivClass').remove(); // close the tag window
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1013
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1014 } else if (_selection.type == "Caret") {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1015 // TODO: click on tagged text case rather than select
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1016 // If do this process, also need to consider between browers since not all of them support
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1017 // and also need to modify pop_remove_tag_window
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1018 }
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1019 });
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1020
94
b0cecc104639 new: modified tags can work on tagged text
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 93
diff changeset
1021 $(add_gen_regex_button).text("Add to Gen Regex (developing...)");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1022 tag_item_div.appendChild(add_gen_regex_button);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1023 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1024
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1025 var tagMode = "default";
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1026
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1027 function onTagModeChanged(ele){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1028 tagMode = ele.value;
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1029 }
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1030
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1031 function startToTag(){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1032
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1033 switch(tagMode){
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1034
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1035 case "default":
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1036 replaceSmartRun();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1037 break;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1038 case "with_line_break":
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1039 replaceSmartRunWithBr();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1040 break;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1041 case "space_within_block":
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1042 replaceSmartRunSpace();
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1043 break;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1044 // case "xxx" :
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1045 // replaceSmartRunSpace() //Allow space between Group
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1046 // break;
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1047 }
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1048 }
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1049
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1050 function smartRegexEmpty() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1051 $('#smartRegexShowDiv').html("");
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1052 regex_element_index = 0;
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1053 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1054
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1055 function replaceSmartRunWithBr() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1056
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1057 $("#loading").show();
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1058
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1059 var replaceSmartRegexString = "";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1060 var replaceSmartReplaceString = "";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1061 var count=1;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1062
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1063 saveUndoText();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1064
80
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1065 // skip everything inside "【】", including "【】". // (【([^【】])*】) //(【.*】)
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1066 replaceSmartRegexString += "(【[^【】]+(?!.*})】)*";
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1067 replaceSmartReplaceString += "$"+count;
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1068 count ++;
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1069 // ---
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1070
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1071 $('#smartRegexShowDiv').children('span').each(function () {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1072 replaceSmartRegexString += "(" + $(this).attr("regexText") + ")";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1073 if ( $(this).attr("regexReplace") == "notag" || $(this).attr("regexReplace") == "NOTAG") {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1074 replaceSmartReplaceString += "$" + count;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1075 } else if ( $(this).attr("regexReplace") == "title" ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1076 replaceSmartReplaceString += "<br>〈" + "$" + count + "〉<br>";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1077 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1078 // with <br> before
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1079 replaceSmartReplaceString += "<br><" + $(this).attr("regexReplace") + ">" + "$" + count + "</"+ $(this).attr("regexReplace") +">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1080 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1081 count++;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1082 });
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1083
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1084
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1085 var startPage = $('#regexPageStart').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1086 var endPage = $('#regexPageEnd').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1087 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1088 var str="" + el.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1089
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1090 // if there's no match || the it's a null object..
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1091 if (str.match(new RegExp(replaceSmartRegexString, "g")) == null) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1092 $.bootstrapGrowl( "Tagged 0 entity!" );
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1093
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1094 } else if ( startPage == "" ) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1095 $.bootstrapGrowl( "Tagged "+str.match(new RegExp(replaceSmartRegexString, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1096 el.innerHTML = str.replace(new RegExp(replaceSmartRegexString, "g"), replaceSmartReplaceString);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1097 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1098 var regexText="【<a([^<>]*?)>"+startPage+"</a>】(.*?)【<a([^<>]*?)>"+endPage+"</a>】";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1099 var partString = ""+str.match(new RegExp(regexText, "g"));
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1100 $.bootstrapGrowl(partString);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1101
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1102 $.bootstrapGrowl( "Tagged "+partString.match(new RegExp(replaceSmartRegexString, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1103 var resultString = partString.replace(new RegExp(replaceSmartRegexString, "g"), replaceSmartReplaceString);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1104
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1105 str="" + el.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1106 el.innerHTML = str.replace(new RegExp(regexText, "g"), resultString);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1107 }
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1108
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1109 $("#loading").hide();
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1110
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1111 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1112
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1113 function replaceSmartRun() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1114
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1115 $("#loading").show();
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1116
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1117 var replaceSmartRegexString = "";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1118 var replaceSmartReplaceString = "";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1119 var count=1;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1120
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1121 saveUndoText();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1122
80
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1123 // skip everything inside "【】", including "【】".
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1124 replaceSmartRegexString += "(【[^【】]+(?!.*})】)*";
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1125 replaceSmartReplaceString += "$"+count;
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1126 count ++;
c15f53afd7a5 Bug fixed: skiping everything inside '??', including '??'
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 77
diff changeset
1127 // ---
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1128
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1129 $('#smartRegexShowDiv').children('span').each(function () {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1130 replaceSmartRegexString += "(" + $(this).attr("regexText") + ")";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1131 if ( $(this).attr("regexReplace") == "notag" || $(this).attr("regexReplace") == "NOTAG" ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1132 replaceSmartReplaceString += "$" + count;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1133 } else if ( $(this).attr("regexReplace") == "title" ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1134 replaceSmartReplaceString += "<br>〈" + "$" + count + "〉<br>";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1135 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1136 replaceSmartReplaceString += "<" + $(this).attr("regexReplace") + ">" + "$" + count + "</"+ $(this).attr("regexReplace") +">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1137 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1138 count++;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1139 });
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1140
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1141
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1142 var startPage = $('#regexPageStart').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1143 var endPage = $('#regexPageEnd').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1144 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1145 var str="" + el.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1146
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1147 // if there's no match || the it's a null object..
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1148 if (str.match(new RegExp(replaceSmartRegexString, "g")) == null) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1149 $.bootstrapGrowl( "Tagged 0 entity!" );
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1150
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1151 } else if ( startPage == "" ) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1152 $.bootstrapGrowl( "Tagged "+str.match(new RegExp(replaceSmartRegexString, "g")).length+" entities!" );
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1153
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1154 el.innerHTML = str.replace(new RegExp(replaceSmartRegexString, "g"), replaceSmartReplaceString);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1155 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1156 var regexText="【<a([^<>]*?)>"+startPage+"</a>】(.*?)【<a([^<>]*?)>"+endPage+"</a>】";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1157 var partString = ""+str.match(new RegExp(regexText, "g"));
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1158 $.bootstrapGrowl(partString);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1159
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1160 $.bootstrapGrowl( "Tagged "+partString.match(new RegExp(replaceSmartRegexString, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1161 var resultString = partString.replace(new RegExp(replaceSmartRegexString, "g"), replaceSmartReplaceString);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1162
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1163 str="" + el.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1164 el.innerHTML = str.replace(new RegExp(regexText, "g"), resultString);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1165 }
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1166
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1167 $("#loading").hide();
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1168 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1169
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1170 function replaceSmartRunSpace() {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1171
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1172 $("#loading").show();
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1173
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1174 var replaceSmartRegexString = "";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1175 var replaceSmartReplaceString = "";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1176 var count=1;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1177 saveUndoText();
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1178
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1179 $('#smartRegexShowDiv').children('span').each(function () {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1180 //$.bootstrapGrowl($(this).attr("regexText"));
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1181 replaceSmartRegexString += "(" + $(this).attr("regexText") + ")(○*)";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1182 if ( $(this).attr("regexReplace") == "notag" || $(this).attr("regexReplace") == "NOTAG") {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1183 replaceSmartReplaceString += "$" + count;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1184 } else if ( $(this).attr("regexReplace") == "title" ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1185 replaceSmartReplaceString += "<br>〈" + "$" + count + "〉<br>";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1186 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1187 replaceSmartReplaceString += "<" + $(this).attr("regexReplace") + ">" + "$" + count + "</"+ $(this).attr("regexReplace") +">";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1188 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1189 count++;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1190 replaceSmartReplaceString += "$" + count;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1191 count++;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1192 });
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1193
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1194 var startPage = $('#regexPageStart').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1195 var endPage = $('#regexPageEnd').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1196 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1197 var str="" + el.innerHTML;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1198
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1199 // if there's no match || the it's a null object..
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1200 if (str.match(new RegExp(replaceSmartRegexString, "g")) == null) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1201 $.bootstrapGrowl( "Tagged 0 entity!" );
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1202
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1203 } else if ( startPage == "" ) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1204 $.bootstrapGrowl( "Tagged "+str.match(new RegExp(replaceSmartRegexString, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1205 el.innerHTML = str.replace(new RegExp(replaceSmartRegexString, "g"), replaceSmartReplaceString);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1206 } else {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1207 var regexText="【<a([^<>]*?)>"+startPage+"</a>】(.*?)【<a([^<>]*?)>"+endPage+"</a>】";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1208 var partString = ""+str.match(new RegExp(regexText, "g"));
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1209 $.bootstrapGrowl(partString);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1210
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1211 $.bootstrapGrowl( "Tagged "+partString.match(new RegExp(replaceSmartRegexString, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1212 var resultString = partString.replace(new RegExp(replaceSmartRegexString, "g"), replaceSmartReplaceString);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1213
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1214 str="" + el.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1215 el.innerHTML = str.replace(new RegExp(regexText, "g"), resultString);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1216 }
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1217
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1218 //$.bootstrapGrowl( "Tagged "+str.match(new RegExp(replaceSmartRegexString, "g")).length+" entities!" );
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1219 //el.innerHTML = str.replace(new RegExp(replaceSmartRegexString, "g"), replaceSmartReplaceString);
103
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1220
2cc65ff46174 minor fixed
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 101
diff changeset
1221 $("#loading").hide();
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1222 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1223
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1224 function smartRegexSave(topic_id) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1225 //console.log("topic_id"+topic_id);
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1226
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1227 var today = new Date();
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1228 var minute = today.getMinutes();
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1229 var hour = today.getHours();
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1230 var dd = today.getDate();
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1231 var mm = today.getMonth()+1; //January is 0!
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1232 var yyyy = today.getFullYear();
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1233
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1234 if(dd<10) {
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1235 dd='0'+dd
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1236 }
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1237 if(mm<10) {
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1238 mm='0'+mm
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1239 }
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1240 if (hour<10) {
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1241 hour='0'+hour;
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1242 }
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1243 if (minute<10) {
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1244 minute='0'+minute;
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1245 }
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1246 today = hour+'_'+minute+'_'+dd+'_'+mm+'_'+yyyy;
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1247
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1248 var name=prompt("Please enter this Regex name", RegexLoadedName+"_"+today);
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1249
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1250
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1251
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1252 if (name!=null && name != ''){
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1253
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1254 // the name not allowed to contain " ", "(", ")"
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1255 if (name.indexOf(' ') >= 0 || name.indexOf('(') >= 0 || name.indexOf(')') >= 0) {
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1256
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1257 $.bootstrapGrowl("Save Regex Failed.\nPlease don't use space or '(' or ')' in the name. Consider to use '-' or '_' instead. ");
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1258 return;
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1259 }
106
6de4932d993b bug fixed: prevent page halted bcuz the null tagging result from Regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 103
diff changeset
1260
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1261 $.ajax({
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1262 type : 'POST',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1263 url : './TaggingText',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1264 async : false,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1265 data : 'func=SmartRegexSave'+'&text='+encodeURIComponent($('#smartRegexShowDiv').html())+'&filename='+name+'&topic_id='+topic_id,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1266 error: function (result) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1267 $.bootstrapGrowl("Error");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1268 },
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1269 success: function (result) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1270 var obj = jQuery.parseJSON(result);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1271
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1272 if (obj == "ErrorDB") {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1273 $.bootstrapGrowl("Error when saving to database!!");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1274
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1275 } else if (obj == "ForceSave") {
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1276 var retVal = confirm("Danger! You will over write the previous regex file. Do you want to proceed?");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1277
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1278 if( retVal == true ){
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1279 // update regex file
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1280 $.ajax({
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1281 type : 'POST',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1282 url : './TaggingText',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1283 async : false,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1284 data : 'func=SmartRegexSave'+'&text='+encodeURIComponent($('#smartRegexShowDiv').html())+'&filename='+name+'&topic_id='+topic_id+'&forcesave=1',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1285 error: function (result) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1286 $.bootstrapGrowl("Error");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1287 },
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1288 success: function (result) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1289 $.bootstrapGrowl("Update regex file.");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1290 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1291 });
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1292 }else{
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1293 $.bootstrapGrowl("You have not saved the regex file.");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1294 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1295
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1296 } else {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1297 $.bootstrapGrowl("Saved!");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1298 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1299 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1300 }).done(function(result) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1301 });
81
f1f849d31272 book_id as string
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 80
diff changeset
1302 } else {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1303 $.bootstrapGrowl("You haven't saved it.");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1304 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1305 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1306
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1307 function smartRegexLoad(topic_id) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1308
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1309 $('#load_regex_div').html("");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1310
87
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1311 var popup_status = $('#load_regex_div').css("display");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1312 if (popup_status == "block") {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1313 $('#load_regex_div').css("display", "none");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1314 } else {
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1315 $('#load_regex_div').css("display", "block");
fb5049fc5dd7 New:(1)UI(2)generate simple regex by examples(3)coordinates in book metadata
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 81
diff changeset
1316 }
66
e71a437ae49f New: responsive. some css style
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 65
diff changeset
1317
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1318 var newselect = document.createElement("select");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1319 newselect.id = "loadRegexSelect";
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1320
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1321 $.ajax({
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1322 type: 'POST',
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1323 url: './TaggingText',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1324 dataType: 'json',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1325 data: "func=SmartRegexLoad&topic_id="+topic_id,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1326 //cache: false,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1327 success: function (data) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1328 $.each(data, function(index, element) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1329 // index is the filename (without '.txt')
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1330 // element is the content in the file
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1331 newselect.innerHTML += "<option value=\""+index+"\">"+index+"</option>\n";
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1332 //$.bootstrapGrowl(index);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1333 //$.bootstrapGrowl(element);
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1334 var newdiv = document.createElement("div");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1335 $(newdiv).css("display", "none");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1336 $(newdiv).html(element);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1337
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1338 $(newdiv).attr("id", "div_"+index);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1339 $('#load_regex_div').append(newdiv);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1340 });
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1341
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1342
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1343 },
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1344 error: function (data) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1345 console.log("SmartRegexLoad fails");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1346 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1347
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1348 });
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1349
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1350 /*
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1351 $.ajax({
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1352 type: 'POST',
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1353 url: '../models/_extractapp_func.php',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1354 dataType: 'json',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1355 data: "func=SmartRegexLoad",
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1356 //cache: false,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1357 success: function (data) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1358 $.each(data, function(index, element) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1359 newselect.innerHTML += "<option value=\""+index+"\">"+index+"</option>\n";
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1360 //$.bootstrapGrowl(index);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1361 //$.bootstrapGrowl(element);
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1362 var newdiv = document.createElement("div");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1363 $(newdiv).css("display", "none");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1364 $(newdiv).html(element);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1365 $(newdiv).attr("id", "div_"+index);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1366 $('#load_regex_div').append(newdiv);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1367 });
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1368
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1369 },
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1370 error: function (data) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1371 console.log("SmartRegexLoad fails");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1372 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1373
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1374 });
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1375 */
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1376
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1377 var loadBtn = document.createElement("button");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1378 $(loadBtn).html("Load");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1379 $(loadBtn).addClass("btn btn-sm btn-info");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1380 $(loadBtn).attr("onclick", "loadRegexAdd()");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1381
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1382 var closeBtn = document.createElement("button");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1383 $(closeBtn).html('<span aria-hidden=\"true\">×</span>');
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1384 $(closeBtn).addClass("btn btn-xs btn-default close-btn");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1385 $(closeBtn).attr("onclick", "$('#load_regex_div').css(\"display\", \"none\");");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1386
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1387 var emptyRow = document.createElement("div");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1388 $(emptyRow).addClass("emptyRow");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1389
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1390 var emptyRow2 = document.createElement("div");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1391 $(emptyRow2).addClass("emptyRow");
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1392
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1393 emptyRow2.append(loadBtn);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1394
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1395 $('#load_regex_div').append(closeBtn);
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1396 $('#load_regex_div').append(emptyRow);
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1397 $('#load_regex_div').append(newselect);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1398 $('#load_regex_div').append(emptyRow2);
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1399 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1400
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1401 var RegexLoadedName = "";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1402 function loadRegexAdd() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1403 RegexLoadedName = $('#loadRegexSelect').val();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1404 var divName = "#div_"+RegexLoadedName;
70
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1405 var regex_content = $(divName).html();
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1406
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1407 $('#smartRegexShowDiv').html(regex_content);
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1408 $('#load_regex_div').css("display", "none");
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1409
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1410 // get the largest regex element index in the regex file
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1411 // for all children (span) in #smartRegexShowDiv, find MAX(id)
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1412 var regex_elem = $('#smartRegexShowDiv').children();
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1413 var max_id = 0;
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1414 for (var i = 0; i < regex_elem.length; i++) {
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1415 var r_id = parseInt(regex_elem[i].id.slice(11)); // cut the first 11 char out: "regex_elem_"
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1416 if (r_id > max_id) {
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1417 max_id = r_id;
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1418 }
70
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1419
50
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1420 }
3e42a63de0ea bug fix: unique regex element id, edit/update/delete regex
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 49
diff changeset
1421 regex_element_index = max_id;
70
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1422
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1423
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1424 // hover on #smartRegexShowDiv > span, change border width
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1425 $("#smartRegexShowDiv > span").hover( function() {
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1426 // hover in
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1427 $(this).css("border","3px solid black");
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1428 }, function() {
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1429 // hover out
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1430 // TODO: if this is clicked...
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1431 $(this).css("border","1px solid black");
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1432 });
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1433
70
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1434 /*
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1435 // TODO: click
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1436 $("#smartRegexShowDiv > span").click( function() {
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1437 $(this).css("border","3px double black");
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1438 console.log("Debug: clicked");
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1439 });
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1440
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1441
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1442 $('#smartRegexShowDiv > span').on({
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1443 mouseover: function(){
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1444 $(this).css("border","3px solid black");
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1445 },
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1446 mouseleave: function(){
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1447 $(this).css("border","1px solid black");
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1448 },
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1449 click: function(){
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1450 $(this).off('mouseleave');
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1451 }
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1452 });
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1453 */
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1454 }
70
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1455
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1456
359f48d58cbc New: hover on regex elem
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 66
diff changeset
1457
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1458 // ===
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1459
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1460
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1461 // === for editwordlist.php ===
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1462 function addNewList() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1463 var el = document.getElementById("listNameText");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1464 $.ajax({
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1465 //url : '../../models/_extractapp_func.php',
49
b2c1fae5cf6a move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 47
diff changeset
1466 url : './EditWordlist',
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1467 async : false,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1468 type : 'POST',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1469 data : 'func=AddNewList'+'&text='+el.value,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1470 success: function (e) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1471 $.bootstrapGrowl("Added!");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1472 document.location.reload(true);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1473 },
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1474 error: function (e) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1475 console.log("error when add new list");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1476 $.bootstrapGrowl("Haven't added new list!!");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1477 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1478 }).done(function(result) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1479
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1480 });
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1481 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1482
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1483 function saveWordlist(id ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1484 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1485 $.ajax({
49
b2c1fae5cf6a move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 47
diff changeset
1486 url : './EditWordlist',
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1487 async : false,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1488 type : 'POST',
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1489 data : 'func=SaveWordlist'+'&text='+el.innerHTML+'&filename='+id,
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1490 success: function (e) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1491 $.bootstrapGrowl("Saved!");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1492 },
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1493 error: function (e) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1494 $.bootstrapGrowl("Haven't saved!");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1495 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1496 }).done(function(result) {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1497
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1498 });
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1499
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1500 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1501
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1502 function editWordlistText( id ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1503 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1504 el.contentEditable = true;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1505 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1506
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1507 function replaceRegex() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1508 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1509 var regexText=document.getElementById("regexText").value;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1510 var replaceText=document.getElementById("replaceText").value;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1511 var str="" + el.innerHTML;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1512 el.innerHTML = str.replace(new RegExp(regexText, "g"), replaceText);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1513 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1514
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1515 function showListContent( id ) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1516 var xhr = new XMLHttpRequest();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1517 xhr.onreadystatechange = process;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1518 xhr.open("POST", "../data/wordlist/"+id+".txt?t=" + Math.random(), true);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1519 // TODO: should show the latest wordlist file. eg. id_timestamp.txt, rather than open the original id.txt file
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1520
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1521
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1522 xhr.send();
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1523
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1524 function process() {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1525 if (xhr.readyState == 4) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1526 var el = document.getElementById("editable-area");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1527 var str = xhr.responseText
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1528 var regexText=/\n/g;
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1529 var replaceText="<br>\n";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1530 el.innerHTML = str.replace(regexText, replaceText);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1531
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1532 document.getElementById("button-area").innerHTML=
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1533 "<form action=\"javascript:void(0);\"> \
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1534 <fieldset><legend>Edit:</legend> \
100
8a97db7b9108 bug fixed: edit text
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 99
diff changeset
1535 <button id=\"buttonEditText\" onclick=\"editWordlistText("+id+")\" style=\"height: 30px; width: 220px\">Edit text</button></br> \
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1536 <button id=\"buttonSaveText\" onclick=\"saveWordlist("+id+")\" style=\"height: 30px; width: 220px\">Save the text</button> \
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1537 </fieldset> \
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1538 <fieldset><legend>Replace By Regex:</legend> \
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1539 Regex: <input type=\"text\" size=\"30\" id=\"regexText\"></br> \
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1540 Replace: <input type=\"text\" size=\"30\" id=\"replaceText\"><br> \
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1541 <button onclick=\"replaceRegex()\">Replace!</button> \
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1542 </fieldset> \
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1543 </form>";
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1544 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1545 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1546 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1547
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1548 // ============
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1549
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1550 // === for edittaglist.php ===
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1551 function editTaglist(topic_id) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1552 var form = document.createElement("form");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1553 form.setAttribute("method", "post");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1554 form.setAttribute("action", "./EditTaglist");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1555 form.setAttribute("target", "_blank");
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1556
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1557 var hiddenField = document.createElement("input");
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1558 hiddenField.setAttribute("name", "topic_id");
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1559 hiddenField.setAttribute("value", topic_id);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1560 form.appendChild(hiddenField);
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1561
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1562 if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1) {
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1563 document.body.appendChild(form);
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1564 form.submit();
107
7f2c5d542616 fixed form submit issue in Chrome 56.x
Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
parents: 106
diff changeset
1565 document.body.removeChild(form);
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1566 } else {
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1567 //form.submit(); // works under IE and Chrome, but not FF
107
7f2c5d542616 fixed form submit issue in Chrome 56.x
Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
parents: 106
diff changeset
1568 document.body.appendChild(form);
7f2c5d542616 fixed form submit issue in Chrome 56.x
Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
parents: 106
diff changeset
1569 form.submit();
7f2c5d542616 fixed form submit issue in Chrome 56.x
Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
parents: 106
diff changeset
1570 document.body.removeChild(form);
47
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1571 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1572 }
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1573
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1574
886f43b26ee2 move/remove develop folder
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1575 // ============
121
21e89eca0b84 All pop sub-windows are made with dialog component of bootstrap v3.3.2
Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
parents: 107
diff changeset
1576 //