X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/layout/component/Editor.js diff --git a/src/layout/component/Editor.js b/src/layout/component/Editor.js new file mode 100644 index 00000000..43a97a33 --- /dev/null +++ b/src/layout/component/Editor.js @@ -0,0 +1,48 @@ +/** + * Component layout for editors + * @class Ext.layout.component.Editor + * @extends Ext.layout.component.Component + * @private + */ +Ext.define('Ext.layout.component.Editor', { + + /* Begin Definitions */ + + alias: ['layout.editor'], + + extend: 'Ext.layout.component.Component', + + /* End Definitions */ + + onLayout: function(width, height) { + var me = this, + owner = me.owner, + autoSize = owner.autoSize; + + if (autoSize === true) { + autoSize = { + width: 'field', + height: 'field' + }; + } + + if (autoSize) { + width = me.getDimension(owner, autoSize.width, 'Width', width); + height = me.getDimension(owner, autoSize.height, 'Height', height); + } + me.setTargetSize(width, height); + owner.field.setSize(width, height); + }, + + getDimension: function(owner, type, dimension, actual){ + var method = 'get' + dimension; + switch (type) { + case 'boundEl': + return owner.boundEl[method](); + case 'field': + return owner.field[method](); + default: + return actual; + } + } +}); \ No newline at end of file