Mercurial > public > sg101
comparison media/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js @ 247:6ed2932901fa
Update tinymce to 3.3.9
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 18 Sep 2010 19:54:11 +0000 |
parents | 237710206167 |
children |
comparison
equal
deleted
inserted
replaced
246:e4dc0b649fcb | 247:6ed2932901fa |
---|---|
259 | 259 |
260 se.moveToBookmark(b); | 260 se.moveToBookmark(b); |
261 }, | 261 }, |
262 | 262 |
263 _showMenu : function(ed, e) { | 263 _showMenu : function(ed, e) { |
264 var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()); | 264 var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target; |
265 | |
266 e = 0; // Fixes IE memory leak | |
265 | 267 |
266 if (!m) { | 268 if (!m) { |
267 p1 = DOM.getPos(ed.getContentAreaContainer()); | 269 p1 = DOM.getPos(ed.getContentAreaContainer()); |
268 //p2 = DOM.getPos(ed.getContainer()); | 270 //p2 = DOM.getPos(ed.getContainer()); |
269 | 271 |
274 }); | 276 }); |
275 | 277 |
276 t._menu = m; | 278 t._menu = m; |
277 } | 279 } |
278 | 280 |
279 if (dom.hasClass(e.target, 'mceItemHiddenSpellWord')) { | 281 if (dom.hasClass(wordSpan, 'mceItemHiddenSpellWord')) { |
280 m.removeAll(); | 282 m.removeAll(); |
281 m.add({title : 'spellchecker.wait', 'class' : 'mceMenuItemTitle'}).setDisabled(1); | 283 m.add({title : 'spellchecker.wait', 'class' : 'mceMenuItemTitle'}).setDisabled(1); |
282 | 284 |
283 t._sendRPC('getSuggestions', [t.selectedLang, dom.decode(e.target.innerHTML)], function(r) { | 285 t._sendRPC('getSuggestions', [t.selectedLang, dom.decode(wordSpan.innerHTML)], function(r) { |
284 var ignoreRpc; | 286 var ignoreRpc; |
285 | 287 |
286 m.removeAll(); | 288 m.removeAll(); |
287 | 289 |
288 if (r.length > 0) { | 290 if (r.length > 0) { |
289 m.add({title : 'spellchecker.sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); | 291 m.add({title : 'spellchecker.sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); |
290 each(r, function(v) { | 292 each(r, function(v) { |
291 m.add({title : v, onclick : function() { | 293 m.add({title : v, onclick : function() { |
292 dom.replace(ed.getDoc().createTextNode(v), e.target); | 294 dom.replace(ed.getDoc().createTextNode(v), wordSpan); |
293 t._checkDone(); | 295 t._checkDone(); |
294 }}); | 296 }}); |
295 }); | 297 }); |
296 | 298 |
297 m.addSeparator(); | 299 m.addSeparator(); |
300 | 302 |
301 ignoreRpc = t.editor.getParam("spellchecker_enable_ignore_rpc", ''); | 303 ignoreRpc = t.editor.getParam("spellchecker_enable_ignore_rpc", ''); |
302 m.add({ | 304 m.add({ |
303 title : 'spellchecker.ignore_word', | 305 title : 'spellchecker.ignore_word', |
304 onclick : function() { | 306 onclick : function() { |
305 var word = e.target.innerHTML; | 307 var word = wordSpan.innerHTML; |
306 | 308 |
307 dom.remove(e.target, 1); | 309 dom.remove(wordSpan, 1); |
308 t._checkDone(); | 310 t._checkDone(); |
309 | 311 |
310 // tell the server if we need to | 312 // tell the server if we need to |
311 if (ignoreRpc) { | 313 if (ignoreRpc) { |
312 ed.setProgressState(1); | 314 ed.setProgressState(1); |
318 }); | 320 }); |
319 | 321 |
320 m.add({ | 322 m.add({ |
321 title : 'spellchecker.ignore_words', | 323 title : 'spellchecker.ignore_words', |
322 onclick : function() { | 324 onclick : function() { |
323 var word = e.target.innerHTML; | 325 var word = wordSpan.innerHTML; |
324 | 326 |
325 t._removeWords(dom.decode(word)); | 327 t._removeWords(dom.decode(word)); |
326 t._checkDone(); | 328 t._checkDone(); |
327 | 329 |
328 // tell the server if we need to | 330 // tell the server if we need to |
338 | 340 |
339 if (t.editor.getParam("spellchecker_enable_learn_rpc")) { | 341 if (t.editor.getParam("spellchecker_enable_learn_rpc")) { |
340 m.add({ | 342 m.add({ |
341 title : 'spellchecker.learn_word', | 343 title : 'spellchecker.learn_word', |
342 onclick : function() { | 344 onclick : function() { |
343 var word = e.target.innerHTML; | 345 var word = wordSpan.innerHTML; |
344 | 346 |
345 dom.remove(e.target, 1); | 347 dom.remove(wordSpan, 1); |
346 t._checkDone(); | 348 t._checkDone(); |
347 | 349 |
348 ed.setProgressState(1); | 350 ed.setProgressState(1); |
349 t._sendRPC('learnWord', [t.selectedLang, word], function(r) { | 351 t._sendRPC('learnWord', [t.selectedLang, word], function(r) { |
350 ed.setProgressState(0); | 352 ed.setProgressState(0); |
354 } | 356 } |
355 | 357 |
356 m.update(); | 358 m.update(); |
357 }); | 359 }); |
358 | 360 |
359 ed.selection.select(e.target); | 361 ed.selection.select(wordSpan); |
360 p1 = dom.getPos(e.target); | 362 p1 = dom.getPos(wordSpan); |
361 m.showMenu(p1.x, p1.y + e.target.offsetHeight - vp.y); | 363 m.showMenu(p1.x, p1.y + wordSpan.offsetHeight - vp.y); |
362 | 364 |
363 return tinymce.dom.Event.cancel(e); | 365 return tinymce.dom.Event.cancel(e); |
364 } else | 366 } else |
365 m.hideMenu(); | 367 m.hideMenu(); |
366 }, | 368 }, |