TinyMCE wpView:
- Cast off commands targeted to a view except undo, redo, RemoveFormat and mceToggleFormat (bold, italic, etc.). - Disable the link and unlink buttons when a view is selected. Props avryl, see #28595 git-svn-id: https://develop.svn.wordpress.org/trunk@29183 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
e7b7e3fa44
commit
76c3055aec
@ -15,9 +15,10 @@ tinymce.PluginManager.add( 'wplink', function( editor ) {
|
||||
editor.addShortcut( 'ctrl+k', '', 'WP_Link' );
|
||||
|
||||
function setState( button, node ) {
|
||||
var parent = editor.dom.getParent( node, 'a' );
|
||||
var parent = editor.dom.getParent( node, 'a' ),
|
||||
getView = editor.plugins.wpview ? editor.plugins.wpview.getView : function() { return false; };
|
||||
|
||||
button.disabled( ( editor.selection.isCollapsed() && ! parent ) || ( parent && ! parent.href ) );
|
||||
button.disabled( ( editor.selection.isCollapsed() && ! parent ) || ( parent && ! parent.href ) || getView( node ) );
|
||||
button.active( parent && parent.href );
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* global tinymce */
|
||||
|
||||
/**
|
||||
* WordPress View plugin.
|
||||
*/
|
||||
@ -21,7 +22,7 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
|
||||
*/
|
||||
function getParent( node, className ) {
|
||||
while ( node && node.parentNode ) {
|
||||
if ( node.className && (' ' + node.className + ' ').indexOf(' ' + className + ' ') !== -1 ) {
|
||||
if ( node.className && ( ' ' + node.className + ' ' ).indexOf( ' ' + className + ' ' ) !== -1 ) {
|
||||
return node;
|
||||
}
|
||||
|
||||
@ -563,7 +564,7 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
|
||||
editor.dom.removeClass( editor.getBody(), 'has-focus' );
|
||||
} );
|
||||
|
||||
editor.on( 'nodechange', function( event ) {
|
||||
editor.on( 'NodeChange', function( event ) {
|
||||
var dom = editor.dom,
|
||||
views = editor.dom.select( '.wpview-wrap' ),
|
||||
className = event.element.className,
|
||||
@ -617,7 +618,20 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
|
||||
}
|
||||
});
|
||||
|
||||
editor.on( 'resolvename', function( event ) {
|
||||
editor.on( 'BeforeExecCommand', function( event ) {
|
||||
var cmd = event.command,
|
||||
view;
|
||||
|
||||
if ( cmd === 'undo' || cmd === 'redo' || cmd === 'RemoveFormat' || cmd === 'mceToggleFormat' ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( view = getView( editor.selection.getNode() ) ) {
|
||||
handleEnter( view );
|
||||
}
|
||||
});
|
||||
|
||||
editor.on( 'ResolveName', function( event ) {
|
||||
if ( editor.dom.hasClass( event.target, 'wpview-wrap' ) ) {
|
||||
event.name = editor.dom.getAttrib( event.target, 'data-wpview-type' ) || 'wpview';
|
||||
event.stopPropagation();
|
||||
|
Loading…
Reference in New Issue
Block a user