X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/layout/component/field/File.js diff --git a/src/layout/component/field/File.js b/src/layout/component/field/File.js new file mode 100644 index 00000000..248095e5 --- /dev/null +++ b/src/layout/component/field/File.js @@ -0,0 +1,26 @@ +/** + * @private + * @class Ext.layout.component.field.File + * @extends Ext.layout.component.field.Field + * Layout class for {@link Ext.form.field.File} fields. Adjusts the input field size to accommodate + * the file picker trigger button. + * @private + */ + +Ext.define('Ext.layout.component.field.File', { + alias: ['layout.filefield'], + extend: 'Ext.layout.component.field.Field', + + type: 'filefield', + + sizeBodyContents: function(width, height) { + var me = this, + owner = me.owner; + + if (!owner.buttonOnly) { + // Decrease the field's width by the width of the button and the configured buttonMargin. + // Both the text field and the button are floated left in CSS so they'll stack up side by side. + me.setElementSize(owner.inputEl, Ext.isNumber(width) ? width - owner.button.getWidth() - owner.buttonMargin : width); + } + } +}); \ No newline at end of file