UNPKG

@polymer/polymer

Version:

The Polymer library makes it easy to create your own web components. Give your element some markup and properties, and then use it on a site. Polymer provides features like dynamic templates and data binding to reduce the amount of boilerplate you need to

84 lines (72 loc) 2.69 kB
<!-- @license Copyright (c) 2017 The Polymer Project Authors. All rights reserved. This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as part of the polymer project is also subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt --> <link rel="import" href="../utils/boot.html"> <link rel="import" href="../utils/mixin.html"> <link rel="import" href="../utils/gestures.html"> <script> (function() { 'use strict'; /** * @const {Polymer.Gestures} */ const gestures = Polymer.Gestures; /** * Element class mixin that provides API for adding Polymer's cross-platform * gesture events to nodes. * * The API is designed to be compatible with override points implemented * in `Polymer.TemplateStamp` such that declarative event listeners in * templates will support gesture events when this mixin is applied along with * `Polymer.TemplateStamp`. * * @mixinFunction * @polymer * @memberof Polymer * @summary Element class mixin that provides API for adding Polymer's cross-platform * gesture events to nodes */ Polymer.GestureEventListeners = Polymer.dedupingMixin(superClass => { /** * @polymer * @mixinClass * @implements {Polymer_GestureEventListeners} */ class GestureEventListeners extends superClass { /** * Add the event listener to the node if it is a gestures event. * * @param {!Node} node Node to add event listener to * @param {string} eventName Name of event * @param {function(!Event):void} handler Listener function to add * @return {void} */ _addEventListenerToNode(node, eventName, handler) { if (!gestures.addListener(node, eventName, handler)) { super._addEventListenerToNode(node, eventName, handler); } } /** * Remove the event listener to the node if it is a gestures event. * * @param {!Node} node Node to remove event listener from * @param {string} eventName Name of event * @param {function(!Event):void} handler Listener function to remove * @return {void} */ _removeEventListenerFromNode(node, eventName, handler) { if (!gestures.removeListener(node, eventName, handler)) { super._removeEventListenerFromNode(node, eventName, handler); } } } return GestureEventListeners; }); })(); </script>