/*global require, requirejs */ requirejs.config({ baseUrl: '../js/app', paths: { 'lib': '../vendor' }, map: { 'controllers/AppController': { 'api/Socket': 'api/ChromeTcpSocket', 'api/Network': 'api/ChromeNetwork' }, 'models/Settings': { 'api/LocalStorage': 'api/ChromeLocalStorage' } } }); /** * * @param {HTMLElement} dom * @param {function} handler */ window.addPointerDownHandler = function (dom, handler) { 'use strict'; dom.addEventListener('touchstart', function (event) { handler.apply(this, arguments); event.preventDefault(); }, false); dom.addEventListener('mousedown', function () { handler.apply(this, arguments); }, false); }; /** * * @param {HTMLElement} dom * @param {function} handler */ window.addPointerUpHandler = function (dom, handler) { 'use strict'; dom.addEventListener('touchend', function (event) { handler.apply(this, arguments); event.preventDefault(); }, false); dom.addEventListener('mouseup', function () { handler.apply(this, arguments); }, false); }; /** * * @param {HTMLElement} dom * @param {function} handler */ window.addPointerMoveHandler = function (dom, handler) { 'use strict'; dom.addEventListener('touchmove', function (event) { handler.apply(this, arguments); event.preventDefault(); }, false); dom.addEventListener('mousemove', function () { handler.apply(this, arguments); }, false); }; /** * * @param {HTMLElement} dom * @param {function} handler */ window.addClickHandler = function (dom, handler) { 'use strict'; var toFire = false; dom.addEventListener('touchstart', function (event) { if (event.touches.length > 1) { return; } toFire = true; }, false); dom.addEventListener('touchmove', function () { toFire = false; }, false); dom.addEventListener('touchend', function (event) { if (toFire) { handler.apply(this, arguments); if (event.target.tagName !== 'INPUT') { event.preventDefault(); } } }, false); dom.addEventListener('click', function () { handler.apply(this, arguments); }, false); }; require(['controllers/AppController'], function (AppController) { 'use strict'; var app = new AppController(); app.init(); });