UNPKG

md2

Version:

Angular2 based Material Design components, directives and services are Accordion, Autocomplete, Chips(Tags), Collapse, Colorpicker, Data Table, Datepicker, Dialog(Modal), Menu, Multiselect, Select, Tabs, Tags(Chips), Toast and Tooltip.

91 lines 4.43 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Injectable, isDevMode } from '@angular/core'; import { HammerGestureConfig } from '@angular/platform-browser'; /* Adjusts configuration of our gesture library, Hammer. */ var GestureConfig = (function (_super) { __extends(GestureConfig, _super); function GestureConfig() { var _this = _super.call(this) || this; _this._hammer = typeof window !== 'undefined' ? window.Hammer : null; /* List of new event names to add to the gesture support list */ _this.events = _this._hammer ? [ 'longpress', 'slide', 'slidestart', 'slideend', 'slideright', 'slideleft' ] : []; if (!_this._hammer && isDevMode()) { console.warn('Could not find HammerJS. Certain Angular Material ' + 'components may not work correctly.'); } return _this; } /** * Builds Hammer instance manually to add custom recognizers that match the Material Design spec. * * Our gesture names come from the Material Design gestures spec: * https://www.google.com/design/spec/patterns/gestures.html#gestures-touch-mechanics * * More information on default recognizers can be found in Hammer docs: * http://hammerjs.github.io/recognizer-pan/ * http://hammerjs.github.io/recognizer-press/ * * @param element Element to which to assign the new HammerJS gestures. * @returns Newly-created HammerJS instance. */ GestureConfig.prototype.buildHammer = function (element) { var mc = new this._hammer(element); // Default Hammer Recognizers. var pan = new this._hammer.Pan(); var swipe = new this._hammer.Swipe(); var press = new this._hammer.Press(); // Notice that a HammerJS recognizer can only depend on one other recognizer once. // Otherwise the previous `recognizeWith` will be dropped. // TODO: Confirm threshold numbers with Material Design UX Team var slide = this._createRecognizer(pan, { event: 'slide', threshold: 0 }, swipe); var longpress = this._createRecognizer(press, { event: 'longpress', time: 500 }); // Overwrite the default `pan` event to use the swipe event. pan.recognizeWith(swipe); // Add customized gestures to Hammer manager mc.add([swipe, press, pan, slide, longpress]); return mc; }; /** Creates a new recognizer, without affecting the default recognizers of HammerJS */ GestureConfig.prototype._createRecognizer = function (base, options) { var inheritances = []; for (var _i = 2; _i < arguments.length; _i++) { inheritances[_i - 2] = arguments[_i]; } var recognizer = new base.constructor(options); inheritances.push(base); inheritances.forEach(function (item) { return recognizer.recognizeWith(item); }); return recognizer; }; return GestureConfig; }(HammerGestureConfig)); GestureConfig = __decorate([ Injectable(), __metadata("design:paramtypes", []) ], GestureConfig); export { GestureConfig }; //# sourceMappingURL=gesture-config.js.map