UNPKG

ionic-framework

Version:

The ionic-framework package comes with both Javascript and Sass frontend dependencies, located in the root of the package, and a Node API, located in `tooling/`.

88 lines (87 loc) 3.53 kB
var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; 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); }; var core_1 = require('angular2/core'); var ion_1 = require('../ion'); /** * @name Scroll * @description * Scroll is a non-flexboxed scroll area that can scroll horizontally or vertically. `ion-Scroll` Can be used in places were you may not need a full page scroller, but a highly customized one, such as image scubber or comment scroller. * @usage * ```html * <ion-scroll scrollX="true"> * </ion-scroll> * * <ion-scroll scrollY="true"> * </ion-scroll> * * <ion-scroll scrollX="true" scrollY="true"> * </ion-scroll> * ``` *@property {boolean} [scrollX] - whether to enable scrolling along the X axis *@property {boolean} [scrollY] - whether to enable scrolling along the Y axis *@property {boolean} [zoom] - whether to enable zooming *@property {number} [maxZoom] - set the max zoom amount for ion-scroll * @demo /docs/v2/demos/scroll/ */ var Scroll = (function (_super) { __extends(Scroll, _super); function Scroll(elementRef) { _super.call(this, elementRef); this.maxScale = 3; this.zoomDuration = 250; } /** * @private */ Scroll.prototype.ngOnInit = function () { this.scrollElement = this.getNativeElement().children[0]; }; /** * Add a scroll event handler to the scroll element if it exists. * @param {Function} handler The scroll handler to add to the scroll element. * @returns {?Function} a function to remove the specified handler, otherwise * undefined if the scroll element doesn't exist. */ Scroll.prototype.addScrollEventListener = function (handler) { var _this = this; if (!this.scrollElement) { return; } this.scrollElement.addEventListener('scroll', handler); return function () { _this.scrollElement.removeEventListener('scroll', handler); }; }; Scroll = __decorate([ core_1.Component({ selector: 'ion-scroll', inputs: [ 'scrollX', 'scrollY', 'zoom', 'maxZoom' ], host: { '[class.scroll-x]': 'scrollX', '[class.scroll-y]': 'scrollY' }, template: '<scroll-content>' + '<div class="scroll-zoom-wrapper">' + '<ng-content></ng-content>' + '</div>' + '</scroll-content>' }), __metadata('design:paramtypes', [core_1.ElementRef]) ], Scroll); return Scroll; })(ion_1.Ion); exports.Scroll = Scroll;