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