UNPKG

@grapecity/inputman.angular

Version:

このパッケージには、Angular用の[InputManJS](https://developer.mescius.jp/inputmanjs)コンポーネントが含まれます。

88 lines 10.3 kB
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==