Client-side exception with a select tree in a repeat

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Client-side exception with a select tree in a repeat

Miro
Hello, 

I have been trying to implement a simple select control with a xxforms:tree appearance inside a repeat, but it seems that I may have run into a possible bug in Orbeon XForms. Attached to this post you should find a simple XForms page which can be run in the sandbox and offers two products with the associated services which may be selected. Products are stored in the products-instance and list of all available services and sub-services is in the services-instance. There's also a button which allows you to add another product. 

Now, all is well when the page is initially loaded - you can check or un-check services and the products-instance is correctly updated. However, if you try to add another product (thus modifying the products-instance's list of "product" nodes) a client-side code exception will occur saying "Cannot call method 'getRoot' of undefined". 

Orbeon engine version is TAG_OPS_3_8_0_201005141856.

Thanks in advance, 
Miro



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws

test.xhtml (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Client-side exception with a select tree in a repeat

Alessandro  Vernet
Administrator
Miro,

Thank you for the test case. We'll look into this and follow up here.
The tree is rarely used in repeats; there is some special
initialization code we need to run when an iteration is added, and
there might be a glitch somewhere. Hopefully this is a simple one to
fix. I'll follow-up here as soon as I have have an update for you.

Alex

On Tuesday, February 22, 2011, Miroslav Plese
<[hidden email]> wrote:
> Hello,
> I have been trying to implement a simple select control with a xxforms:tree appearance inside a repeat, but it seems that I may have run into a possible bug in Orbeon XForms. Attached to this post you should find a simple XForms page which can be run in the sandbox and offers two products with the associated services which may be selected. Products are stored in the products-instance and list of all available services and sub-services is in the services-instance. There's also a button which allows you to add another product.
> Now, all is well when the page is initially loaded - you can check or un-check services and the products-instance is correctly updated. However, if you try to add another product (thus modifying the products-instance's list of "product" nodes) a client-side code exception will occur saying "Cannot call method 'getRoot' of undefined".
> Orbeon engine version is TAG_OPS_3_8_0_201005141856.
> Thanks in advance, Miro
>

--
Orbeon Forms - Web forms, open-source, for the Enterprise -
http://www.orbeon.com/
My Twitter: http://twitter.com/avernet


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: Re: Client-side exception with a select tree in a repeat

Miro
Hi Alex,

Thanks for checking this, I hope there will be a fix available soon. 

I was considering a work-around at one point - to code these check-box trees in pure Javascript and then to update the products-instance via function ORBEON.xforms.Document.setValue. Unfortunatelly, this could not work because setValue requires a unique ID of an XForms control to be provided, and in this scenario where each repeated product has to have its own hidden XForm input control in order to associate it with the proper node in products-instance, setValue cannot be used to update specific controls because they all share the same ID. Dynamic generation of Orbeon XForm control's IDs is not possible, as far as I know.

Best Regards,
Miro



From: "Alessandro Vernet" <[hidden email]>
To: [hidden email]
Sent: Saturday, February 26, 2011 10:36:33 AM
Subject: [ops-users] Re: Client-side exception with a select tree in a repeat

Miro,

Thank you for the test case. We'll look into this and follow up here.
The tree is rarely used in repeats; there is some special
initialization code we need to run when an iteration is added, and
there might be a glitch somewhere. Hopefully this is a simple one to
fix. I'll follow-up here as soon as I have have an update for you.

Alex

On Tuesday, February 22, 2011, Miroslav Plese
<[hidden email]> wrote:
> Hello,
> I have been trying to implement a simple select control with a xxforms:tree appearance inside a repeat, but it seems that I may have run into a possible bug in Orbeon XForms. Attached to this post you should find a simple XForms page which can be run in the sandbox and offers two products with the associated services which may be selected. Products are stored in the products-instance and list of all available services and sub-services is in the services-instance. There's also a button which allows you to add another product.
> Now, all is well when the page is initially loaded - you can check or un-check services and the products-instance is correctly updated. However, if you try to add another product (thus modifying the products-instance's list of "product" nodes) a client-side code exception will occur saying "Cannot call method 'getRoot' of undefined".
> Orbeon engine version is TAG_OPS_3_8_0_201005141856.
> Thanks in advance, Miro
>

--
Orbeon Forms - Web forms, open-source, for the Enterprise -
http://www.orbeon.com/
My Twitter: http://twitter.com/avernet


[Text File:message-footer.txt]



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Client-side exception with a select tree in a repeat

Alessandro  Vernet
Administrator
Miro,

I tried this with a nightly build, and both the example you attached
and the test case I had are working fine. When you get a chance to try
out a nightly build, you'll let us know how it works for you.

Alex

On Mon, Feb 28, 2011 at 8:25 AM, Miroslav Plese
<[hidden email]> wrote:

> Hi Alex,
> Thanks for checking this, I hope there will be a fix available soon.
> I was considering a work-around at one point - to code these check-box trees
> in pure Javascript and then to update the products-instance via function
> ORBEON.xforms.Document.setValue. Unfortunatelly, this could not work because
> setValue requires a unique ID of an XForms control to be provided, and in
> this scenario where each repeated product has to have its own hidden XForm
> input control in order to associate it with the proper node in
> products-instance, setValue cannot be used to update specific controls
> because they all share the same ID. Dynamic generation of Orbeon XForm
> control's IDs is not possible, as far as I know.
> Best Regards,
> Miro
>
> ________________________________
>
> From: "Alessandro Vernet" <[hidden email]>
> To: [hidden email]
> Sent: Saturday, February 26, 2011 10:36:33 AM
> Subject: [ops-users] Re: Client-side exception with a select tree in a
> repeat
>
> Miro,
>
> Thank you for the test case. We'll look into this and follow up here.
> The tree is rarely used in repeats; there is some special
> initialization code we need to run when an iteration is added, and
> there might be a glitch somewhere. Hopefully this is a simple one to
> fix. I'll follow-up here as soon as I have have an update for you.
>
> Alex
>
> On Tuesday, February 22, 2011, Miroslav Plese
> <[hidden email]> wrote:
>> Hello,
>> I have been trying to implement a simple select control with a
>> xxforms:tree appearance inside a repeat, but it seems that I may have run
>> into a possible bug in Orbeon XForms. Attached to this post you should find
>> a simple XForms page which can be run in the sandbox and offers two products
>> with the associated services which may be selected. Products are stored in
>> the products-instance and list of all available services and sub-services is
>> in the services-instance. There's also a button which allows you to add
>> another product.
>> Now, all is well when the page is initially loaded - you can check or
>> un-check services and the products-instance is correctly updated. However,
>> if you try to add another product (thus modifying the products-instance's
>> list of "product" nodes) a client-side code exception will occur saying
>> "Cannot call method 'getRoot' of undefined".
>> Orbeon engine version is TAG_OPS_3_8_0_201005141856.
>> Thanks in advance, Miro
>>
>
> --
> Orbeon Forms - Web forms, open-source, for the Enterprise -
> http://www.orbeon.com/
> My Twitter: http://twitter.com/avernet
>
>
> [Text File:message-footer.txt]
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing
> list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
Orbeon Forms - Web forms, open-source, for the Enterprise -
http://www.orbeon.com/
My Twitter: http://twitter.com/avernet


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Client-side exception with a select tree in a repeat

Miro
Hi Alex,

Indeed the nightly build works fine with the test case, so now I am in the process of migrating the server. Something I noticed and you should probably take a look into - on the Orbeon XForms Controls public demo site, on the tab Typed Controls, if I click on the read-only date label in the Date Picker example (second row, third from the left) I get a Javascript error in IE7 stating that "'YAHOO.util.Dom.getElementsByClassName(...).0.value' is null or not an object".

Thanks for your help!

Best Regards,
Miro


From: "Alessandro Vernet" <[hidden email]>
To: [hidden email]
Sent: Monday, February 28, 2011 7:40:02 PM
Subject: [ops-users] Re: Re: Re: Client-side exception with a select tree in a repeat

Miro,

I tried this with a nightly build, and both the example you attached
and the test case I had are working fine. When you get a chance to try
out a nightly build, you'll let us know how it works for you.

Alex

On Mon, Feb 28, 2011 at 8:25 AM, Miroslav Plese
<[hidden email]> wrote:

> Hi Alex,
> Thanks for checking this, I hope there will be a fix available soon.
> I was considering a work-around at one point - to code these check-box trees
> in pure Javascript and then to update the products-instance via function
> ORBEON.xforms.Document.setValue. Unfortunatelly, this could not work because
> setValue requires a unique ID of an XForms control to be provided, and in
> this scenario where each repeated product has to have its own hidden XForm
> input control in order to associate it with the proper node in
> products-instance, setValue cannot be used to update specific controls
> because they all share the same ID. Dynamic generation of Orbeon XForm
> control's IDs is not possible, as far as I know.
> Best Regards,
> Miro
>
> ________________________________
>
> From: "Alessandro Vernet" <[hidden email]>
> To: [hidden email]
> Sent: Saturday, February 26, 2011 10:36:33 AM
> Subject: [ops-users] Re: Client-side exception with a select tree in a
> repeat
>
> Miro,
>
> Thank you for the test case. We'll look into this and follow up here.
> The tree is rarely used in repeats; there is some special
> initialization code we need to run when an iteration is added, and
> there might be a glitch somewhere. Hopefully this is a simple one to
> fix. I'll follow-up here as soon as I have have an update for you.
>
> Alex
>
> On Tuesday, February 22, 2011, Miroslav Plese
> <[hidden email]> wrote:
>> Hello,
>> I have been trying to implement a simple select control with a
>> xxforms:tree appearance inside a repeat, but it seems that I may have run
>> into a possible bug in Orbeon XForms. Attached to this post you should find
>> a simple XForms page which can be run in the sandbox and offers two products
>> with the associated services which may be selected. Products are stored in
>> the products-instance and list of all available services and sub-services is
>> in the services-instance. There's also a button which allows you to add
>> another product.
>> Now, all is well when the page is initially loaded - you can check or
>> un-check services and the products-instance is correctly updated. However,
>> if you try to add another product (thus modifying the products-instance's
>> list of "product" nodes) a client-side code exception will occur saying
>> "Cannot call method 'getRoot' of undefined".
>> Orbeon engine version is TAG_OPS_3_8_0_201005141856.
>> Thanks in advance, Miro
>>
>
> --
> Orbeon Forms - Web forms, open-source, for the Enterprise -
> http://www.orbeon.com/
> My Twitter: http://twitter.com/avernet
>
>
> [Text File:message-footer.txt]
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing
> list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>



--
Orbeon Forms - Web forms, open-source, for the Enterprise -
http://www.orbeon.com/
My Twitter: http://twitter.com/avernet


[Text File:message-footer.txt]



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Re: Client-side exception with a select tree in a repeat

Alessandro  Vernet
Administrator
Hi Miro,

Good catch; thanks! This is now fixed; the fix will be in the next
nightly build. For reference, the bug and commit are:

https://github.com/orbeon/orbeon-forms/commit/562551eeda5caa5ed81a8e039c7cabb90c440d7d
http://forge.ow2.org/tracker/index.php?func=detail&aid=315874&group_id=168&atid=350207

Alex

On Thu, Mar 3, 2011 at 12:52 AM, Miroslav Plese
<[hidden email]> wrote:

> Hi Alex,
> Indeed the nightly build works fine with the test case, so now I am in the
> process of migrating the server. Something I noticed and you should probably
> take a look into - on the Orbeon XForms Controls public demo site, on the
> tab Typed Controls, if I click on the read-only date label in the Date
> Picker example (second row, third from the left) I get a Javascript error in
> IE7 stating that "'YAHOO.util.Dom.getElementsByClassName(...).0.value' is
> null or not an object".
> Thanks for your help!
> Best Regards,
> Miro
>
> ________________________________
>
> From: "Alessandro Vernet" <[hidden email]>
> To: [hidden email]
> Sent: Monday, February 28, 2011 7:40:02 PM
> Subject: [ops-users] Re: Re: Re: Client-side exception with a select tree in
> a repeat
>
> Miro,
>
> I tried this with a nightly build, and both the example you attached
> and the test case I had are working fine. When you get a chance to try
> out a nightly build, you'll let us know how it works for you.
>
> Alex
>
> On Mon, Feb 28, 2011 at 8:25 AM, Miroslav Plese
> <[hidden email]> wrote:
>> Hi Alex,
>> Thanks for checking this, I hope there will be a fix available soon.
>> I was considering a work-around at one point - to code these check-box
>> trees
>> in pure Javascript and then to update the products-instance via function
>> ORBEON.xforms.Document.setValue. Unfortunatelly, this could not work
>> because
>> setValue requires a unique ID of an XForms control to be provided, and in
>> this scenario where each repeated product has to have its own hidden XForm
>> input control in order to associate it with the proper node in
>> products-instance, setValue cannot be used to update specific controls
>> because they all share the same ID. Dynamic generation of Orbeon XForm
>> control's IDs is not possible, as far as I know.
>> Best Regards,
>> Miro
>>
>> ________________________________
>>
>> From: "Alessandro Vernet" <[hidden email]>
>> To: [hidden email]
>> Sent: Saturday, February 26, 2011 10:36:33 AM
>> Subject: [ops-users] Re: Client-side exception with a select tree in a
>> repeat
>>
>> Miro,
>>
>> Thank you for the test case. We'll look into this and follow up here.
>> The tree is rarely used in repeats; there is some special
>> initialization code we need to run when an iteration is added, and
>> there might be a glitch somewhere. Hopefully this is a simple one to
>> fix. I'll follow-up here as soon as I have have an update for you.
>>
>> Alex
>>
>> On Tuesday, February 22, 2011, Miroslav Plese
>> <[hidden email]> wrote:
>>> Hello,
>>> I have been trying to implement a simple select control with a
>>> xxforms:tree appearance inside a repeat, but it seems that I may have run
>>> into a possible bug in Orbeon XForms. Attached to this post you should
>>> find
>>> a simple XForms page which can be run in the sandbox and offers two
>>> products
>>> with the associated services which may be selected. Products are stored
>>> in
>>> the products-instance and list of all available services and sub-services
>>> is
>>> in the services-instance. There's also a button which allows you to add
>>> another product.
>>> Now, all is well when the page is initially loaded - you can check or
>>> un-check services and the products-instance is correctly updated.
>>> However,
>>> if you try to add another product (thus modifying the products-instance's
>>> list of "product" nodes) a client-side code exception will occur saying
>>> "Cannot call method 'getRoot' of undefined".
>>> Orbeon engine version is TAG_OPS_3_8_0_201005141856.
>>> Thanks in advance, Miro
>>>
>>
>> --
>> Orbeon Forms - Web forms, open-source, for the Enterprise -
>> http://www.orbeon.com/
>> My Twitter: http://twitter.com/avernet
>>
>>
>> [Text File:message-footer.txt]
>>
>>
>>
>> --
>> You receive this message as a subscriber of the [hidden email] mailing
>> list.
>> To unsubscribe: mailto:[hidden email]
>> For general help: mailto:[hidden email]?subject=help
>> OW2 mailing lists service home page: http://www.ow2.org/wws
>>
>>
>
>
>
> --
> Orbeon Forms - Web forms, open-source, for the Enterprise -
> http://www.orbeon.com/
> My Twitter: http://twitter.com/avernet
>
>
> [Text File:message-footer.txt]
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing
> list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
Orbeon Forms - Web forms, open-source, for the Enterprise -
http://www.orbeon.com/
My Twitter: http://twitter.com/avernet


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet