Ticket #27698: 27698-04.patch
File 27698-04.patch, 8.6 KB (added by , 11 years ago) |
---|
-
src/wp-includes/css/media-views.css
diff --git src/wp-includes/css/media-views.css src/wp-includes/css/media-views.css index c339723..787a74f 100644
1807 1807 left: 440px; 1808 1808 } 1809 1809 1810 .advanced ,1810 .advanced-section, 1811 1811 .link-settings { 1812 1812 margin-top: 10px; 1813 1813 } -
src/wp-includes/js/media-models.js
diff --git src/wp-includes/js/media-models.js src/wp-includes/js/media-models.js index 53eefdf..1dd7196 100644
window.wp = window.wp || {}; 360 360 361 361 if ( attributes.attachment_id ) { 362 362 this.attachment = Attachment.get( attributes.attachment_id ); 363 this.dfd = this.attachment.fetch(); 363 if ( this.attachment.get( 'url' ) ) { 364 this.dfd = $.Deferred(); 365 this.dfd.resolve(); 366 } else { 367 this.dfd = this.attachment.fetch(); 368 } 364 369 this.bindAttachmentListeners(); 365 370 } 366 371 -
src/wp-includes/js/media-views.js
diff --git src/wp-includes/js/media-views.js src/wp-includes/js/media-views.js index 5713cf1..4465297 100644
32 32 }()); 33 33 34 34 /** 35 * A shared event bus used to provide hooks into 36 * the media workflows that 3rd-party devs can use to hook 37 * in. 38 */ 39 media.hooks = _.extend( {}, Backbone.Events ); 40 41 /** 35 42 * Makes it easier to bind events using transitions. 36 43 * 37 44 * @param {string} selector … … 2753 2760 bindHandlers: function() { 2754 2761 media.view.MediaFrame.Select.prototype.bindHandlers.apply( this, arguments ); 2755 2762 this.on( 'menu:create:image-details', this.createMenu, this ); 2756 this.on( 'content: render:image-details', this.renderImageDetailsContent, this );2763 this.on( 'content:create:image-details', this.imageDetailsContent, this ); 2757 2764 this.on( 'content:render:edit-image', this.editImageContent, this ); 2758 2765 this.on( 'menu:render:image-details', this.renderMenu, this ); 2759 2766 this.on( 'toolbar:render:image-details', this.renderImageDetailsToolbar, this ); … … 2786 2793 ]); 2787 2794 }, 2788 2795 2789 renderImageDetailsContent: function() {2790 varview = new media.view.ImageDetails({2796 imageDetailsContent: function( options ) { 2797 options.view = new media.view.ImageDetails({ 2791 2798 controller: this, 2792 2799 model: this.state().image, 2793 2800 attachment: this.state().image.attachment 2794 }).render(); 2795 2796 this.content.set( view ); 2797 2801 }); 2798 2802 }, 2799 2803 2800 2804 editImageContent: function() { … … 6256 6260 if ( this.model.attachment && 'pending' === this.model.dfd.state() ) { 6257 6261 this.model.dfd.done( function() { 6258 6262 media.view.Settings.AttachmentDisplay.prototype.render.apply( self, args ); 6259 self.resetFocus(); 6260 self.toggleLinkSettings(); 6263 self.postRender(); 6261 6264 } ).fail( function() { 6262 6265 self.model.attachment = false; 6263 6266 media.view.Settings.AttachmentDisplay.prototype.render.apply( self, args ); 6264 self.resetFocus(); 6265 self.toggleLinkSettings(); 6267 self.postRender(); 6266 6268 } ); 6267 6269 } else { 6268 6270 media.view.Settings.AttachmentDisplay.prototype.render.apply( this, arguments ); 6269 setTimeout( function() { self.resetFocus(); }, 10 ); 6270 self.toggleLinkSettings(); 6271 this.postRender(); 6271 6272 } 6272 6273 6273 6274 return this; 6274 6275 }, 6275 6276 6277 postRender: function() { 6278 setTimeout( _.bind( this.resetFocus, this ), 10 ); 6279 this.toggleLinkSettings(); 6280 this.trigger( 'post-render' ); 6281 }, 6282 6276 6283 resetFocus: function() { 6277 6284 this.$( '.link-to-custom' ).blur(); 6278 6285 this.$( '.embed-media-settings' ).scrollTop( 0 ); … … 6323 6330 }, 6324 6331 6325 6332 toggleAdvanced: function( event ) { 6326 var $advanced = $( event.target ).closest( '.advanced ' );6333 var $advanced = $( event.target ).closest( '.advanced-section' ); 6327 6334 event.preventDefault(); 6328 6335 if ( $advanced.hasClass('advanced-visible') ) { 6329 6336 $advanced.removeClass('advanced-visible'); 6330 $advanced.find(' div').addClass('hidden');6337 $advanced.find('.advanced-settings').addClass('hidden'); 6331 6338 } else { 6332 6339 $advanced.addClass('advanced-visible'); 6333 $advanced.find(' div').removeClass('hidden');6340 $advanced.find('.advanced-settings').removeClass('hidden'); 6334 6341 } 6335 6342 }, 6336 6343 -
src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
diff --git src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js index a6c3502..5991b54 100644
tinymce.PluginManager.add( 'wpeditimage', function( editor ) { 201 201 metadata.linkClassName = link.className; 202 202 } 203 203 204 204 205 return metadata; 205 206 } 206 207 … … tinymce.PluginManager.add( 'wpeditimage', function( editor ) { 338 339 dom.remove( captionNode ); 339 340 } 340 341 342 if ( wp.media.hooks ) { 343 wp.media.hooks.trigger( 'editor:image-update', { 344 editor: editor, 345 metadata: imageData, 346 image: imageNode 347 } ); 348 } 349 341 350 editor.nodeChanged(); 342 351 // Refresh the toolbar 343 352 addToolbar( imageNode ); 344 353 } 345 354 346 355 function editImage( img ) { 347 var frame, callback ;356 var frame, callback, metadata; 348 357 349 358 if ( typeof wp === 'undefined' || ! wp.media ) { 350 359 editor.execCommand( 'mceImage' ); 351 360 return; 352 361 } 353 362 363 metadata = extractImageData( img ); 364 365 // Manipulate the metadata by reference that is fed into the PostImage model used in the media modal 366 wp.media.hooks.trigger( 'editor:image-edit', { 367 editor: editor, 368 metadata: metadata, 369 image: img 370 } ); 371 354 372 frame = wp.media({ 355 373 frame: 'image', 356 374 state: 'image-details', 357 metadata: extractImageData( img )375 metadata: metadata 358 376 } ); 359 377 378 wp.media.hooks.trigger( 'editor:frame-create', { frame: frame } ); 379 360 380 callback = function( imageData ) { 361 381 editor.focus(); 362 382 editor.undoManager.transact( function() { … … tinymce.PluginManager.add( 'wpeditimage', function( editor ) { 373 393 }); 374 394 375 395 frame.open(); 396 376 397 } 377 398 378 399 function removeImage( node ) { -
src/wp-includes/media-template.php
diff --git src/wp-includes/media-template.php src/wp-includes/media-template.php index a284d8d..5a49ae3 100644
function wp_print_media_templates() { 755 755 </select> 756 756 <input type="text" class="link-to-custom" data-setting="linkUrl" /> 757 757 </div> 758 <div class="advanced ">758 <div class="advanced-section"> 759 759 <h3><a class="advanced-toggle" href="#"><?php _e('Advanced Options'); ?></a></h3> 760 <div class="hidden"> 761 <label class="setting title-text"> 762 <span><?php _e('Image Title Attribute'); ?></span> 763 <input type="text" data-setting="title" value="{{ data.model.title }}" /> 764 </label> 765 <label class="setting extra-classes"> 766 <span><?php _e('Image CSS Class'); ?></span> 767 <input type="text" data-setting="extraClasses" value="{{ data.model.extraClasses }}" /> 768 </label> 769 <div class="setting link-target"> 770 <label><input type="checkbox" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>><?php _e( 'Open link in a new window/tab' ); ?></label> 760 <div class="advanced-settings hidden"> 761 <div class="advanced-image"> 762 <label class="setting title-text"> 763 <span><?php _e('Image Title Attribute'); ?></span> 764 <input type="text" data-setting="title" value="{{ data.model.title }}" /> 765 </label> 766 <label class="setting extra-classes"> 767 <span><?php _e('Image CSS Class'); ?></span> 768 <input type="text" data-setting="extraClasses" value="{{ data.model.extraClasses }}" /> 769 </label> 770 </div> 771 <div class="advanced-link"> 772 <div class="setting link-target"> 773 <label><input type="checkbox" data-setting="linkTargetBlank" value="_blank" <# if ( data.model.linkTargetBlank ) { #>checked="checked"<# } #>><?php _e( 'Open link in a new window/tab' ); ?></label> 774 </div> 775 <label class="setting link-rel"> 776 <span><?php _e('Link Rel'); ?></span> 777 <input type="text" data-setting="linkRel" value="{{ data.model.linkClassName }}" /> 778 </label> 779 <label class="setting link-class-name"> 780 <span><?php _e('Link CSS Class'); ?></span> 781 <input type="text" data-setting="linkClassName" value="{{ data.model.linkClassName }}" /> 782 </label> 771 783 </div> 772 <label class="setting link-rel">773 <span><?php _e('Link Rel'); ?></span>774 <input type="text" data-setting="linkRel" value="{{ data.model.linkClassName }}" />775 </label>776 <label class="setting link-class-name">777 <span><?php _e('Link CSS Class'); ?></span>778 <input type="text" data-setting="linkClassName" value="{{ data.model.linkClassName }}" />779 </label>780 784 </div> 781 785 </div> 782 786 </div>