Repository: incubator-quickstep-site
Updated Branches:
  refs/heads/asf-site cb38d38da -> 6fb5379b6


http://git-wip-us.apache.org/repos/asf/incubator-quickstep-site/blob/3e7c96b9/js/vendor/what-input.js
----------------------------------------------------------------------
diff --git a/js/vendor/what-input.js b/js/vendor/what-input.js
deleted file mode 100644
index 5d23671..0000000
--- a/js/vendor/what-input.js
+++ /dev/null
@@ -1,295 +0,0 @@
-window.whatInput = (function() {
-
-  'use strict';
-
-  /*
-    ---------------
-    variables
-    ---------------
-  */
-
-  // array of actively pressed keys
-  var activeKeys = [];
-
-  // cache document.body
-  var body;
-
-  // boolean: true if touch buffer timer is running
-  var buffer = false;
-
-  // the last used input type
-  var currentInput = null;
-
-  // `input` types that don't accept text
-  var nonTypingInputs = [
-    'button',
-    'checkbox',
-    'file',
-    'image',
-    'radio',
-    'reset',
-    'submit'
-  ];
-
-  // detect version of mouse wheel event to use
-  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
-  var mouseWheel = detectWheel();
-
-  // list of modifier keys commonly used with the mouse and
-  // can be safely ignored to prevent false keyboard detection
-  var ignoreMap = [
-    16, // shift
-    17, // control
-    18, // alt
-    91, // Windows key / left Apple cmd
-    93  // Windows menu / right Apple cmd
-  ];
-
-  // mapping of events to input types
-  var inputMap = {
-    'keydown': 'keyboard',
-    'keyup': 'keyboard',
-    'mousedown': 'mouse',
-    'mousemove': 'mouse',
-    'MSPointerDown': 'pointer',
-    'MSPointerMove': 'pointer',
-    'pointerdown': 'pointer',
-    'pointermove': 'pointer',
-    'touchstart': 'touch'
-  };
-
-  // add correct mouse wheel event mapping to `inputMap`
-  inputMap[detectWheel()] = 'mouse';
-
-  // array of all used input types
-  var inputTypes = [];
-
-  // mapping of key codes to a common name
-  var keyMap = {
-    9: 'tab',
-    13: 'enter',
-    16: 'shift',
-    27: 'esc',
-    32: 'space',
-    37: 'left',
-    38: 'up',
-    39: 'right',
-    40: 'down'
-  };
-
-  // map of IE 10 pointer events
-  var pointerMap = {
-    2: 'touch',
-    3: 'touch', // treat pen like touch
-    4: 'mouse'
-  };
-
-  // touch buffer timer
-  var timer;
-
-
-  /*
-    ---------------
-    functions
-    ---------------
-  */
-
-  // allows events that are also triggered to be filtered out for `touchstart`
-  function eventBuffer() {
-    clearTimer();
-    setInput(event);
-
-    buffer = true;
-    timer = window.setTimeout(function() {
-      buffer = false;
-    }, 650);
-  }
-
-  function bufferedEvent(event) {
-    if (!buffer) setInput(event);
-  }
-
-  function unBufferedEvent(event) {
-    clearTimer();
-    setInput(event);
-  }
-
-  function clearTimer() {
-    window.clearTimeout(timer);
-  }
-
-  function setInput(event) {
-    var eventKey = key(event);
-    var value = inputMap[event.type];
-    if (value === 'pointer') value = pointerType(event);
-
-    // don't do anything if the value matches the input type already set
-    if (currentInput !== value) {
-      var eventTarget = target(event);
-      var eventTargetNode = eventTarget.nodeName.toLowerCase();
-      var eventTargetType = (eventTargetNode === 'input') ? 
eventTarget.getAttribute('type') : null;
-
-      if (
-        (// only if the user flag to allow typing in form fields isn't set
-        !body.hasAttribute('data-whatinput-formtyping') &&
-
-        // only if currentInput has a value
-        currentInput &&
-
-        // only if the input is `keyboard`
-        value === 'keyboard' &&
-
-        // not if the key is `TAB`
-        keyMap[eventKey] !== 'tab' &&
-
-        // only if the target is a form input that accepts text
-        (
-           eventTargetNode === 'textarea' ||
-           eventTargetNode === 'select' ||
-           (eventTargetNode === 'input' && 
nonTypingInputs.indexOf(eventTargetType) < 0)
-        )) || (
-          // ignore modifier keys
-          ignoreMap.indexOf(eventKey) > -1
-        )
-      ) {
-        // ignore keyboard typing
-      } else {
-        switchInput(value);
-      }
-    }
-
-    if (value === 'keyboard') logKeys(eventKey);
-  }
-
-  function switchInput(string) {
-    currentInput = string;
-    body.setAttribute('data-whatinput', currentInput);
-
-    if (inputTypes.indexOf(currentInput) === -1) inputTypes.push(currentInput);
-  }
-
-  function key(event) {
-    return (event.keyCode) ? event.keyCode : event.which;
-  }
-
-  function target(event) {
-    return event.target || event.srcElement;
-  }
-
-  function pointerType(event) {
-    if (typeof event.pointerType === 'number') {
-      return pointerMap[event.pointerType];
-    } else {
-      return (event.pointerType === 'pen') ? 'touch' : event.pointerType; // 
treat pen like touch
-    }
-  }
-
-  // keyboard logging
-  function logKeys(eventKey) {
-    if (activeKeys.indexOf(keyMap[eventKey]) === -1 && keyMap[eventKey]) 
activeKeys.push(keyMap[eventKey]);
-  }
-
-  function unLogKeys(event) {
-    var eventKey = key(event);
-    var arrayPos = activeKeys.indexOf(keyMap[eventKey]);
-
-    if (arrayPos !== -1) activeKeys.splice(arrayPos, 1);
-  }
-
-  function bindEvents() {
-    body = document.body;
-
-    // pointer events (mouse, pen, touch)
-    if (window.PointerEvent) {
-      body.addEventListener('pointerdown', bufferedEvent);
-      body.addEventListener('pointermove', bufferedEvent);
-    } else if (window.MSPointerEvent) {
-      body.addEventListener('MSPointerDown', bufferedEvent);
-      body.addEventListener('MSPointerMove', bufferedEvent);
-    } else {
-
-      // mouse events
-      body.addEventListener('mousedown', bufferedEvent);
-      body.addEventListener('mousemove', bufferedEvent);
-
-      // touch events
-      if ('ontouchstart' in window) {
-        body.addEventListener('touchstart', eventBuffer);
-      }
-    }
-
-    // mouse wheel
-    body.addEventListener(mouseWheel, bufferedEvent);
-
-    // keyboard events
-    body.addEventListener('keydown', unBufferedEvent);
-    body.addEventListener('keyup', unBufferedEvent);
-    document.addEventListener('keyup', unLogKeys);
-  }
-
-
-  /*
-    ---------------
-    utilities
-    ---------------
-  */
-
-  // detect version of mouse wheel event to use
-  // via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
-  function detectWheel() {
-    return mouseWheel = 'onwheel' in document.createElement('div') ?
-      'wheel' : // Modern browsers support "wheel"
-
-      document.onmousewheel !== undefined ?
-        'mousewheel' : // Webkit and IE support at least "mousewheel"
-        'DOMMouseScroll'; // let's assume that remaining browsers are older 
Firefox
-  }
-
-
-  /*
-    ---------------
-    init
-
-    don't start script unless browser cuts the mustard,
-    also passes if polyfills are used
-    ---------------
-  */
-
-  if (
-    'addEventListener' in window &&
-    Array.prototype.indexOf
-  ) {
-
-    // if the dom is already ready already (script was placed at bottom of 
<body>)
-    if (document.body) {
-      bindEvents();
-
-    // otherwise wait for the dom to load (script was placed in the <head>)
-    } else {
-      document.addEventListener('DOMContentLoaded', bindEvents);
-    }
-  }
-
-
-  /*
-    ---------------
-    api
-    ---------------
-  */
-
-  return {
-
-    // returns string: the current input type
-    ask: function() { return currentInput; },
-
-    // returns array: currently pressed keys
-    keys: function() { return activeKeys; },
-
-    // returns array: all the detected input types
-    types: function() { return inputTypes; },
-
-    // accepts string: manually set the input type
-    set: switchInput
-  };
-
-}());

Reply via email to