Sha256: 7413ac45830a5ebef4cc081f0637a7a4990ffb6ba8262acfdfd2dd4967b4c3ef

Contents?: true

Size: 788 Bytes

Versions: 17

Compression:

Stored size: 788 Bytes

Contents

import { htmlAttributes } from "../html/html-attributes";

export class TextField {
  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 `<input type='text' ${htmlAttributes(this.attributes)} value='${this.state[this.attribute] || ""}'/>`;
  }

  add_action(event: string, klass: string, fn: string, options: { debounce?: number } = {}): TextField {
    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

Version Path
clapton-0.0.17 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.16 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.15 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.14 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.13 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.12 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.11 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.10 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.9 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.8 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.7 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.6 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.5 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.4 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.3 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.2 lib/clapton/javascripts/src/components/text-field.ts
clapton-0.0.1 lib/clapton/javascripts/src/components/text-field.ts