diff --git a/app/assets/javascript/application.ts b/app/assets/javascript/application.ts index 59b15cb5..5c77df4b 100644 --- a/app/assets/javascript/application.ts +++ b/app/assets/javascript/application.ts @@ -1,6 +1,3 @@ -import { Application } from '@hotwired/stimulus'; -import { definitionsFromContext } from '@hotwired/stimulus-webpack-helpers'; - import start from 'retrospring/common'; import initAnswerbox from 'retrospring/features/answerbox'; import initCapabilities from 'retrospring/features/capabilities'; @@ -30,7 +27,3 @@ document.addEventListener('DOMContentLoaded', initMemes); document.addEventListener('turbo:load', initFront); document.addEventListener('DOMContentLoaded', initWebpush); document.addEventListener('turbo:load', initWebpushSettingsButtons); - -window['Stimulus'] = Application.start(); -const context = require.context('../retrospring/controllers', true, /\.ts$/); -window['Stimulus'].load(definitionsFromContext(context)); diff --git a/app/assets/javascript/retrospring/common.ts b/app/assets/javascript/retrospring/common.ts index 49875e03..edce999a 100644 --- a/app/assets/javascript/retrospring/common.ts +++ b/app/assets/javascript/retrospring/common.ts @@ -1,5 +1,6 @@ import '@hotwired/turbo-rails'; import bootstrap from './initializers/bootstrap'; +import stimulus from './initializers/stimulus'; export default function start(): void { try { diff --git a/app/assets/javascript/retrospring/initializers/stimulus.ts b/app/assets/javascript/retrospring/initializers/stimulus.ts new file mode 100644 index 00000000..c63339d8 --- /dev/null +++ b/app/assets/javascript/retrospring/initializers/stimulus.ts @@ -0,0 +1,12 @@ +import { Application } from '@hotwired/stimulus'; + +import AnnouncementController from "retrospring/controllers/announcement_controller"; +import AutofocusController from "retrospring/controllers/autofocus_controller"; +import CharacterCountController from "retrospring/controllers/character_count_controller"; + +export default function (): void { + window.Stimulus = Application.start(); + window.Stimulus.register('announcement', AnnouncementController); + window.Stimulus.register('autofocus', AutofocusController); + window.Stimulus.register('character_count', CharacterCountController); +}