Aleksander Machniak
2015-03-11 b9f8bb3cabf39f5550e69813b86f4eebbe68ce3a
Fix bug where TinyMCE area height was too small on slow network connection (#1490310)
2 files modified
47 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/js/editor.js 46 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -30,6 +30,7 @@
- Fix so search filter, scope and fields are reset on folder change
- Fix rows count when messages search fails (#1490266)
- Fix bug where spellchecking in HTML editor do not work after switching editor type more than once (#1490311)
- Fix bug where TinyMCE area height was too small on slow network connection (#1490310)
RELEASE 1.1.0
-------------
program/js/editor.js
@@ -134,6 +134,15 @@
      return;
    }
    var area = $('#' + this.id),
      height = $('div.mce-toolbar-grp:first', area.parent()).height();
    // the editor might be still not fully loaded, making the editing area
    // inaccessible, wait and try again (#1490310)
    if (height > 200 || height > area.height()) {
      return setTimeout(function () { ref.init_callback(event); }, 300);
    }
    var css = {},
      elem = rcube_find_object('_from'),
      fe = rcmail.env.compose_focus_elem;
@@ -154,21 +163,16 @@
      // Focus previously focused element
      if (fe && fe.id != this.id) {
        // use setTimeout() for IE9 (#1488541)
        window.setTimeout(function() {
          window.focus(); // for WebKit (#1486674)
          fe.focus();
          rcmail.env.compose_focus_elem = null;
        }, 10);
        window.focus(); // for WebKit (#1486674)
        fe.focus();
        rcmail.env.compose_focus_elem = null;
      }
    }
    window.setTimeout(function() {
      // set tabIndex and set focus to element that was focused before
      ref.tabindex(fe && fe.id == ref.id);
      // Trigger resize (needed for proper editor resizing in some browsers)
      $(window).resize();
    }, 100);
    // set tabIndex and set focus to element that was focused before
    ref.tabindex(fe && fe.id == ref.id);
    // Trigger resize (needed for proper editor resizing in some browsers)
    $(window).resize();
  };
  // set tabIndex on tinymce editor
@@ -240,17 +244,13 @@
        input.val(data);
        tinymce.execCommand('mceAddEditor', false, ref.id);
        setTimeout(function() {
          if (ref.editor) {
            var body = $(ref.editor.getBody());
            if (rcmail.env.default_font)
              body.css('font-family', rcmail.env.default_font);
            // #1486593
            ref.tabindex(true);
            // put cursor on start of the compose body
            ref.editor.selection.setCursorLocation(body.children().first().get(0));
          }
        }, 500);
        if (ref.editor) {
          var body = $(ref.editor.getBody());
          // #1486593
          ref.tabindex(true);
          // put cursor on start of the compose body
          ref.editor.selection.setCursorLocation(body.children().first().get(0));
        }
      };
      // convert to html