docs: function (input) {
      var self = this;
      var state = this.state;
  
      function emit(withState) {
        self.manager.emit(self.options.event + (withState ? stateStr(state) : ''), input);
      }
  
      // 'panstart' and 'panmove'
      if (state < STATE_ENDED) {
        emit(true);
      }
  
      emit(); // simple 'eventName' events
  
      // panend and pancancel
      if (state >= STATE_ENDED) {
        emit(true);
      }
    }