2013-08-27 3 views
0

В индивидуальном файле ExtJs я нашел следующий код. Собственно, что делает в следующем коде.Настройка ExtJs

Этот код написан в файле xtype.js и входит в jsp-страницу.

Ext.Loader.setConfig({enabled: true}); 
Ext.Loader.setPath('Ext.ux', 'js/ext-ux'); 

Ext.require([ 
    'Ext.form.field.ComboBox' 
]); 

Ext.define('Ext.ux.UDComboBox', { 
    extend: 'Ext.form.field.ComboBox', 
    alias: 'widget.udComboBox', 
    directArgs : false, 
    skipValue : false, 
    firstOptionDefault : false, 
    forceSelection : true, 
    typeAhead : true, 
    queryMode : 'local', 
    triggerAction : 'all', 
    selectOnFocus : true, 
    allowBlank : false, 
    emptyText : '-Select One-', 
    valueField : '', 
    lastQuery : '', // This is used with store.filter function. 
    returnAsObject : true, 
    fieldStyle: 'background-image: none;', 
    msgTarget:'side', 
    hideTrigger:false,// if true hide the drop down icon 
    skipFirstOption : false 
}); 

И в нашем файле, для создания выпадающего, мы используем xtype: 'udComboBox'.

+0

Что из это вопрос? – Divey

+0

Я не мог понять часть Ext.define ('Ext.ux.UDComboBox', { extend: 'Ext.form.field.ComboBox', alias: 'widget.udComboBox', – 1355

+1

Этот код просто объявляет класс названный 'Ext.ux.UDComboBox', который происходит из встроенного combobox и чей тип является' udComboBox'. –

ответ

0
Ext.Loader.setPath('<TopLevel.path.NameSpace>', 'js/ext-ux'); } 
// Namespace by convention should be in lower case 
Ext.define('<TopLevel.path.NameSpace>.<ComponentName>', { 
    extend: 'Ext.form.field.ComboBox', 
    // alias by convention should be in lower case 
    alias: 'widget.<componentname>' 
}); 
} 
  • пространств имен и конструкторы имен верхнего уровня должны быть UpperCamelCase

  • Алиас xtype должен быть в нижнем регистре

Так пример конфигурации может быть: ваша компания

// --Filename: app/js/components/UdComboBox.js <-Filename as Name 
Ext.define('MyCompany.libs.UdComboBox', { 
    extend: 'Ext.form.field.ComboBox', 
    alias: 'widget.udcombobox', 
    .... 
}); 

// --Filename: app/app.js 
Ext.Loader.setConfig({enabled: true}); 
Ext.Loader.setPath('MyCompany.libs', 'js/components'); 

Ext.require([ 
     //This is only because we are instantiate by xtype, if you use Ext.create this is not need it. 
     'MyCompany.libs.UdComboBox' 
    ]); 

Ext.onReady(function() { 
     Ext.create("Ext.container.Viewport", { 
      layout: 'fit', 
      items : [{ 
       xtype : "udcombobox" 
      }] 
     }); 
}); 

// --Filename: app/app2.js 
Ext.Loader.setConfig({enabled: true}); 
Ext.Loader.setPath('MyCompany.libs', 'js/components'); 


Ext.onReady(function() { 
     Ext.create("Ext.container.Viewport", { 
      layout: 'fit', 
      items : [{ 
       xtype : "panel" 
      }, 
      new Ext.Create('MyCompany.libs.UdComboBox',{ 
       ..config.. 
      }) 
      ] 
     }); 
}); 
Смежные вопросы