Есть необходимость узнать определен ли xtype, название которого известно. Так и не нашел этого в 4-м.
Есть форма, которая строится динамически и во избежание ошибок нужно проверить определен ли тип поля.
Пример:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ExtJS4</title>
<link rel="shortcut icon" href="/favicon.ico">
<link rel="stylesheet" type="text/css" href="/libs/ext4/resources/css/ext-all-gray.css" /><link rel="stylesheet" type="text/css" href="/practice/css/testero.css" />
<script type="text/javascript" src="/libs/ext4/ext-all-debug.js"></script><script type="text/javascript" src="/libs/ext4/locale/ext-lang-ru.js"></script> <script>
function processItems(items){
var new_items = [];
if(Ext.isArray(items)){
for(var i = 0; i < items.length; i++){
//здесь нужна проверка на существование xtype
Ext.Array.include(new_items, items[i]);
}
}
return items;
}
var form_items = [
{xtype: 'textfield', name: 'fio', fieldLabel: 'ФИО'},
{xtype: 'textfield', name: 'email', fieldLabel: 'Email'}
];
Ext.onReady(function() {
var form = Ext.create('Ext.form.Panel', {
name: 'myloadform',
padding: '5 0 0 5',
frame: true,
region: 'center',
items: processItems(form_items)
});
Ext.create('Ext.container.Viewport', {
layout : 'border',
defaults: {
split: true,
collapsible: true,
collapseMode: 'mini',
hideCollapseTool: true
},
items : [
{
xtype: 'panel',
region: 'center',
layout: 'fit',
items: [
form
]
}
]
});
});
</script>
</head>
<body>
</body>
</html>