mirror of
https://github.com/WordPress/WordPress.git
synced 2025-01-03 15:08:10 +01:00
TinyMCE: update the wpView toolbar to look the same as the new image toolbar.
Fixes #30561. Built from https://develop.svn.wordpress.org/trunk@30694 git-svn-id: http://core.svn.wordpress.org/trunk@30684 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
16e54ae8c0
commit
d16c8cf1fc
@ -56,9 +56,9 @@ window.wp = window.wp || {};
|
||||
this.setContent(
|
||||
'<p class="wpview-selection-before">\u00a0</p>' +
|
||||
'<div class="wpview-body" contenteditable="false">' +
|
||||
'<div class="toolbar">' +
|
||||
'<div class="toolbar mce-arrow-down">' +
|
||||
( _.isFunction( views[ this.type ].edit ) ? '<div class="dashicons dashicons-edit edit"></div>' : '' ) +
|
||||
'<div class="dashicons dashicons-no-alt remove"></div>' +
|
||||
'<div class="dashicons dashicons-no remove"></div>' +
|
||||
'</div>' +
|
||||
'<div class="wpview-content wpview-type-' + this.type + '">' +
|
||||
( this.getHtml() || this.loadingPlaceholder() ) +
|
||||
|
2
wp-includes/js/mce-view.min.js
vendored
2
wp-includes/js/mce-view.min.js
vendored
File diff suppressed because one or more lines are too long
@ -115,8 +115,13 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
|
||||
var clipboard,
|
||||
dom = editor.dom;
|
||||
|
||||
// Bail if node is already selected.
|
||||
if ( ! viewNode || viewNode === selected ) {
|
||||
if ( ! viewNode ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Adjust the toolbar position and bail if node is already selected.
|
||||
if ( viewNode === selected ) {
|
||||
adjustToolbarPosition( viewNode );
|
||||
return;
|
||||
}
|
||||
|
||||
@ -128,6 +133,7 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
|
||||
deselect();
|
||||
selected = viewNode;
|
||||
dom.setAttrib( viewNode, 'data-mce-selected', 1 );
|
||||
adjustToolbarPosition( viewNode );
|
||||
|
||||
clipboard = dom.create( 'div', {
|
||||
'class': 'wpview-clipboard',
|
||||
@ -151,6 +157,24 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
|
||||
editor.fire( 'wpview-selected', viewNode );
|
||||
}
|
||||
|
||||
function adjustToolbarPosition( viewNode ) {
|
||||
var delta = 0,
|
||||
toolbar = editor.$( viewNode ).find( '.toolbar' ),
|
||||
editorToolbar = tinymce.$( editor.editorContainer ).find( '.mce-toolbar-grp' )[0],
|
||||
editorToolbarBottom = ( editorToolbar && editorToolbar.getBoundingClientRect().bottom ) || 0;
|
||||
|
||||
if ( toolbar.length && editor.iframeElement ) {
|
||||
// 48 = 43 for the toolbar + 5 buffer
|
||||
delta = viewNode.getBoundingClientRect().top + editor.iframeElement.getBoundingClientRect().top - editorToolbarBottom - 48;
|
||||
}
|
||||
|
||||
if ( delta < 0 ) {
|
||||
toolbar.removeClass( 'mce-arrow-down' ).css({ top: ( -43 + delta * -1 ) });
|
||||
} else if ( delta > 0 && ! toolbar.hasClass( 'mce-arrow-down' ) ) {
|
||||
toolbar.addClass( 'mce-arrow-down' ).css({ top: '' });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deselect a selected view and remove clipboard
|
||||
*/
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 251 B After Width: | Height: | Size: 368 B |
Binary file not shown.
Before Width: | Height: | Size: 164 B |
BIN
wp-includes/js/tinymce/skins/wordpress/images/dashicon-no.png
Normal file
BIN
wp-includes/js/tinymce/skins/wordpress/images/dashicon-no.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 339 B |
@ -224,9 +224,7 @@ audio {
|
||||
|
||||
/* delegate the handling of the selection to the wpview tinymce plugin */
|
||||
.wpview-wrap,
|
||||
.wpview-wrap *,
|
||||
#wp-image-toolbar,
|
||||
#wp-image-toolbar * {
|
||||
.wpview-wrap * {
|
||||
-moz-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
@ -323,16 +321,89 @@ audio {
|
||||
|
||||
.wpview-wrap .toolbar {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
top: -43px;
|
||||
left: 45%;
|
||||
left: calc(50% - 32px);
|
||||
display: none;
|
||||
z-index: 100;
|
||||
background-color: #f5f5f5;
|
||||
border: 1px solid #aaa;
|
||||
padding: 1px;
|
||||
cursor: default;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
-webkit-box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.2 );
|
||||
box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.2 );
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.wpview-wrap[data-mce-selected] .toolbar {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar:before,
|
||||
.wpview-wrap .toolbar:after {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-style: solid;
|
||||
border-color: transparent;
|
||||
border-width: 9px;
|
||||
margin-left: -9px;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar:after {
|
||||
border-width: 8px;
|
||||
margin-left: -8px;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar.mce-arrow-down:before {
|
||||
bottom: -18px;
|
||||
border-top-color: #aaa;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar.mce-arrow-down:after {
|
||||
bottom: -16px;
|
||||
border-top-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar.mce-arrow-up:before {
|
||||
top: -18px;
|
||||
border-bottom-color: #aaa;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar.mce-arrow-up:after {
|
||||
top: -16px;
|
||||
border-bottom-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar div {
|
||||
margin: 2px;
|
||||
padding: 2px 3px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
color: #777;
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar div:hover {
|
||||
background-color: #fafafa;
|
||||
border-color: #999;
|
||||
color: #222;
|
||||
-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
|
||||
box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.wpview-wrap .loading-placeholder {
|
||||
border: 1px dashed #ccc;
|
||||
padding: 10px;
|
||||
@ -384,32 +455,10 @@ audio {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#wp-image-toolbar {
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar div,
|
||||
#wp-image-toolbar i {
|
||||
margin-top: 7px;
|
||||
margin-left: 7px;
|
||||
padding: 2px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.5);
|
||||
background-color: #000;
|
||||
background-color: rgba(0,0,0,0.9);
|
||||
cursor: pointer;
|
||||
color: white;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.ie8 .wpview-wrap .toolbar div,
|
||||
.ie7 .wpview-wrap .toolbar div,
|
||||
.ie8 #wp-image-toolbar i,
|
||||
.ie7 #wp-image-toolbar i {
|
||||
.ie7 .wpview-wrap .toolbar div {
|
||||
display: inline;
|
||||
padding: 0;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.ie8 .dashicons-edit,
|
||||
@ -417,9 +466,9 @@ audio {
|
||||
background-image: url(images/dashicon-edit.png);
|
||||
}
|
||||
|
||||
.ie8 .dashicons-no-alt,
|
||||
.ie7 .dashicons-no-alt {
|
||||
background-image: url(images/dashicon-no-alt.png);
|
||||
.ie8 .dashicons-no,
|
||||
.ie7 .dashicons-no {
|
||||
background-image: url(images/dashicon-no.png);
|
||||
}
|
||||
|
||||
.wpview-error {
|
||||
@ -448,27 +497,6 @@ audio {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
}
|
||||
|
||||
.wpview-wrap .toolbar div:hover,
|
||||
#wp-image-toolbar i:hover {
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.8);
|
||||
background-color: #000;
|
||||
color: #2ea2cc;
|
||||
}
|
||||
|
||||
/* Audio player is short; therefore let's put the toolbar above */
|
||||
.wpview-wrap[data-wpview-type="audio"] .toolbar {
|
||||
top: auto;
|
||||
bottom: -34px;
|
||||
}
|
||||
|
||||
.wpview-wrap[data-wpview-type="audio"] .toolbar div {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.wpview-wrap[data-wpview-type="audio"] .toolbar div:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.wont-play {
|
||||
padding: 4px 0;
|
||||
}
|
||||
@ -595,17 +623,6 @@ img.wp-oembed {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.rtl .wpview-wrap .toolbar {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.rtl .wpview-wrap .toolbar div,
|
||||
.rtl #wp-image-toolbar i {
|
||||
margin-left: auto;
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
@media print,
|
||||
(-o-min-device-pixel-ratio: 5/4),
|
||||
(-webkit-min-device-pixel-ratio: 1.25),
|
||||
|
Binary file not shown.
@ -4,7 +4,7 @@
|
||||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '4.1-beta2-30693';
|
||||
$wp_version = '4.1-beta2-30694';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
Loading…
Reference in New Issue
Block a user