UNPKG

five-bells-visualization

Version:
58 lines (50 loc) 2.01 kB
<!-- @license Copyright (c) 2014 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 --> <script> Polymer.Base._addFeature({ _setupDebouncers: function() { this._debouncers = {}; }, /** * Debounce signals. * * Call `debounce` to collapse multiple requests for a named task into * one invocation which is made after the wait time has elapsed with * no new request. * * debouncedClickAction: function(e) { * // will not call `processClick` more than once per 100ms * this.debounce('click', function() { * this.processClick; * }, 100); * } * * @method debounce * @param String {String} jobName A string to indentify the debounce job. * @param Function {Function} callback A function that is called (with `this` context) when the wait time elapses. * @param Number {Number} wait Time in milliseconds (ms) after the last signal that must elapse before invoking `callback` * @type Handle */ debounce: function(jobName, callback, wait) { this._debouncers[jobName] = Polymer.Debounce.call(this, this._debouncers[jobName], callback, wait); }, isDebouncerActive: function(jobName) { var debouncer = this._debouncers[jobName]; return debouncer && debouncer.finish; }, flushDebouncer: function(jobName) { var debouncer = this._debouncers[jobName]; if (debouncer) { debouncer.complete(); } } }); </script>