partkeepr

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

CharPickerMenu.js (1645B)


      1 Ext.define('PartKeepr.ContextMenu.CharPicker', {
      2      extend: 'Ext.menu.Menu',
      3 
      4      alias: 'widget.charpickermenu',
      5 
      6     /**
      7      * @cfg {Boolean} hideOnClick
      8      * False to continue showing the menu after a date is selected.
      9      */
     10     hideOnClick : true,
     11 
     12     /**
     13      * @cfg {String} pickerId
     14      * An id to assign to the underlying char picker.
     15      */
     16     pickerId : null,
     17 
     18     /**
     19      * @cfg {Number} maxHeight
     20      * @hide
     21      */
     22 
     23     /**
     24      * @property {PartKeepr.picker.Char} picker
     25      * The {@link PartKeepr.picker.Char} instance for this char picker
     26      */
     27 
     28     /**
     29      * @event click
     30      * @hide
     31      */
     32 
     33     /**
     34      * @event itemclick
     35      * @hide
     36      */
     37 
     38     initComponent : function(){
     39         var me = this,
     40             cfg = Ext.apply({}, me.initialConfig);
     41 
     42         // Ensure we don't get duplicate listeners
     43         delete cfg.listeners;
     44         Ext.apply(me, {
     45             plain: true,
     46             showSeparator: false,
     47             items: Ext.applyIf({
     48                 cls: Ext.baseCSSPrefix + 'menu-char-item',
     49                 id: me.pickerId,
     50                 xtype: 'charpicker'
     51             }, cfg)
     52         });
     53 
     54         me.callParent(arguments);
     55 
     56         me.picker = me.down('charpicker');
     57 
     58         /**
     59          * @event select
     60          * @alias PartKeepr.picker.Char#select
     61          */
     62         me.relayEvents(me.picker, ['select']);
     63 
     64         if (me.hideOnClick) {
     65             me.on('select', me.hidePickerOnSelect, me);
     66         }
     67     },
     68 
     69     /**
     70      * Hides picker on select if hideOnClick is true
     71      * @private
     72      */
     73     hidePickerOnSelect: function() {
     74         Ext.menu.Manager.hideAll();
     75     }
     76  });