206 |
206 |
207 return wl; |
207 return wl; |
208 }, |
208 }, |
209 |
209 |
210 _removeWords : function(w) { |
210 _removeWords : function(w) { |
211 var ed = this.editor, dom = ed.dom, se = ed.selection, b = se.getBookmark(); |
211 var ed = this.editor, dom = ed.dom, se = ed.selection, r = se.getRng(true); |
212 |
212 |
213 each(dom.select('span').reverse(), function(n) { |
213 each(dom.select('span').reverse(), function(n) { |
214 if (n && (dom.hasClass(n, 'mceItemHiddenSpellWord') || dom.hasClass(n, 'mceItemHidden'))) { |
214 if (n && (dom.hasClass(n, 'mceItemHiddenSpellWord') || dom.hasClass(n, 'mceItemHidden'))) { |
215 if (!w || dom.decode(n.innerHTML) == w) |
215 if (!w || dom.decode(n.innerHTML) == w) |
216 dom.remove(n, 1); |
216 dom.remove(n, 1); |
217 } |
217 } |
218 }); |
218 }); |
219 |
219 |
220 se.moveToBookmark(b); |
220 se.setRng(r); |
221 }, |
221 }, |
222 |
222 |
223 _markWords : function(wl) { |
223 _markWords : function(wl) { |
224 var ed = this.editor, dom = ed.dom, doc = ed.getDoc(), se = ed.selection, b = se.getBookmark(), nl = [], |
224 var ed = this.editor, dom = ed.dom, doc = ed.getDoc(), se = ed.selection, r = se.getRng(true), nl = [], |
225 w = wl.join('|'), re = this._getSeparators(), rx = new RegExp('(^|[' + re + '])(' + w + ')(?=[' + re + ']|$)', 'g'); |
225 w = wl.join('|'), re = this._getSeparators(), rx = new RegExp('(^|[' + re + '])(' + w + ')(?=[' + re + ']|$)', 'g'); |
226 |
226 |
227 // Collect all text nodes |
227 // Collect all text nodes |
228 this._walk(ed.getBody(), function(n) { |
228 this._walk(ed.getBody(), function(n) { |
229 if (n.nodeType == 3) { |
229 if (n.nodeType == 3) { |
277 // Finally, replace the node with the container |
277 // Finally, replace the node with the container |
278 dom.replace(elem, n); |
278 dom.replace(elem, n); |
279 } |
279 } |
280 }); |
280 }); |
281 |
281 |
282 se.moveToBookmark(b); |
282 se.setRng(r); |
283 }, |
283 }, |
284 |
284 |
285 _showMenu : function(ed, e) { |
285 _showMenu : function(ed, e) { |
286 var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target; |
286 var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target; |
287 |
287 |