From b87c8a0a6f03f8ef620f503220fa69109b8a5920 Mon Sep 17 00:00:00 2001 From: Pietro Vertechi Date: Fri, 29 Mar 2019 12:28:51 +0000 Subject: [PATCH] back to using numericValue (#131) --- src/input.jl | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/src/input.jl b/src/input.jl index ff90218..2372238 100644 --- a/src/input.jl +++ b/src/input.jl @@ -158,42 +158,15 @@ function input(::WidgetTheme, o; extra_js=js"", extra_obs=[], label=nothing, typ (o isa AbstractObservable) || (o = Observable(o)) (changes isa AbstractObservable) || (changes = Observable(changes)) data = Pair{String, Any}["changes" => changes, bindto => o] - if isnumeric - bindtoString = bindto*"String" - oString = Observable(string(something(o[], ""))) - push!(data, bindtoString => oString) - string_js = js""" - var obs = this.$(WebIO.JSString(bindto)); - var obsString = this.$(WebIO.JSString(bindtoString)); - obsString.subscribe(function(value) { - var val = parseFloat(value); - if (!isNaN(val)) { - obs(val); - } - }) - obs.subscribe(function(value) { - var str = JSON.stringify(value); - if ((str == "0") && (["-0", "-0."].indexOf(obsString()) >= 0)) - return; - if (["null", ""].indexOf(str) >= 0) - return; - obsString(str); - }) - """ - extra_js = js""" - $string_js - $extra_js - """ - else - bindtoString = bindto - oString = o + if isnumeric && bind == "value" + bind = "numericValue" end append!(data, (string(key) => val for (key, val) in extra_obs)) countChanges = js_lambda("this.changes(this.changes()+1)") attrDict = merge( attributes, Dict(:type => typ, - Symbol("data-bind") => "$bind: $bindtoString, valueUpdate: '$valueUpdate', event: {change: $countChanges}" + Symbol("data-bind") => "$bind: $bindto, valueUpdate: '$valueUpdate', event: {change: $countChanges}" ) ) className = mergeclasses(getclass(:input, wdgtyp), className)