ProgressNS / nativescript-ui-feedback

This repository is used for customer feedback regarding Telerik UI for NativeScript. The issues system here is used by customers who want to submit their feature requests or vote for existing ones.
Other
115 stars 21 forks source link

Error when source contains nested properties, using 'ignore' in 'metadata' does not help #831

Closed Mitko-Kerezov closed 6 years ago

Mitko-Kerezov commented 6 years ago

Please, provide the details below:

Did you verify this is a real problem by searching the NativeScript Forum?

Yes

Tell us about the problem

RadDataForm's ignore option doesn't work as expected. It creates an editor for a field and then hides it whereas it shouldn't create an editor in the first place.

Which platform(s) does your issue occur on?

Both

Please provide the following version numbers that your issue occurs with:

Please tell us how to recreate the issue in as much detail as possible.

Please see this playground app. The behavior I get when I scan for Android is an exception java.lang.Error: DataFormTextEditor does not support properties of type JSONObject. Please specify a value converter for your property. This is caused by the contact nested object inside the customer source object. I shouldn't be getting this exception as I've stated that contact should be ignored.

Note This exception does not occur on iOS because on iOS the editor is successfully created and then hidden. This does not mean that the problem doesn't manifest itself on iOS - only that it is less visible.

VladimirAmiorkov commented 6 years ago

Hi,

The idea of the metadata is to provide additional information about each property of the bound to the source data object rather than change it by manipulating it. By design it is used to basically "change/setup" the editor, validator etc. that will be used to "edit" the bound property, which is why it should not provide information that will entirely disable the creation of the related editor, validators etc.

With that said we see that it would be good to not throw and error when a "nested" object (json) is provided to be a "property" and we are working on a fix that will simple parse such object to strings and associate them with a simple "text editor", so that you can later on use the "ignore" to hide that text editor.

I will edit the title of the issue to illustrate the current issue of an error while having "nested" properties bound to the source when using metadata.

adisaro commented 4 years ago

Hello, I have an almost identical problem with JSONArray: java.lang.Error: DataFormTextEditor does not support properties of type JSONArray. Please specify a value converter for your property.

I updated the playground to reflect the problem (just added [] to the customer() object): https://play.nativescript.org/?template=play-ng&id=H4qRW4&v=6

Hope it's ok if I just comment here