UNPKG

@nakedobjects/gemini

Version:

Single Page Application client for a Naked Objects application.

56 lines 5.68 kB
import { Directive, EventEmitter, HostListener, Output } from '@angular/core'; import * as i0 from "@angular/core"; export class ClickDirective { el; constructor(el) { this.el = el.nativeElement; } leftClick = new EventEmitter(); rightClick = new EventEmitter(); onClick() { this.leftClick.emit('event'); return false; } handleKey(event) { const enterKeyCode = 13; if (event.which === enterKeyCode) { const trigger = event.shiftKey ? this.rightClick : this.leftClick; trigger.emit('event'); return false; } return true; } onEnter(event) { return this.handleKey(event); } onEnter1(event) { return this.handleKey(event); } onContextMenu() { this.rightClick.emit('event'); return false; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ClickDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: ClickDirective, selector: "[nofClick]", outputs: { leftClick: "leftClick", rightClick: "rightClick" }, host: { listeners: { "click": "onClick()", "keydown": "onEnter($event)", "keypress": "onEnter1($event)", "contextmenu": "onContextMenu()" } }, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ClickDirective, decorators: [{ type: Directive, args: [{ selector: '[nofClick]' }] }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { leftClick: [{ type: Output }], rightClick: [{ type: Output }], onClick: [{ type: HostListener, args: ['click'] }], onEnter: [{ type: HostListener, args: ['keydown', ['$event']] }], onEnter1: [{ type: HostListener, args: ['keypress', ['$event']] }], onContextMenu: [{ type: HostListener, args: ['contextmenu'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZ2VtaW5pL3NyYy9jbGljay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUYsTUFBTSxPQUFPLGNBQWM7SUFDTixFQUFFLENBQWM7SUFDakMsWUFBWSxFQUFjO1FBQ3RCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUMvQixDQUFDO0lBRVMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDL0IsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkIsT0FBTztRQUUxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDL0IsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNsRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRW9DLE9BQU8sQ0FBQyxLQUFvQjtRQUM3RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVxQyxRQUFRLENBQUMsS0FBb0I7UUFDL0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFNEIsYUFBYTtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3VHQXJDUSxjQUFjOzJGQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFOytFQU92QixTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRWdCLE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTztnQkFpQmdCLE9BQU87c0JBQTNDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlHLFFBQVE7c0JBQTdDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUlQLGFBQWE7c0JBQXpDLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbm9mQ2xpY2tdJyB9KVxuZXhwb3J0IGNsYXNzIENsaWNrRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcbiAgICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLmVsID0gZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgbGVmdENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSByaWdodENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBvbkNsaWNrKCkge1xuXG4gICAgICAgIHRoaXMubGVmdENsaWNrLmVtaXQoJ2V2ZW50Jyk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBoYW5kbGVLZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgZW50ZXJLZXlDb2RlID0gMTM7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gZW50ZXJLZXlDb2RlKSB7XG4gICAgICAgICAgICBjb25zdCB0cmlnZ2VyID0gZXZlbnQuc2hpZnRLZXkgPyB0aGlzLnJpZ2h0Q2xpY2sgOiB0aGlzLmxlZnRDbGljaztcbiAgICAgICAgICAgIHRyaWdnZXIuZW1pdCgnZXZlbnQnKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBvbkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZUtleShldmVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5cHJlc3MnLCBbJyRldmVudCddKSBvbkVudGVyMShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVLZXkoZXZlbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NvbnRleHRtZW51Jykgb25Db250ZXh0TWVudSgpIHtcbiAgICAgICAgdGhpcy5yaWdodENsaWNrLmVtaXQoJ2V2ZW50Jyk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=