Sha256: 848d59e0852c2812f1893a7ea862df0be641e12514ea241fe49d1310622ed937

Contents?: true

Size: 1.04 KB

Versions: 19

Compression:

Stored size: 1.04 KB

Contents

import { patch } from "alchemy_admin/utils/ajax"
import { reloadPreview } from "alchemy_admin/components/preview_window"
import { growl } from "alchemy_admin/growler"

export class PublishElementButton extends HTMLElement {
  constructor() {
    super()

    this.addEventListener("sl-change", this)
  }

  handleEvent(event) {
    const elementEditor = event.target.closest("alchemy-element-editor")
    if (elementEditor === this.elementEditor) {
      patch(Alchemy.routes.publish_admin_element_path(this.elementId))
        .then((response) => {
          this.elementEditor.published = response.data.public
          this.tooltip.setAttribute("content", response.data.label)
          reloadPreview()
        })
        .catch((error) => growl(error.message, "error"))
    }
  }

  get elementEditor() {
    return this.closest("alchemy-element-editor")
  }

  get tooltip() {
    return this.closest("sl-tooltip")
  }

  get elementId() {
    return this.elementEditor.elementId
  }
}

customElements.define("alchemy-publish-element-button", PublishElementButton)

Version data entries

19 entries across 19 versions & 1 rubygems

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