partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

SiUnitCombo.js (1816B)


      1 Ext.define("PartKeepr.Components.Widgets.SiUnitCombo", {
      2     extend: "Ext.form.field.ComboBox",
      3     xtype: 'SiUnitCombo',
      4 
      5     forceSelection: true,
      6     singleSelect: true,
      7     editable: true,
      8     typeAhead: true,
      9 
     10     queryMode: 'local',
     11     displayField: 'symbol',
     12     valueField: 'symbol',
     13 
     14     defaultListConfig: {
     15         loadingHeight: 70,
     16         minWidth: 150,
     17         maxHeight: 300,
     18         shadow: 'sides'
     19     },
     20 
     21     createPicker: function ()
     22     {
     23         var me = this,
     24             picker,
     25             pickerCfg = Ext.apply({
     26                 xtype: 'siunitlist',
     27                 id: me.pickerId,
     28                 pickerField: me,
     29                 selectionModel: me.pickerSelectionModel,
     30                 floating: true,
     31                 hidden: true,
     32                 store: me.getPickerStore(),
     33                 displayField: me.displayField,
     34                 preserveScrollOnRefresh: true,
     35                 pageSize: me.pageSize,
     36                 tpl: me.tpl
     37             }, me.listConfig, me.defaultListConfig);
     38 
     39         picker = me.picker = Ext.widget(pickerCfg);
     40         if (me.pageSize) {
     41             picker.pagingToolbar.on('beforechange', me.onPageChange, me);
     42         }
     43 
     44         // We limit the height of the picker to fit in the space above
     45         // or below this field unless the picker has its own ideas about that.
     46         if (!picker.initialConfig.maxHeight) {
     47             picker.on({
     48                 beforeshow: me.onBeforePickerShow,
     49                 scope: me
     50             });
     51         }
     52         picker.getSelectionModel().on({
     53             beforeselect: me.onBeforeSelect,
     54             beforedeselect: me.onBeforeDeselect,
     55             focuschange: me.onFocusChange,
     56             scope: me
     57         });
     58 
     59         picker.getNavigationModel().navigateOnSpace = false;
     60 
     61         return picker;
     62     }
     63 });