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}