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 },