Sha256: fe14d984f0e72c10da4f287c089e042e7b090b4ec8cf812374c273f98b4d719b
Contents?: true
Size: 778 Bytes
Versions: 17
Compression:
Stored size: 778 Bytes
Contents
import { htmlAttributes } from "../html/html-attributes"; export class TextArea { state: any; attribute: string; attributes: Record<string, any>; constructor(state: any, attribute: string, attributes: Record<string, any> = {}) { this.state = state; this.attributes = attributes; this.attribute = attribute; this.attributes["data-attribute"] = attribute; } get render(): string { return `<textarea ${htmlAttributes(this.attributes)}>${this.state[this.attribute] || ""}</textarea>`; } add_action(event: string, klass: string, fn: string, options: { debounce?: number } = {}): TextArea { this.attributes["data-action"] = `${this.attributes["data-action"] || ""} ${event}->${klass}#${fn}@${options.debounce || 0}`; return this; } }
Version data entries
17 entries across 17 versions & 1 rubygems