MDL-32843 import YUI 3.5.1
[moodle.git] / lib / yui / 3.5.1 / build / dom-size / dom-size-debug.js
blob3eeab5f1f1bfed7c799898add45e9e36a6299cb0
1 /*
2 YUI 3.5.1 (build 22)
3 Copyright 2012 Yahoo! Inc. All rights reserved.
4 Licensed under the BSD License.
5 http://yuilibrary.com/license/
6 */
7 YUI.add('dom-size', function(Y) {
9 Y.mix(Y.DOM, {
10     /**
11      * Sets the width of the element to the given size, regardless
12      * of box model, border, padding, etc.
13      * @method setWidth
14      * @param {HTMLElement} element The DOM element. 
15      * @param {String|Int} size The pixel height to size to
16      */
18     setWidth: function(node, size) {
19         Y.DOM._setSize(node, 'width', size);
20     },
22     /**
23      * Sets the height of the element to the given size, regardless
24      * of box model, border, padding, etc.
25      * @method setHeight
26      * @param {HTMLElement} element The DOM element. 
27      * @param {String|Int} size The pixel height to size to
28      */
30     setHeight: function(node, size) {
31         Y.DOM._setSize(node, 'height', size);
32     },
34     _setSize: function(node, prop, val) {
35         val = (val > 0) ? val : 0;
36         var size = 0;
38         node.style[prop] = val + 'px';
39         size = (prop === 'height') ? node.offsetHeight : node.offsetWidth;
41         if (size > val) {
42             val = val - (size - val);
44             if (val < 0) {
45                 val = 0;
46             }
48             node.style[prop] = val + 'px';
49         }
50     }
51 });
54 }, '3.5.1' ,{requires:['dom-core']});