Sha256: 313c792eccc23483cf68ed4075eb28f73ce513e729d125e40d31cad120f559dc
Contents?: true
Size: 882 Bytes
Versions: 17
Compression:
Stored size: 882 Bytes
Contents
export const DEFAULTS = { header_height: 36, size: "400x300", padding: true, title: "", modal: true, overflow: "visible", ready: () => {}, closed: () => {} } export class DialogLink extends HTMLAnchorElement { connectedCallback() { this.addEventListener("click", (evt) => { if (!this.disabled) { this.openDialog() } evt.preventDefault() }) } openDialog() { this.dialog = new Alchemy.Dialog( this.getAttribute("href"), this.dialogOptions ) this.dialog.open() } get dialogOptions() { const options = this.dataset.dialogOptions ? JSON.parse(this.dataset.dialogOptions) : {} return { ...DEFAULTS, ...options } } get disabled() { return this.classList.contains("disabled") } } customElements.define("alchemy-dialog-link", DialogLink, { extends: "a" })
Version data entries
17 entries across 17 versions & 1 rubygems