Показать сообщение отдельно
  #1 (permalink)  
Старый 12.04.2012, 09:31
Аспирант
Отправить личное сообщение для Eugent Посмотреть профиль Найти все сообщения от Eugent
 
Регистрация: 28.02.2012
Сообщений: 55

Определен ли Xtype
Есть необходимость узнать определен ли 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>
Ответить с цитированием