3 Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
4 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7 Code distributed by Google as part of the polymer project is also
8 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
10 <link rel="import" href="../utils/boot.html">
11 <link rel="import" href="../utils/gestures.html">
18 const gestures = Polymer.Gestures;
21 * Element class mixin that provides API for adding Polymer's cross-platform
22 * gesture events to nodes.
24 * The API is designed to be compatible with override points implemented
25 * in `Polymer.TemplateStamp` such that declarative event listeners in
26 * templates will support gesture events when this mixin is applied along with
27 * `Polymer.TemplateStamp`.
31 * @summary Element class mixin that provides API for adding Polymer's cross-platform
32 * gesture events to nodes
34 Polymer.GestureEventListeners = Polymer.dedupingMixin(superClass => {
38 * @implements {Polymer_GestureEventListeners}
40 class GestureEventListeners extends superClass {
42 _addEventListenerToNode(node, eventName, handler) {
43 if (!gestures.addListener(node, eventName, handler)) {
44 super._addEventListenerToNode(node, eventName, handler);
48 _removeEventListenerFromNode(node, eventName, handler) {
49 if (!gestures.removeListener(node, eventName, handler)) {
50 super._removeEventListenerFromNode(node, eventName, handler);
56 return GestureEventListeners;