open-nomad/ui/app/helpers/keyboard-commands.js
2023-04-10 15:36:59 +00:00

32 lines
668 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import Helper from '@ember/component/helper';
import { inject as service } from '@ember/service';
/**
`{{keyboard-commands}}` helper used to initialize and tear down contextual keynav commands
@public
@method keyboard-commands
*/
export default class keyboardCommands extends Helper {
@service keyboard;
constructor() {
super(...arguments);
}
compute([commands]) {
if (commands) {
this.commands = commands;
this.keyboard.addCommands(commands);
}
}
willDestroy() {
super.willDestroy();
this.keyboard.removeCommands(this.commands);
}
}