Blame view

WebRoot/plugins/websocketInstantMsg/ext4/ux/form/SearchField.js 1.59 KB
ad5081d3   孙向锦   初始化项目
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  Ext.define('Ext.ux.form.SearchField', {
      extend: 'Ext.form.field.Trigger',
      
      alias: 'widget.searchfield',
      
      trigger1Cls: Ext.baseCSSPrefix + 'form-clear-trigger',
      
      trigger2Cls: Ext.baseCSSPrefix + 'form-search-trigger',
      
      hasSearch : false,
      paramName : 'query',
      
      initComponent: function(){
          this.callParent(arguments);
          this.on('specialkey', function(f, e){
              if(e.getKey() == e.ENTER){
                  this.onTrigger2Click();
              }
          }, this);
      },
      
      afterRender: function(){
          this.callParent();
          this.triggerEl.item(0).setDisplayed('none');  
      },
      
      onTrigger1Click : function(){
          var me = this,
              store = me.store,
              proxy = store.getProxy(),
              val;
              
          if (me.hasSearch) {
              me.setValue('');
              proxy.extraParams[me.paramName] = '';
              proxy.extraParams.start = 0;
              store.load();
              me.hasSearch = false;
              me.triggerEl.item(0).setDisplayed('none');
              me.doComponentLayout();
          }
      },
  
      onTrigger2Click : function(){
          var me = this,
              store = me.store,
              proxy = store.getProxy(),
              value = me.getValue();
              
          if (value.length < 1) {
              me.onTrigger1Click();
              return;
          }
          proxy.extraParams[me.paramName] = value;
          proxy.extraParams.start = 0;
          store.load();
          me.hasSearch = true;
          me.triggerEl.item(0).setDisplayed('block');
          me.doComponentLayout();
      }
  });