mediawiki-extensions-Visual.../modules/ve-mw/ce/ve.ce.MWResizableNode.js
Ed Sanders 79f4755850 Resizable node live preview
Resizes the $resizable element as you drag.
Can be disabled by setting the 'outline' config option.

FocusableNode
* Redraw on resize

ProtectedNode
* Destroy and prevent creation of phantoms on resize

MWInlineImageNode
* Correctly pass this.$image to ResizableNode

Bug: 54298
Change-Id: I7d6d345af8bb4712bbf154072b4704943a5a620d
2013-10-16 14:25:00 +02:00

43 lines
1.2 KiB
JavaScript

/*!
* VisualEditor ContentEditable MWResizableNode class.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* ContentEditable MediaWiki resizable node.
*
* @class
* @abstract
* @extends {ve.ce.ResizableNode}
*
* @constructor
* @param {jQuery} [$resizable=this.$] Resizable DOM element
* @param {Object} [config] Configuration options
*/
ve.ce.MWResizableNode = function VeCeMWResizableNode( $resizable, config ) {
ve.ce.ResizableNode.call( this, $resizable, config );
};
/* Inheritance */
ve.inheritClass( ve.ce.MWResizableNode, ve.ce.ResizableNode );
/**
* Generate an object of attributes changes from the new width and height.
*
* If either property changes, clear the defaultSize flag.
*
* @param {number} width New image width
* @param {number} height New image height
* @returns {Object} Attribute changes
*/
ve.ce.MWResizableNode.prototype.getAttributeChanges = function ( width, height ) {
var attrChanges = ve.ce.ResizableNode.prototype.getAttributeChanges.call( this, width, height );
if ( !ve.isEmptyObject( attrChanges ) ) {
attrChanges.defaultSize = false;
}
return attrChanges;
};