Sha256: a71c985efd1f240e13369a0e4e3e0f2f102a6065d14401bdb1c3f52f53b3ba48
Contents?: true
Size: 840 Bytes
Versions: 6
Compression:
Stored size: 840 Bytes
Contents
# frozen_string_literal: true class Scarpe class GlimmerLibUIEditLine < GlimmerLibUIWidget attr_reader :text, :width def initialize(properties) super # The JS handler sends a "change" event, which we forward to the Shoes widget tree bind("change") do |new_text| send_self_event(new_text, event_name: "change") end end def properties_changed(changes) t = changes.delete("text") if t html_element.value = t end super end def element oninput = handler_js_code("change", "this.value") HTML.render do |h| h.input(id: html_id, oninput: oninput, value: @text, style: style) end end private def style styles = {} styles[:width] = Dimensions.length(@width) if @width styles end end end
Version data entries
6 entries across 6 versions & 2 rubygems