Link value of OHInput, make combinedInputElement more resilient; formatting

This commit is contained in:
pietervdvn 2021-06-24 02:33:26 +02:00
parent 6efc928bb5
commit 570cbc67ce
2 changed files with 8 additions and 7 deletions

View file

@ -24,13 +24,13 @@ export default class CombinedInputElement<T, J, X> extends InputElement<X> {
}, [b.IsSelected])
this._combined = new Combine([this._a, this._b]);
this._value = this._a.GetValue().map(
t => combine(t, this._b.GetValue().data),
t => combine(t, this._b?.GetValue()?.data),
[this._b.GetValue()],
)
.addCallback(x => {
const [t, j] = split(x)
this._a.GetValue().setData(t)
this._b.GetValue().setData(j)
this._a.GetValue()?.setData(t)
this._b.GetValue()?.setData(j)
})
}

View file

@ -264,11 +264,12 @@ export default class ValidatedTextField {
}
if (tp.inputHelper) {
input = new CombinedInputElement(input, tp.inputHelper(input.GetValue(), {
location: options.location,
mapBackgroundLayer: options.mapBackgroundLayer
const helper = tp.inputHelper(input.GetValue(), {
location: options.location,
mapBackgroundLayer: options.mapBackgroundLayer
}),
})
input = new CombinedInputElement(input, helper,
(a, _) => a, // We can ignore b, as they are linked earlier
a => [a, a]
);