SpinaCMS/Spina

View on GitHub
app/assets/javascripts/spina/controllers/embed_tag_controller.js

Summary

Maintainability
A
0 mins
Test Coverage
import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  
  connect() {
    let event = new CustomEvent("embed-tag:embedded", this.eventOptions)
    this.element.dispatchEvent(event)
  }
  
  get eventOptions() {
    let clone = this.element.cloneNode(true)
    clone.removeAttribute("data-controller")
    return {bubbles: true, detail: {html: clone.outerHTML}}
  }
  
}