@nakedobjects/gemini
Version:
Single Page Application client for a Naked Objects application.
56 lines • 5.68 kB
JavaScript
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=