text: /**
   * A event recognizer which knows when you tap and hold for more than 1 second.
   *
   * @private
   */
  Ext.define('Ext.event.recognizer.LongPress', {
      extend: 'Ext.event.recognizer.SingleTouch',
  
      inheritableStatics: {
          DURATION_NOT_ENOUGH: 0x20
      },
  
      config: {
          minDuration: 1000
      },
  
      handledEvents: ['longpress'],
  
      /**
       * @member Ext.dom.Element
       * @event longpress
       * Fires when you touch and hold still for more than 1 second.
       * @param {Ext.event.Event} event The {@link Ext.event.Event} event encapsulating the DOM event.
       * @param {HTMLElement} node The target of the event.
       * @param {Object} options The options object passed to Ext.mixin.Observable.addListener.
       */
  
      /**
       * @member Ext.dom.Element
       * @event taphold
       * @inheritdoc Ext.dom.Element#longpress
       */
  
      fireLongPress: function(e) {
          var touch = e.changedTouches[0];
  
          this.fire('longpress', e, [touch], {
              touch: touch,
              duration: this.getMinDuration()
          });
  
          this.isLongPress = true;
      },
  
      onTouchStart: function(e) {
          var me = this;
  
          if (this.callParent(arguments) === false) {
              return false;
          }
  
          this.isLongPress = false;
  
          this.timer = setTimeout(function() {
              me.fireLongPress(e);
          }, this.getMinDuration());
      },
  
      onTouchMove: function() {
          return this.fail(this.self.TOUCH_MOVED);
      },
  
      onTouchEnd: function() {
          if (!this.isLongPress) {
              return this.fail(this.self.DURATION_NOT_ENOUGH);
          }
      },
  
      fail: function() {
          clearTimeout(this.timer);
  
          return this.callParent(arguments);
      }
  
  }, function() {
      this.override({
          handledEvents: ['longpress', 'taphold'],
  
          fire: function(eventName) {
              if (eventName === 'longpress') {
                  var args = Array.prototype.slice.call(arguments);
                  args[0] = 'taphold';
  
                  this.fire.apply(this, args);
              }
  
              return this.callOverridden(arguments);
          }
      });
  });
  