equal
deleted
inserted
replaced
67 r3.setEndAfter(next) ; |
67 r3.setEndAfter(next) ; |
68 |
68 |
69 var ind = parseInt(csStartAncestor.id.substring('sv_'.length)) ; |
69 var ind = parseInt(csStartAncestor.id.substring('sv_'.length)) ; |
70 while(r3.toString().length < range.toString().length) { |
70 while(r3.toString().length < range.toString().length) { |
71 ind++ ; |
71 ind++ ; |
72 var node = CY.one("#sv_"+ind) ; |
72 var node = CY.get("#sv_"+ind) ; |
73 if (node) { |
73 if (node) { |
74 next = CY.Node.getDOMNode(node) ; |
74 next = CY.Node.getDOMNode(node) ; |
75 r3.setEndAfter(next) ; |
75 r3.setEndAfter(next) ; |
76 } |
76 } |
77 else |
77 else |
89 r3.setStartBefore(prev) ; |
89 r3.setStartBefore(prev) ; |
90 |
90 |
91 var ind = parseInt(csEndAncestor.id.substring('sv_'.length)) ; |
91 var ind = parseInt(csEndAncestor.id.substring('sv_'.length)) ; |
92 while(r3.toString().length < range.toString().length) { |
92 while(r3.toString().length < range.toString().length) { |
93 ind-- ; |
93 ind-- ; |
94 var node = CY.one("#sv_"+ind) ; |
94 var node = CY.get("#sv_"+ind) ; |
95 if (node) { |
95 if (node) { |
96 prev = CY.Node.getDOMNode(node) ; |
96 prev = CY.Node.getDOMNode(node) ; |
97 r3.setStartBefore(prev) ; |
97 r3.setStartBefore(prev) ; |
98 } |
98 } |
99 else |
99 else |
106 var textLength = text.length ; |
106 var textLength = text.length ; |
107 |
107 |
108 // gather nodes with id sv_xxxx as candidates for start ancestor |
108 // gather nodes with id sv_xxxx as candidates for start ancestor |
109 var startNodeInds = [] ; |
109 var startNodeInds = [] ; |
110 for (var ind = 0 ; ; ind++) { |
110 for (var ind = 0 ; ; ind++) { |
111 var svNode = CY.one("#sv_"+ind) ; |
111 var svNode = CY.get("#sv_"+ind) ; |
112 if (svNode == null) { |
112 if (svNode == null) { |
113 break; |
113 break; |
114 } |
114 } |
115 else { |
115 else { |
116 var svText = svNode.get("text") ; |
116 var svText = svNode.get("text") ; |
121 } |
121 } |
122 |
122 |
123 // gather nodes with id sv_xxxx as candidates for end ancestor |
123 // gather nodes with id sv_xxxx as candidates for end ancestor |
124 var endNodeInds = [] ; |
124 var endNodeInds = [] ; |
125 for (var ind = 0 ; ; ind++) { |
125 for (var ind = 0 ; ; ind++) { |
126 var svNode = CY.one("#sv_"+ind) ; |
126 var svNode = CY.get("#sv_"+ind) ; |
127 if (svNode == null) { |
127 if (svNode == null) { |
128 break; |
128 break; |
129 } |
129 } |
130 else { |
130 else { |
131 var svText = svNode.get("text") ; |
131 var svText = svNode.get("text") ; |
138 var stop = false ; |
138 var stop = false ; |
139 for (var i = 0 ; i < startNodeInds.length ; i++) { |
139 for (var i = 0 ; i < startNodeInds.length ; i++) { |
140 for (var j = 0 ; j < endNodeInds.length ; j++) { |
140 for (var j = 0 ; j < endNodeInds.length ; j++) { |
141 var r4 = document.createRange() ; |
141 var r4 = document.createRange() ; |
142 |
142 |
143 var s = CY.Node.getDOMNode(CY.one("#sv_"+startNodeInds[i])) ; var e = CY.Node.getDOMNode(CY.one("#sv_"+endNodeInds[j])) ; |
143 var s = CY.Node.getDOMNode(CY.get("#sv_"+startNodeInds[i])) ; var e = CY.Node.getDOMNode(CY.get("#sv_"+endNodeInds[j])) ; |
144 |
144 |
145 r4.setStartBefore(s) ; r4.setEndAfter(CY.Node.getDOMNode(e)) ; |
145 r4.setStartBefore(s) ; r4.setEndAfter(CY.Node.getDOMNode(e)) ; |
146 |
146 |
147 // does r4 starts after range start and r4 ends before range end ? |
147 // does r4 starts after range start and r4 ends before range end ? |
148 if ((-1 < r4.compareBoundaryPoints(0, range)) && (1 > r4.compareBoundaryPoints(2, range))) { |
148 if ((-1 < r4.compareBoundaryPoints(0, range)) && (1 > r4.compareBoundaryPoints(2, range))) { |