Sha256: fe533aaf0a13c792b12bd2b4d52bcc1e93374754ea13f3a314f9a9295b2a8d90

Contents?: true

Size: 1.7 KB

Versions: 46

Compression:

Stored size: 1.7 KB

Contents

// application_controller.js
import { Controller } from "@hotwired/stimulus"

export default class ApplicationController extends Controller {
  connect() {
    this.element[this.identifier] = this
  }

  getController(element, identifier) {
    return this.application.getControllerForElementAndIdentifier(element, identifier)
  }

  triggerEvent(el, name, data) {
    let event
    if (typeof window.CustomEvent === "function") {
      event = new CustomEvent(name, { detail: data, cancelable: true, bubbles: true })
    } else {
      event = document.createEvent("CustomEvent")
      event.initCustomEvent(name, true, true, data)
    }
    el.dispatchEvent(event)
  }

  elementScrolled(element) {
    if (element.scrollHeight - Math.round(element.scrollTop) === element.clientHeight) {
      return true
    }
    return false
  }

  getUserData(key) {
    return fetch("/satis/user_data/" + key, {
      method: "GET",
      headers: {
        "Content-Type": "application/json",
      },
    })
      .then((res) => {
        if (res.ok) {
          return res.json().then((data) => {
            return data
          })
        }
      })
      .catch((err) => {
        console.log(err)
      })
  }

  setUserData(key, data) {
    let csrfToken = document.querySelector("meta[name=csrf-token]").content
    return fetch("/satis/user_data/" + key, {
      method: "PUT",
      headers: {
        "Content-Type": "application/json",
        "X-CSRF-Token": csrfToken,
      },
      body: JSON.stringify(data),
    })
      .then((res) => {
        if (res.ok) {
          return res.json().then((data) => {
            return data
          })
        }
      })
      .catch((err) => {
        console.log(err)
      })
  }
}

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
satis-2.1.53 app/javascript/satis/controllers/application_controller.js
satis-2.1.52 app/javascript/satis/controllers/application_controller.js
satis-2.1.51 app/javascript/satis/controllers/application_controller.js
satis-2.1.50 app/javascript/satis/controllers/application_controller.js
satis-2.1.49 app/javascript/satis/controllers/application_controller.js
satis-2.1.48 app/javascript/satis/controllers/application_controller.js
satis-2.1.47 app/javascript/satis/controllers/application_controller.js
satis-2.1.46 app/javascript/satis/controllers/application_controller.js
satis-2.1.45 app/javascript/satis/controllers/application_controller.js
satis-2.1.44 app/javascript/satis/controllers/application_controller.js
satis-2.1.43 app/javascript/satis/controllers/application_controller.js
satis-2.1.42 app/javascript/satis/controllers/application_controller.js
satis-2.1.41 app/javascript/satis/controllers/application_controller.js
satis-2.1.40 app/javascript/satis/controllers/application_controller.js
satis-2.1.39 app/javascript/satis/controllers/application_controller.js
satis-2.1.38 app/javascript/satis/controllers/application_controller.js
satis-2.1.37 app/javascript/satis/controllers/application_controller.js
satis-2.1.36 app/javascript/satis/controllers/application_controller.js
satis-2.1.35 app/javascript/satis/controllers/application_controller.js
satis-2.1.33 app/javascript/satis/controllers/application_controller.js