Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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>
Ответить с цитированием
  #2 (permalink)  
Старый 12.04.2012, 11:09
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

можно так проверить

<!DOCTYPE html>
<html>
<head>
    <title>demo</title>
    <script src='http://dev.sencha.com/deploy/ext-4.0.7-gpl/ext-all.js'></script>
    <link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.7-gpl/resources/css/ext-all.css">
 	<script>
	function processItems(items){
		var new_items = [];
		if(Ext.isArray(items)){        
			for(var i = 0; i < items.length; i++){

			//проверка на существование xtype
			  if (Ext.ClassManager.getByAlias('widget.' + items[i].xtype)) {
				  Ext.Array.include(new_items, items[i]);
			  }
			}
		}
		return new_items;
	}
	 
	var form_items = [
		{xtype: 'textfieldxxxxx', name: 'fio', fieldLabel: 'ФИО'}, // здесь несуществующий xtype он не попадет в форму
		{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>
Ответить с цитированием
  #3 (permalink)  
Старый 12.04.2012, 14:30
Аспирант
Отправить личное сообщение для Eugent Посмотреть профиль Найти все сообщения от Eugent
 
Регистрация: 28.02.2012
Сообщений: 55

Спасибо, помогло!) Бродил рядом с этим менеджером, но не прибавил к алиасу widget.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простенький вопрос - focus для компонента модального окна? JDev ExtJS 7 06.01.2012 15:25
помогите создать View rom30 ExtJS 5 02.12.2011 05:38
Нужен пример вставки простой таблицы в вьюпорт в качестве xtype Allan Stark ExtJS 5 01.06.2011 12:08
Container-ы странно ведут себя в браузерах Opts ExtJS 0 04.10.2010 23:24
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31