The option object may need to be updated to handle this scenario. Your
problem presents an
excellent user case for use of the option object. I will take a look and see
how to improve it some time later.

Thanks,

Jian

On Thu, Sep 2, 2010 at 12:55 PM, Jade <[email protected]> wrote:

> Hi Jian,
>
> I first tried the option object; Is this definition correct?
>
> Option(uid: "degree") {
>                                 Selector(uid: "degree", clocator: [id:
> "aspect_vireo_admin_View_field_degree"])
>
>                                List(uid: "degree", clocator: [tag: "ol",
> id:
> "aspect_vireo_admin_View_field_degree"], separator: "li") {
>                                        Container(uid: "{all}", clocator:
> [:])
>                                }
>                        }
>
> If so, this call, getSelectOptions("DegreeInformationForm.degree"),
> gives me an error (as you thought it might) No signature of method:
> org.telluriumsource.ui.object.UiObject.getSelectOptions() is
> applicable for argument types: (org.telluriumsource.dsl.BaseDslContext
> $_getSelectOptions_closure27) values:
> [org.telluriumsource.dsl.BaseDslContext
> $_getselectoptions_closur...@67ee75a5]
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>
> so I'll try defining two Modules and including both of them and
> referring to the Selection once the user has clicked on the list.
>
> Jade
>
> On Sep 2, 11:20 am, Jian Fang <[email protected]> wrote:
> > Hi Jade,
> >
> > The getSelectedValue() only applies to the Selector object and thus, the
> > List object
> > does not have that method defined.
> >
> > Now, I understand your use case and seems the UI changes after the user
> > clicks on the list.
> > I would suggest you define two UI objects, one for the List and one for
> the
> > Selector, thus,
> > you could click on the List and then select on the Selector. That means
> you
> > may need to
> > defined two UI modules, one for the UI before the list click and one for
> > after the click.
> >
> > Tellurium does have an option object to represent two different runtime
> UIs,
> > but I am not
> > sure if it works for your case. More details here:
> >
> > http://code.google.com/p/aost/wiki/UserGuide070UIObjects#Option
> >
> > Thanks,
> >
> > Jian
> >
> > On Thu, Sep 2, 2010 at 12:01 PM, Jade <[email protected]> wrote:
> > > Hi Jian,
> >
> > > The fix allows my form to validate but I'm running into problems
> > > manipulating the lists. I think that the problems that I'm having may
> > > be caused by Ajax since the select list is only selectable once the
> > > user clicks on it. I tried out the 0.8.0 version with the List().
> >
> > > I get this error No signature of method:
> > > org.telluriumsource.ui.object.UiObject.getSelectedValue() is
> > > applicable for argument types: (org.telluriumsource.dsl.BaseDslContext
> > > $_getSelectedValue_closure32) values:
> > > [org.telluriumsource.dsl.BaseDslContext
> > > $_getselectedvalue_closur...@94b318]
> >
> > > Here's the json for the college list:
> >
> > > {"obj":{"uid":"college","locator":{"tag":"ol","attributes":
> > > {"id":"aspect_vireo_admin_View_field_college"}},"events":
> > > ["click"],"uiType":"List","separator":"li","metaData":
> > >
> {"id":"college","type":"UiObject"}},"key":"DegreeInformationForm.college"},
> > > {"obj":{"uid":"_all","locator":{},"uiType":"Container","metaData":
> > > {"id":"_all","index":
> >
> > >
> {"value":"all","type":"VAL"},"type":"List"}},"key":"DegreeInformationForm.college._all"}
> >
> > > and the module def:
> >
> > > public void defineModule() {
> > >                ui.Form(uid: "DegreeInformationForm", clocator: [tag:
> > > "form",
> > > method: "post", action: "${postAction}", class: "ds-interactive-div
> > > view-form", id: "aspect_vireo_admin_View_div_view-form"]) {
> > >                         InputBox(uid: "committee_member_2", clocator:
> [tag:
> > > "input", id:
> > > "aspect_vireo_admin_View_field_committee-member-2", type: "text"],
> > > respond: ["click"])
> > >                        InputBox(uid: "committee_member_1", clocator:
> [tag:
> > > "input", id:
> > > "aspect_vireo_admin_View_field_committee-member-1", type: "text"],
> > > respond: ["click"])
> > >                        List(uid: "degree", clocator: [tag: "ol", id:
> > > "aspect_vireo_admin_View_field_degree"], separator: "li", respond:
> > > ["click"]) {
> > >                                Container(uid: "{all}", clocator: [:])
> > >                        }
> > >                         InputBox(uid: "school", clocator: [tag:
> "input",
> > > id:
> > > "aspect_vireo_admin_View_field_school", type: "text"], respond:
> > > ["click"])
> > >                        InputBox(uid: "committee_email", clocator: [tag:
> > > "input", id:
> > > "aspect_vireo_admin_View_field_committee-email", type: "text"],
> > > respond: ["click"])
> > >                        InputBox(uid: "department", clocator: [tag:
> "input",
> > > id:
> > > "aspect_vireo_admin_View_field_department", type: "text"], respond:
> > > ["click"])
> > >                        List(uid: "college", clocator: [tag: "ol", id:
> > > "aspect_vireo_admin_View_field_college"], separator: "li", respond:
> > > ["click"]) {
> > >                                Container(uid: "{all}", clocator: [:])
> > >                        }
> > >                         InputBox(uid: "committee_member_3", clocator:
> [tag:
> > > "input", id:
> > > "aspect_vireo_admin_View_field_committee-member-3", type: "text"],
> > > respond: ["click"])
> > >                        InputBox(uid: "discipline", clocator: [tag:
> "input",
> > > id:
> > > "aspect_vireo_admin_View_field_discipline", type: "text"], respond:
> > > ["click"])
> > >                        InputBox(uid: "semester", clocator: [tag:
> "input",
> > > id:
> > > "aspect_vireo_admin_View_field_semester", type: "text"], respond:
> > > ["click"])
> > >                        List(uid: "degreeLevel", clocator: [tag: "ol",
> id:
> > > "aspect_vireo_admin_View_field_degreeLevel"], separator: "li",
> > > respond: ["click"]) {
> > >                                Container(uid: "{all}", clocator: [:])
> > >                        }
> > >                }
> >
> > > I'm using the following jars:
> >
> > > tellurium-core-0.8.0-20100831.183952-27.jar
> > > tellurium-udl-0.8.0-20100823.183714-19.jar
> > > selenium-server-1.0.1-te3.jar
> >
> > > Do you know why the call to getSelectedValue() is failing for the
> > > list?
> >
> > > BTW,  I changed the List to a Selector in the module definition (and
> > > the tag to "select" and the separator to "option" but then I get this
> > > exception:
> >
> > > ERROR: Specified element is not a Select (has no options)
> >
> > > The problem is the college is an ordered list until it's selected,
> > > then it becomes a select list.
> >
> > > UI Module DegreeInformationForm:
> >
> > > [{"obj":{"uid":"DegreeInformationForm","locator":
> > > {"tag":"form","attributes":{"id":"aspect_vireo_admin_View_div_view-
> > > form","action":"xmlui/vireo/admin/detail?update=true","class":"ds-
> > > interactive-div view-
> > > form","method":"post"}},"uiType":"Form","metaData":
> > > {"id":"DegreeInformationForm","type":"UiObject"}},{"obj":
> > > {"uid":"college","locator":{"tag":"ol","attributes":
> > > {"id":"aspect_vireo_admin_View_field_college"}},"events":
> > > ["click"],"uiType":"Selector","metaData":
> > >
> {"id":"college","type":"UiObject"}},"key":"DegreeInformationForm.college"}]
> >
> > > -----
> > > Diagnosis Result for DegreeInformationForm.college
> >
> > > -------------------------------------------------------
> >
> > >        Matching count: 1
> >
> > >        Match Elements:
> >
> > >        --- Element 1 -->
> >
> > > <ol alt="fakefield_18" title=""
> > > id="aspect_vireo_admin_View_field_college" class="fakeField fakeSelect
> > > ds-select-field college editable"><li class="hidden" id="">none</
> > > li><li class="selected" id="Information">Information</li><li
> > > class="hidden" id="Test College4">Test College4</li><li class="hidden"
> > > id="Test College3">Test College3</li><li class="hidden" id="Test
> > > College2">Test College2</li><li class="hidden" id="Test College1">Test
> > > College1</li><li class="hidden" id="CS">CS</li></ol>
> >
> > > -------
> > > The diagnosis is finding the fake tag which matches what firefox sees
> > > but it doesn't match the page source:
> >
> > > When I inspect the HTML for the select element in firefox, the list is
> > > hidden:
> >
> > > <ol class="fakeField fakeSelect ds-select-field college editable"
> > > id="aspect_vireo_admin_View_field_college" title=""
> > > alt="fakefield_18"><li id="" class="hidden">none</li><li
> > > id="Information" class="selected">Information</li><li id="Test
> > > College4" class="hidden">Test College4</li><li id="Test College3"
> > > class="hidden">Test College3</li><li id="Test College2"
> > > class="hidden">Test College2</li><li id="Test College1"
> > > class="hidden">Test College1</li><li id="CS" class="hidden">CS</li></
> > > ol>
> >
> > > However, the html page source for the same select list is:
> >
> > > <select id="aspect_vireo_admin_View_field_college" class="ds-select-
> > > field college editable" name="college">
> > > <option value="">none</option>
> > > <option value="Information" selected="selected">Information</option>
> > > <option value="Test College4">Test College4</option>
> > > <option value="Test College3">Test College3</option>
> > > <option value="Test College2">Test College2</option>
> >
> > > <option value="Test College1">Test College1</option>
> > > <option value="CS">CS</option>
> > > </select>
> >
> > > Jade
> >
> > > On Aug 31, 2:59 pm, Jade <[email protected]> wrote:
> > > > Thanks very much Jian for the quick fix! I'll try it out when I'm
> back
> > > > in the office on Thurs.
> >
> > > > Jade
> >
> > > > I'm having trouble finding the latest
> >
> > > > On Aug 31, 1:45 pm, Jian Fang <[email protected]> wrote:
> >
> > > > > Fixed on trunk/core, please update from our Maven repo or download
> it
> > > from:
> >
> > > > >
> http://maven.kungfuters.org/content/repositories/snapshots/org/tellur.
> > > ..
> >
> > > > > Please let us know if you have any further problems.
> >
> > > > > Thanks,
> >
> > > > > Jian
> >
> > > > > On Tue, Aug 31, 2010 at 2:24 PM, Jian Fang <
> [email protected]>
> > > wrote:
> > > > > > Look a bit closer and I see the problem here:
> >
> > > > > > "events":[Ljava.lang.String;@58f41393
> >
> > > > > > Seems the toJSON method in the List object has a bug there. I
> will
> > > fix it
> > > > > > soon.
> >
> > > > > > Thanks again,
> >
> > > > > > Jian
> >
> > > > > > On Tue, Aug 31, 2010 at 1:49 PM, Jian Fang <
> [email protected]
> > > >wrote:
> >
> > > > > >> But the json parse error is an issue there, I will look into it.
> >
> > > > > >> Thanks for reporting this.
> >
> > > > > >> Jian
> >
> > > > > >> On Tue, Aug 31, 2010 at 1:25 PM, Jian Fang <
> > > [email protected]>wrote:
> >
> > > > > >>> Hi Jade,
> >
> > > > > >>> Why you need to use List for a selector? Shouldn't the Selector
> > > object
> > > > > >>> satisfy your need?
> > > > > >>> That is to say, your UI module could be like
> >
> > > > > >>>                 ui.Form(uid: "DegreeInformationForm", clocator:
> > > [tag:
> > > > > >>> "form", method: "post", action: "${postAction}", class:
> > > > > >>> "ds-interactive-divview-form", id:
> > > "aspect_vireo_admin_View_div_view-form"])
> > > > > >>> {
> > > > > >>>              Selector(uid: "degree", clocator:
> > > > > >>> [id:"aspect_vireo_admin_View_field_degree" ]
> > > > > >>> }
> >
> > > > > >>> Then you could call selectByLabel, selectByValue, or
> selectByIndex.
> >
> > > > > >>> Thanks,
> >
> > > > > >>> Jian
> >
> > > > > >>> On Mon, Aug 30, 2010 at 12:24 PM, Jade <[email protected]>
> wrote:
> >
> > > > > >>>> Hi,
> >
> > > > > >>>> We have an ajax powered list that is clickable. In order to
> > > manipulate
> > > > > >>>> the list, the user first selects it. This replaces the "fake
> HTML"
> > > > > >>>> with select list HTML.
> >
> > > > > >>>> However, the list has a json parse error until I remove the
> > > respond:
> > > > > >>>> ["click"] option. But, then the list cannot be clicked and
> > > manipulated
> > > > > >>>> in the code.
> >
> > > > > >>>> Here's the module as I'd like to define it:
> > > > > >>>> String postAction =
> >
> > ...
> >
> > read more ยป
>
> --
> You received this message because you are subscribed to the Google Groups
> "tellurium-users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<tellurium-users%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/tellurium-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"tellurium-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/tellurium-users?hl=en.

Reply via email to