diff --git a/app/webpacker/controllers/help_modal_link_controller.js b/app/webpacker/controllers/help_modal_link_controller.js index 8d3bc973fa..631e24863f 100644 --- a/app/webpacker/controllers/help_modal_link_controller.js +++ b/app/webpacker/controllers/help_modal_link_controller.js @@ -1,15 +1,7 @@ -import { Controller } from "stimulus"; +import ModalLinkController from "./modal_link_controller"; -export default class extends Controller { - static values = { target: String }; - - open() { - let helpModal = document.getElementById(this.targetValue); - let helpModalController = - this.application.getControllerForElementAndIdentifier( - helpModal, - "help-modal" - ); - helpModalController.open(); +export default class extends ModalLinkController { + getIdentifier() { + return "help-modal"; } } diff --git a/app/webpacker/controllers/modal_link_controller.js b/app/webpacker/controllers/modal_link_controller.js new file mode 100644 index 0000000000..d4f58fb546 --- /dev/null +++ b/app/webpacker/controllers/modal_link_controller.js @@ -0,0 +1,18 @@ +import { Controller } from "stimulus"; + +export default class extends Controller { + static values = { target: String }; + + open() { + let modal = document.getElementById(this.targetValue); + let modalController = this.application.getControllerForElementAndIdentifier( + modal, + this.getIdentifier() + ); + modalController.open(); + } + + getIdentifier() { + return "modal"; + } +}