ng-hotkeys
Version:
ng-hotkeys for Angular 14+
87 lines • 9.56 kB
JavaScript
import { Component, Input } from "@angular/core";
import { symbols } from "./keys";
import { identity } from './utils';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
function NgHotkeysHelpItemComponent_div_0_div_5_span_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 8);
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const key_r6 = ctx.$implicit;
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(key_r6);
} }
function NgHotkeysHelpItemComponent_div_0_div_5_span_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 9);
i0.ɵɵtext(1, " / ");
i0.ɵɵelementEnd();
} }
function NgHotkeysHelpItemComponent_div_0_div_5_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div", 5);
i0.ɵɵtemplate(1, NgHotkeysHelpItemComponent_div_0_div_5_span_1_Template, 2, 1, "span", 6);
i0.ɵɵtemplate(2, NgHotkeysHelpItemComponent_div_0_div_5_span_2_Template, 2, 0, "span", 7);
i0.ɵɵelementEnd();
} if (rf & 2) {
const sKey_r2 = ctx.$implicit;
const i_r3 = ctx.index;
const ctx_r1 = i0.ɵɵnextContext(2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngForOf", sKey_r2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r1.parsedKeys.length > 1 && i_r3 < ctx_r1.parsedKeys.length - 1);
} }
function NgHotkeysHelpItemComponent_div_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "span");
i0.ɵɵtext(3);
i0.ɵɵelementEnd()();
i0.ɵɵelementStart(4, "div", 3);
i0.ɵɵtemplate(5, NgHotkeysHelpItemComponent_div_0_div_5_Template, 3, 2, "div", 4);
i0.ɵɵelementEnd()();
} if (rf & 2) {
const ctx_r0 = i0.ɵɵnextContext();
i0.ɵɵclassProp("item--odd", ctx_r0.index % 2 !== 0);
i0.ɵɵadvance(3);
i0.ɵɵtextInterpolate(ctx_r0.shortcut.description);
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngForOf", ctx_r0.parsedKeys);
} }
/**
* @ignore
*/
export class NgHotkeysHelpItemComponent {
constructor() { }
set shortcut(shortcut) {
const key = Array.isArray(shortcut.key) ? shortcut.key : [shortcut.key];
this.parsedKeys = key.map(key => key
.split(" ")
.filter(identity)
.filter(key => key !== "+")
.map(key => {
if (symbols[key]) {
return symbols[key];
}
return key;
}));
this._shortcut = shortcut;
}
get shortcut() {
return this._shortcut;
}
ngOnInit() { }
}
NgHotkeysHelpItemComponent.ɵfac = function NgHotkeysHelpItemComponent_Factory(t) { return new (t || NgHotkeysHelpItemComponent)(); };
NgHotkeysHelpItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NgHotkeysHelpItemComponent, selectors: [["ng-hot-keys-help-item"]], inputs: { index: "index", shortcut: "shortcut" }, decls: 1, vars: 1, consts: [["class", "item", 3, "item--odd", 4, "ngIf"], [1, "item"], [1, "description"], [1, "keys"], ["class", "key__container", 4, "ngFor", "ngForOf"], [1, "key__container"], ["class", "key", 4, "ngFor", "ngForOf"], ["class", "separator", 4, "ngIf"], [1, "key"], [1, "separator"]], template: function NgHotkeysHelpItemComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, NgHotkeysHelpItemComponent_div_0_Template, 6, 4, "div", 0);
} if (rf & 2) {
i0.ɵɵproperty("ngIf", ctx.shortcut.description);
} }, dependencies: [i1.NgForOf, i1.NgIf], styles: [".key[_ngcontent-%COMP%]{border:1px solid #CCCCCC;border-radius:4px;padding:5px 12px;margin-right:5px;background-color:#f5f5f5}.key__container[_ngcontent-%COMP%]{display:inline-block}.separator[_ngcontent-%COMP%]{margin-right:5px}.keys[_ngcontent-%COMP%]{float:right}.item[_ngcontent-%COMP%]{background-color:#ebebeb;padding:12px}.description[_ngcontent-%COMP%]{min-width:168px;display:inline-block;color:#333}.item--odd[_ngcontent-%COMP%]{background-color:#fff}"] });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgHotkeysHelpItemComponent, [{
type: Component,
args: [{ selector: "ng-hot-keys-help-item", template: "<div class=\"item\" [class.item--odd]=\"index % 2 !== 0\" *ngIf=\"shortcut.description\">\n <div class=\"description\">\n <span>{{shortcut.description}}</span>\n </div>\n <div class=\"keys\">\n <div *ngFor=\"let sKey of parsedKeys;let i = index\" class=\"key__container\">\n <span class=\"key\" *ngFor=\"let key of sKey;\">{{key}}</span>\n <span *ngIf=\"parsedKeys.length > 1 && i < parsedKeys.length - 1\" class=\"separator\"> / </span>\n </div>\n </div>\n</div>\n", styles: [".key{border:1px solid #CCCCCC;border-radius:4px;padding:5px 12px;margin-right:5px;background-color:#f5f5f5}.key__container{display:inline-block}.separator{margin-right:5px}.keys{float:right}.item{background-color:#ebebeb;padding:12px}.description{min-width:168px;display:inline-block;color:#333}.item--odd{background-color:#fff}\n"] }]
}], function () { return []; }, { index: [{
type: Input
}], shortcut: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctaG90a2V5cy1oZWxwLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctaG90a2V5cy9zcmMvbGliL25nLWhvdGtleXMtaGVscC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWhvdGtleXMvc3JjL2xpYi9uZy1ob3RrZXlzLWhlbHAtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7SUNHN0IsK0JBQTRDO0lBQUEsWUFBTztJQUFBLGlCQUFPOzs7SUFBZCxlQUFPO0lBQVAsNEJBQU87OztJQUNuRCwrQkFBbUY7SUFBQyxtQkFBRTtJQUFBLGlCQUFPOzs7SUFGL0YsOEJBQTBFO0lBQ3hFLHlGQUEwRDtJQUMxRCx5RkFBNkY7SUFDL0YsaUJBQU07Ozs7O0lBRjhCLGVBQVE7SUFBUixpQ0FBUTtJQUNuQyxlQUF3RDtJQUF4RCwwRkFBd0Q7OztJQVByRSw4QkFBbUYsYUFBQSxXQUFBO0lBRXpFLFlBQXdCO0lBQUEsaUJBQU8sRUFBQTtJQUV2Qyw4QkFBa0I7SUFDaEIsaUZBR007SUFDUixpQkFBTSxFQUFBOzs7SUFUVSxtREFBbUM7SUFFM0MsZUFBd0I7SUFBeEIsaURBQXdCO0lBR1IsZUFBYztJQUFkLDJDQUFjOztBREF4Qzs7R0FFRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7SUE0Qm5DLGdCQUFlLENBQUM7SUF2QmhCLElBQ0ksUUFBUSxDQUFDLFFBQWtCO1FBQzNCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDNUIsR0FBRzthQUNFLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixNQUFNLENBQUMsUUFBUSxDQUFDO2FBQ2hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUM7YUFDMUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1AsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkI7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNULENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFNRCxRQUFRLEtBQUksQ0FBQzs7b0dBOUJKLDBCQUEwQjs2RUFBMUIsMEJBQTBCO1FDYnZDLDJFQVVNOztRQVZpRCwrQ0FBMEI7O3VGRGFwRSwwQkFBMEI7Y0FMdEMsU0FBUzsyQkFDSSx1QkFBdUI7c0NBT3hCLEtBQUs7a0JBQWIsS0FBSztZQUdGLFFBQVE7a0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTaG9ydGN1dCB9IGZyb20gXCIuL25nLWhvdGtleXMuaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgc3ltYm9scyB9IGZyb20gXCIuL2tleXNcIjtcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuZy1ob3Qta2V5cy1oZWxwLWl0ZW1cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL25nLWhvdGtleXMtaGVscC1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL25nLWhvdGtleXMtaGVscC1pdGVtLmNvbXBvbmVudC5jc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgTmdIb3RrZXlzSGVscEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBwYXJzZWRLZXlzOiBzdHJpbmdbXVtdO1xuXG4gICAgQElucHV0KCkgaW5kZXg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNob3J0Y3V0KHNob3J0Y3V0OiBTaG9ydGN1dCkge1xuICAgICAgICBjb25zdCBrZXkgPSBBcnJheS5pc0FycmF5KHNob3J0Y3V0LmtleSkgPyBzaG9ydGN1dC5rZXkgOiBbc2hvcnRjdXQua2V5XTtcbiAgICAgICAgdGhpcy5wYXJzZWRLZXlzID0ga2V5Lm1hcChrZXkgPT5cbiAgICAgICAgICAgIGtleVxuICAgICAgICAgICAgICAgIC5zcGxpdChcIiBcIilcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGlkZW50aXR5KVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoa2V5ID0+IGtleSAhPT0gXCIrXCIpXG4gICAgICAgICAgICAgICAgLm1hcChrZXkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3ltYm9sc1trZXldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3ltYm9sc1trZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBrZXk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fc2hvcnRjdXQgPSBzaG9ydGN1dDtcbiAgICB9XG4gICAgZ2V0IHNob3J0Y3V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvcnRjdXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvcnRjdXQ6IFNob3J0Y3V0O1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cIml0ZW1cIiBbY2xhc3MuaXRlbS0tb2RkXT1cImluZGV4ICUgMiAhPT0gMFwiICpuZ0lmPVwic2hvcnRjdXQuZGVzY3JpcHRpb25cIj5cbiAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gICAgPHNwYW4+e3tzaG9ydGN1dC5kZXNjcmlwdGlvbn19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImtleXNcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzS2V5IG9mIHBhcnNlZEtleXM7bGV0IGkgPSBpbmRleFwiIGNsYXNzPVwia2V5X19jb250YWluZXJcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwia2V5XCIgKm5nRm9yPVwibGV0IGtleSBvZiBzS2V5O1wiPnt7a2V5fX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInBhcnNlZEtleXMubGVuZ3RoID4gMSAmJiBpIDwgcGFyc2VkS2V5cy5sZW5ndGggLSAxXCIgY2xhc3M9XCJzZXBhcmF0b3JcIj4gLyA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=