main
1// Visit The Stimulus Handbook for more details
2// https://stimulusjs.org/handbook/introduction
3
4import { Controller } from 'stimulus';
5
6export default class extends Controller {
7 get isDevelopment() {
8 return process.env.RAILS_ENV === 'development';
9 }
10
11 initialize() {
12 this.log(`Loading... ${this.identifier}`);
13 }
14
15 connect() {
16 this.log(`Connected to ${this.element.outerHTML} to ${this.identifier}`);
17 }
18
19 disconnect() {
20 this.log(`Disconnected from ${this.identifier}`);
21 }
22
23 enable(element) {
24 element.removeAttribute('disabled');
25 }
26
27 disable(element) {
28 element.setAttribute('disabled', 'disabled');
29 }
30
31 hide(element) {
32 if (element) element.classList.add('hide');
33 }
34
35 show(element) {
36 if (element) element.classList.remove('hide');
37 }
38
39 log(message) {
40 if (this.isDevelopment) {
41 console.log(message); /* eslint-disable-line no-console */
42 }
43 }
44
45 controllerFor(element, identifier) {
46 return this.application.getControllerForElementAndIdentifier(element, identifier);
47 }
48}