TinyMCE: центральное диалоговое окно (WindowManager.open) в редакторе - PullRequest
0 голосов
/ 11 июня 2018

Когда я использую editor.WindowManager.open, чтобы открыть диалоговое окно в tinyMce, оно центрируется на экране.Я бы хотел, чтобы он был в центре редактора.

Как к этому подойти?Могу ли я контролировать расположение окна?

1 Ответ

0 голосов
/ 25 июня 2018

Я нашел решение, добавив динамическое центрирование CSS к заголовку веб-страницы при открытии формы.

В функции диалога editor.windowManager.open я добавил этот код:

id: 'xxx-dialog',                           
onopen: function() {                                
   // Forcibly center dialog                                
   if ($("head #added-xxx-dialog-CSS").length == 0) // only once
   {
      $("#xxx-dialog .mce-dragh").remove(); // disable dragging of dialog
      var mceHeight=$(".mce-tinymce").height();
      var mceTop=$(".mce-tinymce").position().top;
      var thisHeight=$("#xxx-dialog").height();
      var newTop=mceHeight/2+mceTop-thisHeight/2;
      $("head").append('<style id="added-xxx-dialog-CSS"
      type="text/css">#xxx-dialog {top:'+newTop+'px !important;}</style>');                                 
    }
}, // etc...

Этот код центрирует Диалог только по вертикали, так как в моем приложении Диалог в любом случае автоматически центрируется по горизонтали, но очень просто добавить еще несколько строк таким же образом, чтобы центрировать и его по горизонтали.

...