Sha256: 021f7a6ffa4a02b431d3a26c55da4fd47a68948701643fdecb2e4603db93decd

Contents?: true

Size: 1.08 KB

Versions: 19

Compression:

Stored size: 1.08 KB

Contents

import { removeTab } from "alchemy_admin/fixed_elements"
import { growl } from "alchemy_admin/growler"
import { reloadPreview } from "alchemy_admin/components/preview_window"
import { confirmToDeleteDialog } from "alchemy_admin/confirm_dialog"

export class DeleteElementButton extends HTMLElement {
  constructor() {
    super()
    this.addEventListener("click", this)
  }

  handleEvent() {
    confirmToDeleteDialog(this.url, { message: this.message }).then(
      (response) => {
        this.#removeElement(response)
      }
    )
  }

  #removeElement(response) {
    const elementEditor = this.closest("alchemy-element-editor")
    elementEditor.addEventListener("transitionend", () => {
      if (elementEditor.fixed) {
        removeTab(elementEditor.elementId)
      }
      elementEditor.remove()
    })
    elementEditor.classList.add("dismiss")
    growl(response.message)
    reloadPreview()
  }

  get url() {
    return this.getAttribute("href")
  }

  get message() {
    return this.getAttribute("message")
  }
}

customElements.define("alchemy-delete-element-button", DeleteElementButton)

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
alchemy_cms-7.4.2 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.3.6 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.9 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.4.1 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.4.0 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.3.5 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.8 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.3.4 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.3.3 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.3.2 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.7 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.3.1 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.3.0 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.6 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.5 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.4 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.3 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.2 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js
alchemy_cms-7.2.1 app/javascript/alchemy_admin/components/element_editor/delete_element_button.js