MT7用FreeLayoutCustomFieldプラグイン拡張パックのリッチテキストのサイズを変更したときの不具合と対処

MT7用FreeLayoutCustomFieldプラグイン拡張パックで、「記事のカスタムフィールドにリッチテキスト型のフィールドを追加し、そのリッチテキストの右下のサイズ変更ハンドルをドラッグすると、リッチテキストの内容が消えて編集できなくなる」という不具合のご指摘がありました。
この対処を紹介します。

対処の手順は以下の通りです。

1.tinymce.jsの書き換え

この不具合について調べたところ、TinyMCEのJavaScriptの書き換えが必要でした。
「mt-static」→「plugins」→「TinyMCE」→「tiny_mce」ディレクトリにある「tinymce.js」ファイルで、1205行目付近を以下のように書き換えます。

書き換え前

function defaultNativeHandler(evt) {
  executeHandlers(fix(evt || win.event), id);
}

書き換え後(ハイライトの行を追加)

function defaultNativeHandler(evt) {
  if (evt.buttons == 1 &&
      (
        (evt.type == 'mousedown' && tinymce.DOM.hasClass(evt.target, 'mce-i-resize'))
        || 
        (evt.type == 'mousemove' && evt.target.style.zIndex == '2147483647')
      )
  ) { 
    evt.stopPropagation();
  }
  executeHandlers(fix(evt || win.event), id);
}

2.tinymce.min.jsの作成

1.で書き換えたtinymce.jsをMinifyして、tinymce.min.jsファイルを作成します。
そして、そのtinymce.min.jsを、「mt-static」→「plugins」→「TinyMCE」→「tiny_mce」ディレクトリにある同名のファイルに上書きします。

3.制限事項

MTクラウド版では、tinymce.jsおよびtinymce.min.jsを書き換えることができません。
そのため、今回の不具合に対応することができませんので、制限事項とさせていただきます。

なお、リッチテキストのサイズを変更すると、見た目上は文章が消えたようになりますが、内部的には文章は残っています。
記事を保存して開きなおせば、文章は表示されます。

MT Cloud Starter Kit
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください