@grapecity/inputman.angular
Version:
このパッケージには、Angular用の[InputManJS](https://developer.mescius.jp/inputmanjs)コンポーネントが含まれます。
88 lines • 10.3 kB
JavaScript
import { Component, Input, ContentChildren, QueryList, Output, ElementRef, EventEmitter } from '@angular/core';
import { GC } from '../inputman';
import { IMCtrl } from '../common';
import { GcComponents } from './GcComponents';
import * as i0 from "@angular/core";
export class GcShortcutInfoComponent {
}
GcShortcutInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GcShortcutInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
GcShortcutInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GcShortcutInfoComponent, selector: "gc-shortcut-info", inputs: { shortcutKey: "shortcutKey", shift: "shift", ctrl: "ctrl", alt: "alt", target: "target", action: "action", blockMessage: "blockMessage" }, ngImport: i0, template: ``, isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GcShortcutInfoComponent, decorators: [{
type: Component,
args: [{
selector: 'gc-shortcut-info',
template: ``
}]
}], propDecorators: { shortcutKey: [{
type: Input
}], shift: [{
type: Input
}], ctrl: [{
type: Input
}], alt: [{
type: Input
}], target: [{
type: Input
}], action: [{
type: Input
}], blockMessage: [{
type: Input
}] } });
export class GcShortcutComponent extends GcComponents {
constructor(ref) {
super(ref);
this.preAction = new EventEmitter();
this.postAction = new EventEmitter();
}
initGcComponent() {
this._imCtrl = new GC.InputMan.GcShortcut();
if (this.shortcutInfoList && this.shortcutInfoList.length > 0) {
this.shortcutInfoList.forEach((info) => {
let target = this.tryGetTarget(info.target);
if (target === null)
return;
let args = { ...info, key: info.shortcutKey, target };
this._imCtrl.add(args);
});
}
}
tryGetTarget(str) {
if (str === undefined)
return window;
let el = document.querySelector(str);
if (el === null)
return null;
return el[IMCtrl] || el;
}
bindEvent() {
if (!this._imCtrl)
return;
this._imCtrl.addEventListener(GC.InputMan.GcShortcutEvent.PreAction, (s, e) => {
this.preAction.emit(e);
});
this._imCtrl.addEventListener(GC.InputMan.GcShortcutEvent.PostAction, (s, e) => {
this.postAction.emit(e);
});
}
}
GcShortcutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GcShortcutComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
GcShortcutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GcShortcutComponent, selector: "gc-shortcut", inputs: { blockMessage: "blockMessage", triggerAll: "triggerAll" }, outputs: { preAction: "preAction", postAction: "postAction" }, queries: [{ propertyName: "shortcutInfoList", predicate: GcShortcutInfoComponent }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GcShortcutComponent, decorators: [{
type: Component,
args: [{
selector: 'gc-shortcut',
template: ``
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { blockMessage: [{
type: Input
}], triggerAll: [{
type: Input
}], shortcutInfoList: [{
type: ContentChildren,
args: [GcShortcutInfoComponent]
}], preAction: [{
type: Output
}], postAction: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2NTaG9ydGN1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvR2NTaG9ydGN1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTlDLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1Qiw0TUFGdEIsRUFBRTs0RkFFSCx1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OEJBR0csV0FBVztzQkFEVixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLOztBQVFWLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxZQUFvQztJQVN6RSxZQUFZLEdBQWU7UUFDdkIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBSkwsY0FBUyxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUloRSxDQUFDO0lBRVMsZUFBZTtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU1QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBNkIsRUFBRSxFQUFFO2dCQUM1RCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxNQUFNLEtBQUssSUFBSTtvQkFBRSxPQUFPO2dCQUU1QixJQUFJLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUV0RCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxHQUFXO1FBQzVCLElBQUksR0FBRyxLQUFLLFNBQVM7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUVyQyxJQUFJLEVBQUUsR0FBUSxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksRUFBRSxLQUFLLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU3QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVTLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTFCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztpSEEvQ1EsbUJBQW1CO3FHQUFuQixtQkFBbUIsdU5BR1gsdUJBQXVCLG9EQUw5QixFQUFFOzRGQUVILG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7aUdBRVksWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVDLGdCQUFnQjtzQkFEdEIsZUFBZTt1QkFBQyx1QkFBdUI7Z0JBRzlCLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBPdXRwdXQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR0MgfSBmcm9tICcuLi9pbnB1dG1hbic7XG5pbXBvcnQgeyBJTUN0cmwgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgR2NDb21wb25lbnRzIH0gZnJvbSAnLi9HY0NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2djLXNob3J0Y3V0LWluZm8nLFxuICAgIHRlbXBsYXRlOiBgYFxufSlcbmV4cG9ydCBjbGFzcyBHY1Nob3J0Y3V0SW5mb0NvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBzaG9ydGN1dEtleTogR0MuSW5wdXRNYW4uR2NTaG9ydGN1dEtleTtcbiAgICBASW5wdXQoKVxuICAgIHNoaWZ0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpXG4gICAgY3RybDogYm9vbGVhbjtcbiAgICBASW5wdXQoKVxuICAgIGFsdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKVxuICAgIHRhcmdldDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgYWN0aW9uOiBHQy5JbnB1dE1hbi5JQWN0aW9uIHwgR0MuSW5wdXRNYW4uR2NTaG9ydGN1dEFjdGlvbjtcbiAgICBASW5wdXQoKVxuICAgIGJsb2NrTWVzc2FnZTogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdnYy1zaG9ydGN1dCcsXG4gICAgdGVtcGxhdGU6IGBgXG59KVxuZXhwb3J0IGNsYXNzIEdjU2hvcnRjdXRDb21wb25lbnQgZXh0ZW5kcyBHY0NvbXBvbmVudHM8R0MuSW5wdXRNYW4uR2NTaG9ydGN1dD4ge1xuICAgIEBJbnB1dCgpIGJsb2NrTWVzc2FnZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB0cmlnZ2VyQWxsOiBib29sZWFuO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oR2NTaG9ydGN1dEluZm9Db21wb25lbnQpXG4gICAgcHVibGljIHNob3J0Y3V0SW5mb0xpc3Q6IFF1ZXJ5TGlzdDxHY1Nob3J0Y3V0SW5mb0NvbXBvbmVudD47XG5cbiAgICBAT3V0cHV0KCkgcHJlQWN0aW9uOiBFdmVudEVtaXR0ZXI8b2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcG9zdEFjdGlvbjogRXZlbnRFbWl0dGVyPG9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIocmVmKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdEdjQ29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbUN0cmwgPSBuZXcgR0MuSW5wdXRNYW4uR2NTaG9ydGN1dCgpO1xuXG4gICAgICAgIGlmICh0aGlzLnNob3J0Y3V0SW5mb0xpc3QgJiYgdGhpcy5zaG9ydGN1dEluZm9MaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2hvcnRjdXRJbmZvTGlzdC5mb3JFYWNoKChpbmZvOiBHY1Nob3J0Y3V0SW5mb0NvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLnRyeUdldFRhcmdldChpbmZvLnRhcmdldCk7XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgbGV0IGFyZ3MgPSB7IC4uLmluZm8sIGtleTogaW5mby5zaG9ydGN1dEtleSwgdGFyZ2V0IH07XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9pbUN0cmwuYWRkKGFyZ3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRyeUdldFRhcmdldChzdHI6IHN0cmluZykge1xuICAgICAgICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHJldHVybiB3aW5kb3c7XG5cbiAgICAgICAgbGV0IGVsOiBhbnkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHN0cik7XG4gICAgICAgIGlmIChlbCA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgcmV0dXJuIGVsW0lNQ3RybF0gfHwgZWw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJpbmRFdmVudCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbUN0cmwpIHJldHVybjtcblxuICAgICAgICB0aGlzLl9pbUN0cmwuYWRkRXZlbnRMaXN0ZW5lcihHQy5JbnB1dE1hbi5HY1Nob3J0Y3V0RXZlbnQuUHJlQWN0aW9uLCAocywgZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmVBY3Rpb24uZW1pdChlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5faW1DdHJsLmFkZEV2ZW50TGlzdGVuZXIoR0MuSW5wdXRNYW4uR2NTaG9ydGN1dEV2ZW50LlBvc3RBY3Rpb24sIChzLCBlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBvc3RBY3Rpb24uZW1pdChlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufSJdfQ==