UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

94 lines (93 loc) 6.45 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Directive, Input, Output, EventEmitter, HostListener, ElementRef, Renderer2, InjectionToken, } from '@angular/core'; /** @type {?} */ export const INTERFACE_TOKEN = new InjectionToken('InterfaceToken'); export class TouchFeedbackDirective { /** * @param {?} _elementRef * @param {?} _renderer */ constructor(_elementRef, _renderer) { this._elementRef = _elementRef; this._renderer = _renderer; this.activeStyle = true; this.clickStart = new EventEmitter(); this.clickEnd = new EventEmitter(); } /** * @param {?} className * @return {?} */ addClass(className) { this._renderer.addClass(this._elementRef.nativeElement, className); } /** * @param {?} className * @return {?} */ removeClass(className) { this._renderer.removeClass(this._elementRef.nativeElement, className); } /** * @return {?} */ ngOnInit() { this._className = this.className; } /** * @return {?} */ touchStart() { if (this.activeStyle) { this.addClass(this._className); this.clickStart.emit(); } } /** * @return {?} */ touchEnd() { if (this.activeStyle) { this.removeClass(this._className); this.clickEnd.emit(); } } } TouchFeedbackDirective.decorators = [ { type: Directive, args: [{ selector: '[TouchFeedback]' },] } ]; /** @nocollapse */ TouchFeedbackDirective.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; TouchFeedbackDirective.propDecorators = { className: [{ type: Input }], activeStyle: [{ type: Input }], clickStart: [{ type: Output }], clickEnd: [{ type: Output }], touchStart: [{ type: HostListener, args: ['touchstart', ['$event'],] }, { type: HostListener, args: ['mousedown', ['$event'],] }], touchEnd: [{ type: HostListener, args: ['touchend', ['$event'],] }, { type: HostListener, args: ['mouseup', ['$event'],] }] }; if (false) { /** @type {?} */ TouchFeedbackDirective.prototype._className; /** @type {?} */ TouchFeedbackDirective.prototype.className; /** @type {?} */ TouchFeedbackDirective.prototype.activeStyle; /** @type {?} */ TouchFeedbackDirective.prototype.clickStart; /** @type {?} */ TouchFeedbackDirective.prototype.clickEnd; /** @type {?} */ TouchFeedbackDirective.prototype._elementRef; /** @type {?} */ TouchFeedbackDirective.prototype._renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91Y2gtZmVlZGJhY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJjb3JlL2RpcmVjdGl2ZS90b3VjaC1mZWVkYmFjay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFFVixTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFDOztBQUV2QixhQUFhLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBTSxnQkFBZ0IsQ0FBQyxDQUFDO0FBS3pFLE1BQU07Ozs7O0lBUUosWUFBb0IsV0FBdUIsRUFBVSxTQUFvQjtRQUFyRCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7MkJBSmxELElBQUk7MEJBQ2UsSUFBSSxZQUFZLEVBQUU7d0JBQ3BCLElBQUksWUFBWSxFQUFFO0tBS3pEOzs7OztJQUVPLFFBQVEsQ0FBQyxTQUFpQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQzs7Ozs7O0lBRzdELFdBQVcsQ0FBQyxTQUFpQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQzs7Ozs7SUFHeEUsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztLQUNsQzs7OztJQUlELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN4QjtLQUNGOzs7O0lBSUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RCO0tBQ0Y7OztZQTVDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjthQUM1Qjs7OztZQVZDLFVBQVU7WUFFVixTQUFTOzs7d0JBWVIsS0FBSzswQkFDTCxLQUFLO3lCQUNMLE1BQU07dUJBQ04sTUFBTTt5QkFtQk4sWUFBWSxTQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUNyQyxZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO3VCQVFwQyxZQUFZLFNBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQ25DLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBFbGVtZW50UmVmLFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgSW5qZWN0aW9uVG9rZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgSU5URVJGQUNFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0ludGVyZmFjZVRva2VuJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tUb3VjaEZlZWRiYWNrXSdcbn0pXG5leHBvcnQgY2xhc3MgVG91Y2hGZWVkYmFja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBfY2xhc3NOYW1lO1xuICBASW5wdXQoKSBjbGFzc05hbWU6IEFycmF5PHN0cmluZz47XG4gIEBJbnB1dCgpIGFjdGl2ZVN0eWxlID0gdHJ1ZTtcbiAgQE91dHB1dCgpIGNsaWNrU3RhcnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2xpY2tFbmQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG5cbiAgfVxuXG4gIHByaXZhdGUgYWRkQ2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNsYXNzKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgdG91Y2hTdGFydCgpIHtcbiAgICBpZiAodGhpcy5hY3RpdmVTdHlsZSkge1xuICAgICAgdGhpcy5hZGRDbGFzcyh0aGlzLl9jbGFzc05hbWUpO1xuICAgICAgdGhpcy5jbGlja1N0YXJ0LmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaGVuZCcsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnLCBbJyRldmVudCddKVxuICB0b3VjaEVuZCgpIHtcbiAgICBpZiAodGhpcy5hY3RpdmVTdHlsZSkge1xuICAgICAgdGhpcy5yZW1vdmVDbGFzcyh0aGlzLl9jbGFzc05hbWUpO1xuICAgICAgdGhpcy5jbGlja0VuZC5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=