ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
104 lines • 6.68 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,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();
}
/**
* @private
* @param {?} className
* @return {?}
*/
addClass(className) {
this._renderer.addClass(this._elementRef.nativeElement, className);
}
/**
* @private
* @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: '[TouchFeedbackDirective]'
},] }
];
/** @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',] }, { type: HostListener, args: ['mousedown',] }],
touchEnd: [{ type: HostListener, args: ['touchend',] }, { type: HostListener, args: ['mouseup',] }]
};
if (false) {
/**
* @type {?}
* @private
*/
TouchFeedbackDirective.prototype._className;
/** @type {?} */
TouchFeedbackDirective.prototype.className;
/** @type {?} */
TouchFeedbackDirective.prototype.activeStyle;
/** @type {?} */
TouchFeedbackDirective.prototype.clickStart;
/** @type {?} */
TouchFeedbackDirective.prototype.clickEnd;
/**
* @type {?}
* @private
*/
TouchFeedbackDirective.prototype._elementRef;
/**
* @type {?}
* @private
*/
TouchFeedbackDirective.prototype._renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91Y2gtZmVlZGJhY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJjb3JlL2RpcmVjdGl2ZS90b3VjaC1mZWVkYmFjay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFFVixTQUFTLEVBQ1QsY0FBYyxFQUNmLE1BQU0sZUFBZSxDQUFDOztBQUV2QixNQUFNLE9BQU8sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFNLGdCQUFnQixDQUFDO0FBS3hFLE1BQU0sT0FBTyxzQkFBc0I7Ozs7O0lBT2pDLFlBQW9CLFdBQXVCLEVBQVUsU0FBb0I7UUFBckQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBSmhFLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFaUIsQ0FBQzs7Ozs7O0lBRXJFLFFBQVEsQ0FBQyxTQUFpQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7Ozs7SUFFTyxXQUFXLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQzs7OztJQUlELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7Ozs7SUFJRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7WUF4Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7YUFDckM7Ozs7WUFWQyxVQUFVO1lBRVYsU0FBUzs7O3dCQVdSLEtBQUs7MEJBQ0wsS0FBSzt5QkFDTCxNQUFNO3VCQUNOLE1BQU07eUJBZ0JOLFlBQVksU0FBQyxZQUFZLGNBQ3pCLFlBQVksU0FBQyxXQUFXO3VCQVF4QixZQUFZLFNBQUMsVUFBVSxjQUN2QixZQUFZLFNBQUMsU0FBUzs7Ozs7OztJQTlCdkIsNENBQW1COztJQUNuQiwyQ0FBa0M7O0lBQ2xDLDZDQUE0Qjs7SUFDNUIsNENBQTZEOztJQUM3RCwwQ0FBMkQ7Ozs7O0lBRS9DLDZDQUErQjs7Ozs7SUFBRSwyQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBFbGVtZW50UmVmLFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgSW5qZWN0aW9uVG9rZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBJTlRFUkZBQ0VfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignSW50ZXJmYWNlVG9rZW4nKTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW1RvdWNoRmVlZGJhY2tEaXJlY3RpdmVdJ1xufSlcbmV4cG9ydCBjbGFzcyBUb3VjaEZlZWRiYWNrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBfY2xhc3NOYW1lO1xuICBASW5wdXQoKSBjbGFzc05hbWU6IEFycmF5PHN0cmluZz47XG4gIEBJbnB1dCgpIGFjdGl2ZVN0eWxlID0gdHJ1ZTtcbiAgQE91dHB1dCgpIGNsaWNrU3RhcnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2xpY2tFbmQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgcHJpdmF0ZSBhZGRDbGFzcyhjbGFzc05hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQ2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9jbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnKVxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nKVxuICB0b3VjaFN0YXJ0KCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZVN0eWxlKSB7XG4gICAgICB0aGlzLmFkZENsYXNzKHRoaXMuX2NsYXNzTmFtZSk7XG4gICAgICB0aGlzLmNsaWNrU3RhcnQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNoZW5kJylcbiAgQEhvc3RMaXN0ZW5lcignbW91c2V1cCcpXG4gIHRvdWNoRW5kKCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZVN0eWxlKSB7XG4gICAgICB0aGlzLnJlbW92ZUNsYXNzKHRoaXMuX2NsYXNzTmFtZSk7XG4gICAgICB0aGlzLmNsaWNrRW5kLmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==