The current implementation of the integer bindingFilter returns 0 for empty strings which is ok.
see: https://github.com/gmac/backbone.epoxy/blob/master/backbone.epoxy.js#L962
I want to add a bindingFilter which returns undefined for empty input fields (i.e. empty strings). It looks like this (CoffeeScript):
bindingFilters:
integerOrUndefined:
get: (value) ->
if value then parseInt(value, 10) else undefined
set: ( value ) ->
if value then parseInt(value, 10) else undefined
If I use this bindingFilter and the user enters integers to the input fields the attribute value gets set correctly. If the user clears the input field the set function also correctly gets triggered and returns undefined as expected. However the according attribute never gets set to undefined.
I think this issue is due to a special handling of undefined values in backbone.epoxy. Is there any workaround for this?
The current implementation of the
integerbindingFilter returns0for empty strings which is ok.see: https://github.com/gmac/backbone.epoxy/blob/master/backbone.epoxy.js#L962
I want to add a bindingFilter which returns undefined for empty input fields (i.e. empty strings). It looks like this (CoffeeScript):
If I use this bindingFilter and the user enters integers to the input fields the attribute value gets set correctly. If the user clears the input field the
setfunction also correctly gets triggered and returnsundefinedas expected. However the according attribute never gets set toundefined.I think this issue is due to a special handling of undefined values in
backbone.epoxy. Is there any workaround for this?