From 2fde3abe370df65828b9aaa853c4624c8530cd9a Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Mon, 17 Oct 2022 14:49:08 +0200 Subject: [PATCH] Extract a StimulusJS `modal_controller` + make `help_modal_link_controller` inherit from it --- .../controllers/help_modal_link_controller.js | 16 ++++------------ .../controllers/modal_link_controller.js | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 app/webpacker/controllers/modal_link_controller.js 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"; + } +}