function defineDetails()

in build/userale-2.3.0.js [795:856]


  function defineDetails(config) {
    // Events list
    // Keys are event types
    // Values are functions that return details object if applicable
    events = {
      'click': extractMouseEvent,
      'dblclick': extractMouseEvent,
      'mousedown': extractMouseEvent,
      'mouseup': extractMouseEvent,
      'focus': null,
      'blur': null,
      'input': config.logDetails ? function (e) {
        return {
          'value': e.target.value
        };
      } : null,
      'change': config.logDetails ? function (e) {
        return {
          'value': e.target.value
        };
      } : null,
      'dragstart': null,
      'dragend': null,
      'drag': null,
      'drop': null,
      'keydown': config.logDetails ? function (e) {
        return {
          'key': e.keyCode,
          'ctrl': e.ctrlKey,
          'alt': e.altKey,
          'shift': e.shiftKey,
          'meta': e.metaKey
        };
      } : null,
      'mouseover': null
    };
    bufferBools = {};
    bufferedEvents = {
      'wheel': function wheel(e) {
        return {
          'x': e.deltaX,
          'y': e.deltaY,
          'z': e.deltaZ
        };
      },
      'scroll': function scroll() {
        return {
          'x': window.scrollX,
          'y': window.scrollY
        };
      },
      'resize': function resize() {
        return {
          'width': window.outerWidth,
          'height': window.outerHeight
        };
      }
    };
    refreshEvents = {
      'submit': null
    };
  }