Fix initializers
This commit is contained in:
parent
ce067a2d57
commit
f6d7d6ae2d
|
@ -1,9 +1,11 @@
|
|||
import '@hotwired/turbo-rails';
|
||||
import initialize from './initializers';
|
||||
import initializeBootstrap from './initializers/bootstrap';
|
||||
import initializeStimulus from './initializers/stimulus';
|
||||
|
||||
export default function start(): void {
|
||||
try {
|
||||
initialize();
|
||||
initializeBootstrap();
|
||||
initializeStimulus();
|
||||
} catch (e) {
|
||||
// initialization errors
|
||||
}
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
/**
|
||||
* Using some JavaScript trickery with require.context
|
||||
* and default exports, we're basically rebuilding the
|
||||
* Rails concept of "initializers" in JavaScript.
|
||||
*
|
||||
* Every file in this folder exports a default function
|
||||
* which this index script is loading and executing, so
|
||||
* we don't have to specify several single import
|
||||
* statements and can dynamically extend this with as
|
||||
* many initializers as we see fit.
|
||||
*/
|
||||
export default function initialize(): void {
|
||||
const files = require.context('.', false, /\.ts$/);
|
||||
|
||||
files.keys().forEach((key) => {
|
||||
if (key === './index.ts') return;
|
||||
if (key.startsWith('./_')) return;
|
||||
files(key).default();
|
||||
});
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
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";
|
||||
|
||||
/**
|
||||
* This module sets up Stimulus and our controllers
|
||||
*
|
||||
* TODO: Temporary solution until I implement stimulus-rails and move
|
||||
* controllers to app/javascript/controllers where an automated
|
||||
* index can be generated
|
||||
*/
|
||||
export default function (): void {
|
||||
window['Stimulus'] = Application.start();
|
||||
window['Stimulus'].register('announcement', AnnouncementController);
|
||||
window['Stimulus'].register('autofocus', AutofocusController);
|
||||
window['Stimulus'].register('character-count', CharacterCountController);
|
||||
}
|
Loading…
Reference in New Issue