require.config({baseUrl: "http://ibm-js.github.io/libraries/master/"});
require(["liaison-build/layer"], function () {
require([
"decor/Observable",
"liaison/ObservablePath"
], function (Observable, ObservablePath) {
var observable = new Observable({foo: new Observable({bar: "Bar0"})}),
observablePath = new ObservablePath(observable, "foo.bar"),
input = document.querySelector("input"),
text = document.querySelector("span").appendChild(document.createTextNode("")),
initialValue = observablePath.open(function (newValue, oldValue) {
input.value = newValue;
text.nodeValue = newValue;
});
input.value = initialValue;
text.nodeValue = initialValue;
input.addEventListener("input", function (event) {
// Ends up with observable.foo.set("bar", input.value);
observablePath.setValue(input.value);
});
});
});