$visualEditor = $(),
$textTop = $( '#ed_toolbar' ),
$textEditor = $( '#content' ),
- $textEditorClone = $( '<div id="content-textarea-clone"></div>' ),
+ $textEditorClone = $( '<div id="content-textarea-clone" class="wp-exclude-emoji"></div>' ),
$bottom = $( '#post-status-info' ),
$menuBar = $(),
$statusBar = $(),
var node = editor.selection.getNode(),
range, view, offset;
- if ( editor.plugins.wpview && ( view = editor.plugins.wpview.getView( node ) ) ) {
+ if ( editor.wp && editor.wp.getView && ( view = editor.wp.getView( node ) ) ) {
offset = view.getBoundingClientRect();
} else {
range = editor.selection.getRng();
var windowPos = $window.scrollTop(),
type = event && event.type,
resize = type !== 'scroll',
- visual = ( mceEditor && ! mceEditor.isHidden() ),
+ visual = mceEditor && ! mceEditor.isHidden(),
buffer = autoresizeMinHeight,
postBodyTop = $postBody.offset().top,
borderWidth = 1,
topHeight = heights.textTopHeight;
}
+ // TinyMCE still intializing.
+ if ( ! visual && ! $top.length ) {
+ return;
+ }
+
topPos = $top.parent().offset().top;
editorPos = $editor.offset().top;
editorHeight = $editor.outerHeight();
width: contentWrapWidth - ( borderWidth * 2 ) - ( visual ? 0 : ( $top.outerWidth() - $top.width() ) )
} );
- $statusBar.add( $bottom ).attr( 'style', '' );
+ $statusBar.attr( 'style', advanced ? '' : 'visibility: hidden;' );
+ $bottom.attr( 'style', '' );
}
} else {
// Maybe pin the top.
( windowPos + heights.windowHeight ) > ( editorPos + editorHeight + heights.bottomHeight + heights.statusBarHeight - borderWidth ) ) ) {
fixedBottom = false;
- $statusBar.add( $bottom ).attr( 'style', '' );
-
- if ( ! advanced ) {
- $statusBar.css( 'visibility', 'hidden' );
- }
+ $statusBar.attr( 'style', advanced ? '' : 'visibility: hidden;' );
+ $bottom.attr( 'style', '' );
}
}
}
function off() {
- var height = window.getUserSetting('ed_size');
+ var height = parseInt( window.getUserSetting( 'ed_size', 300 ), 10 );
+
+ if ( height < 50 ) {
+ height = 50;
+ } else if ( height > 5000 ) {
+ height = 5000;
+ }
// Scroll to the top when triggering this from JS.
// Ensures toolbars are reset properly.
}
function fadeOut( event ) {
- var key = event && event.keyCode;
+ var isMac,
+ key = event && event.keyCode;
+
+ if ( window.navigator.platform ) {
+ isMac = ( window.navigator.platform.indexOf( 'Mac' ) > -1 );
+ }
- // fadeIn and return on Escape and keyboard shortcut Alt+Shift+W.
- if ( key === 27 || ( key === 87 && event.altKey && event.shiftKey ) ) {
+ // fadeIn and return on Escape and keyboard shortcut Alt+Shift+W and Ctrl+Opt+W.
+ if ( key === 27 || ( key === 87 && event.altKey && ( ( ! isMac && event.shiftKey ) || ( isMac && event.ctrlKey ) ) ) ) {
fadeIn( event );
return;
}
} );
editor.addCommand( 'wpToggleDFW', toggle );
- editor.addShortcut( 'alt+shift+w', '', 'wpToggleDFW' );
+ editor.addShortcut( 'access+w', '', 'wpToggleDFW' );
} );
$document.on( 'tinymce-editor-init.focus', function( event, editor ) {
$document.on( 'dfw-on.focus', mceBind ).on( 'dfw-off.focus', mceUnbind );
// Make sure the body focuses when clicking outside it.
- editor.on( 'click', function( event ) {
+ editor.on( 'click', function( event ) {
if ( event.target === editor.getDoc().documentElement ) {
editor.focus();
}