mediawiki-extensions-Visual.../modules/ve-mw/ce/ve.ce.MWResizableNode.js
Ed Sanders 56ef8cb5b5 Create MWResizeableNode mixin to control defaultSize flag
Previously wasn't being updated to 'false' after a width/height
attribute change.

Bug: 50645
Change-Id: Id5dcd6998e0125757238426f8052505d131d712d
2013-07-16 23:13:40 +01:00

41 lines
1.1 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
*/
ve.ce.MWResizableNode = function VeCeMwResizableNode( $resizable ) {
ve.ce.ResizableNode.call( this, $resizable );
};
/* 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;
};