Si desea convertir todos los elementos de un formulario a un elemento de ExtJS, alguien en el Sencha forums ha publicado una solución (que yo quiero cross-post aquí):
function convertForm(formId) {
var frm = new Ext.form.BasicForm(formId);
//frm.render();
var fields = frm.getValues()
for (key in fields) {
var elem = Ext.get(key);
if (elem && elem.hasClass('combo-box')) {
var cb = new Ext.form.ComboBox({
transform: elem.dom.name,
typeAhead: true,
triggerAction: 'all',
width: elem.getWidth(),
forceSelection: true
});
}
else
if (elem && elem.hasClass('date-picker')) {
var df = new Ext.form.DateField({
format: 'm/d/Y'
});
df.applyTo(elem.dom.name);
}
if (elem && elem.hasClass('resizeable')) {
var dwrapped = new Ext.Resizable(elem, {
wrap: true,
pinned: true,
width: 400,
height: 150,
minWidth: 200,
minHeight: 50,
dynamic: true
});
}
}
}
¿Desea que esta conversión se realice sobre la marcha? – NT3RP