addMenuAspect:collection:selectedToAspect:of:

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

addMenuAspect:collection:selectedToAspect:of:

Dirk Verleysen-2
Janko,

Is there an example of this available ? I guess I can use this to create a kind of dropdownlist ?

I use "anElement addMenuAspect: #name collection: self observee seasonColl selectedToAspect: #season of: self observee." but by the time my HTML is generated my aspectToStore has become #name and my objectToStore is nil.

Dirk
------------- volgend deel ------------
Een HTML-bijlage is verwijderd...
URL: http://lists.aidaweb.si/pipermail/aida/attachments/20071015/86661117/attachment.htm 

Reply | Threaded
Open this post in threaded view
|

addMenuAspect:collection:selectedToAspect:of:

Dirk Verleysen-2
Rebooted my laptop and now it seems to work.
  ----- Original Message -----
  From: Dirk Verleysen
  To: AIDA/Web general discussion list
  Sent: Monday, October 15, 2007 10:03 AM
  Subject: [aida] addMenuAspect:collection:selectedToAspect:of:


  Janko,

  Is there an example of this available ? I guess I can use this to create a kind of dropdownlist ?

  I use "anElement addMenuAspect: #name collection: self observee seasonColl selectedToAspect: #season of: self observee." but by the time my HTML is generated my aspectToStore has become #name and my objectToStore is nil.

  Dirk


------------------------------------------------------------------------------


  _______________________________________________
  Aida mailing list
  Aida op aidaweb.si
  http://lists.aidaweb.si/mailman/listinfo/aida
------------- volgend deel ------------
Een HTML-bijlage is verwijderd...
URL: http://lists.aidaweb.si/pipermail/aida/attachments/20071015/485947f1/attachment.htm 

Reply | Threaded
Open this post in threaded view
|

addMenuAspect:collection:selectedToAspect:of:

Janko Mivšek
In reply to this post by Dirk Verleysen-2
Hi Dirk,

Dirk Verleysen wrote:

> Is there an example of this available ? I guess I can use this to create
> a kind of dropdownlist ?

In HTML it called menu
http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
there is a WebMenu and here s short example of usage:


menu := WebMenu
          aspect: #name
          collection: self authors
          selectedToAspect: #author
          of: self.

or with convenience method:

anElement addMenuAspect:collection:selectedToAspect:of:


Here you select an author by name from self authors and save selected
object (not a name string!) to aspect #author (this calls
accessor/mutator #author and #author: ) of self. Note that if there is
author selected from before, it will be preselected.


>  
> I use "anElement addMenuAspect: #name collection: self observee
> seasonColl selectedToAspect: #season of: self observee." but by the time
> my HTML is generated my aspectToStore has become #name and my
> objectToStore is nil.

And this you already solved by yourself.

Best regards
Janko

--
Janko Miv?ek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

addMenuAspect:collection:selectedToAspect:of:

Dirk Verleysen-2
Can I send an event after an item in the menu is selected ? I want 3 menus
on 1 form and the collection of the 2nd menu is dependent on the selection
of the first menu. The collection of the 3th menu is created after you know
what was selected in the 2nd menu.

Dirk


----- Original Message -----
From: "Janko Miv?ek" <janko.mivsek op eranova.si>
To: "AIDA/Web general discussion list" <aida op aidaweb.si>
Sent: Monday, October 15, 2007 10:58 AM
Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:


> Hi Dirk,
>
> Dirk Verleysen wrote:
>
>> Is there an example of this available ? I guess I can use this to create
>> a kind of dropdownlist ?
>
> In HTML it called menu
> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
> there is a WebMenu and here s short example of usage:
>
>
> menu := WebMenu
>   aspect: #name
>   collection: self authors
>   selectedToAspect: #author
>   of: self.
>
> or with convenience method:
>
> anElement addMenuAspect:collection:selectedToAspect:of:
>
>
> Here you select an author by name from self authors and save selected
> object (not a name string!) to aspect #author (this calls
> accessor/mutator #author and #author: ) of self. Note that if there is
> author selected from before, it will be preselected.
>
>
>>
>> I use "anElement addMenuAspect: #name collection: self observee
>> seasonColl selectedToAspect: #season of: self observee." but by the time
>> my HTML is generated my aspectToStore has become #name and my
>> objectToStore is nil.
>
> And this you already solved by yourself.
>
> Best regards
> Janko
>
> --
> Janko Miv?ek
> AIDA/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
> _______________________________________________
> Aida mailing list
> Aida op aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida
>


Reply | Threaded
Open this post in threaded view
|

Dropdown menus (was: addMenuAspect:...)

Janko Mivšek
Dirk Verleysen wrote:
> Can I send an event after an item in the menu is selected ? I want 3 menus
> on 1 form and the collection of the 2nd menu is dependent on the selection
> of the first menu. The collection of the 3th menu is created after you know
> what was selected in the 2nd menu.

This is very common pattern and very nicely solved with Ajax updating of
an element containing all three menus. For that you use
onChangePostAndUpdate: on your menus:

menusElement
   | e |
   e := WebElement new.

   menu1 := WebMenu aspect: ....
   menu1 onCangePostAndUpdate: e.
   e add: menu1; addBreak.

   menu2 := WebMenu aspect: ....
   menu2 onCangePostAndUpdate: e.
   e add: menu2; addBreak.

   menu3 := WebMenu aspect: ....
   e add: menu3.
   ^e

Janko

> ----- Original Message -----
> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
> Sent: Monday, October 15, 2007 10:58 AM
> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>
>
>> Hi Dirk,
>>
>> Dirk Verleysen wrote:
>>
>>> Is there an example of this available ? I guess I can use this to create
>>> a kind of dropdownlist ?
>> In HTML it called menu
>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
>> there is a WebMenu and here s short example of usage:
>>
>>
>> menu := WebMenu
>>   aspect: #name
>>   collection: self authors
>>   selectedToAspect: #author
>>   of: self.
>>
>> or with convenience method:
>>
>> anElement addMenuAspect:collection:selectedToAspect:of:
>>
>>
>> Here you select an author by name from self authors and save selected
>> object (not a name string!) to aspect #author (this calls
>> accessor/mutator #author and #author: ) of self. Note that if there is
>> author selected from before, it will be preselected.
>>
>>
>>> I use "anElement addMenuAspect: #name collection: self observee
>>> seasonColl selectedToAspect: #season of: self observee." but by the time
>>> my HTML is generated my aspectToStore has become #name and my
>>> objectToStore is nil.
>> And this you already solved by yourself.
>>
>> Best regards
>> Janko

--
Janko Miv?ek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Dropdown menus (was: addMenuAspect:...)

Dirk Verleysen-2
Janko,

I'm doing this and the updates to the domain are done but the WebElement
that should be refreshed is simply removed. When I refresh the page it's
returned on the browser with the updated fields.

Dirk



----- Original Message -----
From: "Janko Miv?ek" <janko.mivsek op eranova.si>
To: "AIDA/Web general discussion list" <aida op aidaweb.si>
Sent: Monday, October 15, 2007 11:35 AM
Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)


> Dirk Verleysen wrote:
>> Can I send an event after an item in the menu is selected ? I want 3
>> menus
>> on 1 form and the collection of the 2nd menu is dependent on the
>> selection
>> of the first menu. The collection of the 3th menu is created after you
>> know
>> what was selected in the 2nd menu.
>
> This is very common pattern and very nicely solved with Ajax updating of
> an element containing all three menus. For that you use
> onChangePostAndUpdate: on your menus:
>
> menusElement
>   | e |
>   e := WebElement new.
>
>   menu1 := WebMenu aspect: ....
>   menu1 onCangePostAndUpdate: e.
>   e add: menu1; addBreak.
>
>   menu2 := WebMenu aspect: ....
>   menu2 onCangePostAndUpdate: e.
>   e add: menu2; addBreak.
>
>   menu3 := WebMenu aspect: ....
>   e add: menu3.
>   ^e
>
> Janko
>
>> ----- Original Message -----
>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>> Sent: Monday, October 15, 2007 10:58 AM
>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>
>>
>>> Hi Dirk,
>>>
>>> Dirk Verleysen wrote:
>>>
>>>> Is there an example of this available ? I guess I can use this to
>>>> create
>>>> a kind of dropdownlist ?
>>> In HTML it called menu
>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
>>> there is a WebMenu and here s short example of usage:
>>>
>>>
>>> menu := WebMenu
>>>   aspect: #name
>>>   collection: self authors
>>>   selectedToAspect: #author
>>>   of: self.
>>>
>>> or with convenience method:
>>>
>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>
>>>
>>> Here you select an author by name from self authors and save selected
>>> object (not a name string!) to aspect #author (this calls
>>> accessor/mutator #author and #author: ) of self. Note that if there is
>>> author selected from before, it will be preselected.
>>>
>>>
>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>> seasonColl selectedToAspect: #season of: self observee." but by the
>>>> time
>>>> my HTML is generated my aspectToStore has become #name and my
>>>> objectToStore is nil.
>>> And this you already solved by yourself.
>>>
>>> Best regards
>>> Janko
>
> --
> Janko Miv?ek
> AIDA/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
> _______________________________________________
> Aida mailing list
> Aida op aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida
>


Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Janko Mivšek
Dirk,

Dirk Verleysen wrote:

> I'm doing this and the updates to the domain are done but the WebElement
> that should be refreshed is simply removed. When I refresh the page it's
> returned on the browser with the updated fields.

Be sure that an updatable element is in the separate method and not
simply one of the elements in a method. This method must also return
just that element.

This is a rule for Ajax updatable elements - they must reside each in
its own method.

Best regards
Janko

>
> ----- Original Message -----
> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
> Sent: Monday, October 15, 2007 11:35 AM
> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>
>
>> Dirk Verleysen wrote:
>>> Can I send an event after an item in the menu is selected ? I want 3
>>> menus
>>> on 1 form and the collection of the 2nd menu is dependent on the
>>> selection
>>> of the first menu. The collection of the 3th menu is created after you
>>> know
>>> what was selected in the 2nd menu.
>> This is very common pattern and very nicely solved with Ajax updating of
>> an element containing all three menus. For that you use
>> onChangePostAndUpdate: on your menus:
>>
>> menusElement
>>   | e |
>>   e := WebElement new.
>>
>>   menu1 := WebMenu aspect: ....
>>   menu1 onCangePostAndUpdate: e.
>>   e add: menu1; addBreak.
>>
>>   menu2 := WebMenu aspect: ....
>>   menu2 onCangePostAndUpdate: e.
>>   e add: menu2; addBreak.
>>
>>   menu3 := WebMenu aspect: ....
>>   e add: menu3.
>>   ^e
>>
>> Janko
>>
>>> ----- Original Message -----
>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>> Sent: Monday, October 15, 2007 10:58 AM
>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>
>>>
>>>> Hi Dirk,
>>>>
>>>> Dirk Verleysen wrote:
>>>>
>>>>> Is there an example of this available ? I guess I can use this to
>>>>> create
>>>>> a kind of dropdownlist ?
>>>> In HTML it called menu
>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
>>>> there is a WebMenu and here s short example of usage:
>>>>
>>>>
>>>> menu := WebMenu
>>>>   aspect: #name
>>>>   collection: self authors
>>>>   selectedToAspect: #author
>>>>   of: self.
>>>>
>>>> or with convenience method:
>>>>
>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>
>>>>
>>>> Here you select an author by name from self authors and save selected
>>>> object (not a name string!) to aspect #author (this calls
>>>> accessor/mutator #author and #author: ) of self. Note that if there is
>>>> author selected from before, it will be preselected.
>>>>
>>>>
>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>> seasonColl selectedToAspect: #season of: self observee." but by the
>>>>> time
>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>> objectToStore is nil.
>>>> And this you already solved by yourself.
>>>>
>>>> Best regards
>>>> Janko
>> --
>> Janko Miv?ek
>> AIDA/Web
>> Smalltalk Web Application Server
>> http://www.aidaweb.si
>> _______________________________________________
>> Aida mailing list
>> Aida na aidaweb.si
>> http://lists.aidaweb.si/mailman/listinfo/aida
>>
>
> _______________________________________________
> Aida mailing list
> Aida na aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida

--
Janko Miv?ek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Dirk Verleysen-2
Ouch !!! Does this mean that I can't use styles for labels and other layouts
between the different menu's ?


----- Original Message -----
From: "Janko Miv?ek" <janko.mivsek op eranova.si>
To: "AIDA/Web general discussion list" <aida op aidaweb.si>
Sent: Monday, October 15, 2007 2:09 PM
Subject: Re: [aida] Dropdown menus


> Dirk,
>
> Dirk Verleysen wrote:
>
>> I'm doing this and the updates to the domain are done but the WebElement
>> that should be refreshed is simply removed. When I refresh the page it's
>> returned on the browser with the updated fields.
>
> Be sure that an updatable element is in the separate method and not
> simply one of the elements in a method. This method must also return
> just that element.
>
> This is a rule for Ajax updatable elements - they must reside each in
> its own method.
>
> Best regards
> Janko
>
>>
>> ----- Original Message -----
>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>> Sent: Monday, October 15, 2007 11:35 AM
>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>
>>
>>> Dirk Verleysen wrote:
>>>> Can I send an event after an item in the menu is selected ? I want 3
>>>> menus
>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>> selection
>>>> of the first menu. The collection of the 3th menu is created after you
>>>> know
>>>> what was selected in the 2nd menu.
>>> This is very common pattern and very nicely solved with Ajax updating of
>>> an element containing all three menus. For that you use
>>> onChangePostAndUpdate: on your menus:
>>>
>>> menusElement
>>>   | e |
>>>   e := WebElement new.
>>>
>>>   menu1 := WebMenu aspect: ....
>>>   menu1 onCangePostAndUpdate: e.
>>>   e add: menu1; addBreak.
>>>
>>>   menu2 := WebMenu aspect: ....
>>>   menu2 onCangePostAndUpdate: e.
>>>   e add: menu2; addBreak.
>>>
>>>   menu3 := WebMenu aspect: ....
>>>   e add: menu3.
>>>   ^e
>>>
>>> Janko
>>>
>>>> ----- Original Message -----
>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>>
>>>>
>>>>> Hi Dirk,
>>>>>
>>>>> Dirk Verleysen wrote:
>>>>>
>>>>>> Is there an example of this available ? I guess I can use this to
>>>>>> create
>>>>>> a kind of dropdownlist ?
>>>>> In HTML it called menu
>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
>>>>> there is a WebMenu and here s short example of usage:
>>>>>
>>>>>
>>>>> menu := WebMenu
>>>>>   aspect: #name
>>>>>   collection: self authors
>>>>>   selectedToAspect: #author
>>>>>   of: self.
>>>>>
>>>>> or with convenience method:
>>>>>
>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>
>>>>>
>>>>> Here you select an author by name from self authors and save selected
>>>>> object (not a name string!) to aspect #author (this calls
>>>>> accessor/mutator #author and #author: ) of self. Note that if there is
>>>>> author selected from before, it will be preselected.
>>>>>
>>>>>
>>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>>> seasonColl selectedToAspect: #season of: self observee." but by the
>>>>>> time
>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>> objectToStore is nil.
>>>>> And this you already solved by yourself.
>>>>>
>>>>> Best regards
>>>>> Janko
>>> --
>>> Janko Miv?ek
>>> AIDA/Web
>>> Smalltalk Web Application Server
>>> http://www.aidaweb.si
>>> _______________________________________________
>>> Aida mailing list
>>> Aida op aidaweb.si
>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>
>>
>> _______________________________________________
>> Aida mailing list
>> Aida op aidaweb.si
>> http://lists.aidaweb.si/mailman/listinfo/aida
>
> --
> Janko Miv?ek
> AIDA/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
> _______________________________________________
> Aida mailing list
> Aida op aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida
>


Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Janko Mivšek
Dirk Verleysen wrote:
> Ouch !!! Does this mean that I can't use styles for labels and other layouts
> between the different menu's ?

Why not? Put style also in a separate method and reuse it in many other
elements, like:

menuStyle
   ^'
font-size: 12px
'

menusElement
   ..
   menu1 style: self menuStyle.
   ..

Something like that. But even better would be of course to put CSS
styling into your WebStyle subclass and use menu class: #menuStyle etc.

Was that your question?

Janko

>
> ----- Original Message -----
> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
> Sent: Monday, October 15, 2007 2:09 PM
> Subject: Re: [aida] Dropdown menus
>
>
>> Dirk,
>>
>> Dirk Verleysen wrote:
>>
>>> I'm doing this and the updates to the domain are done but the WebElement
>>> that should be refreshed is simply removed. When I refresh the page it's
>>> returned on the browser with the updated fields.
>> Be sure that an updatable element is in the separate method and not
>> simply one of the elements in a method. This method must also return
>> just that element.
>>
>> This is a rule for Ajax updatable elements - they must reside each in
>> its own method.
>>
>> Best regards
>> Janko
>>
>>> ----- Original Message -----
>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>> Sent: Monday, October 15, 2007 11:35 AM
>>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>>
>>>
>>>> Dirk Verleysen wrote:
>>>>> Can I send an event after an item in the menu is selected ? I want 3
>>>>> menus
>>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>>> selection
>>>>> of the first menu. The collection of the 3th menu is created after you
>>>>> know
>>>>> what was selected in the 2nd menu.
>>>> This is very common pattern and very nicely solved with Ajax updating of
>>>> an element containing all three menus. For that you use
>>>> onChangePostAndUpdate: on your menus:
>>>>
>>>> menusElement
>>>>   | e |
>>>>   e := WebElement new.
>>>>
>>>>   menu1 := WebMenu aspect: ....
>>>>   menu1 onCangePostAndUpdate: e.
>>>>   e add: menu1; addBreak.
>>>>
>>>>   menu2 := WebMenu aspect: ....
>>>>   menu2 onCangePostAndUpdate: e.
>>>>   e add: menu2; addBreak.
>>>>
>>>>   menu3 := WebMenu aspect: ....
>>>>   e add: menu3.
>>>>   ^e
>>>>
>>>> Janko
>>>>
>>>>> ----- Original Message -----
>>>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>>>
>>>>>
>>>>>> Hi Dirk,
>>>>>>
>>>>>> Dirk Verleysen wrote:
>>>>>>
>>>>>>> Is there an example of this available ? I guess I can use this to
>>>>>>> create
>>>>>>> a kind of dropdownlist ?
>>>>>> In HTML it called menu
>>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
>>>>>> there is a WebMenu and here s short example of usage:
>>>>>>
>>>>>>
>>>>>> menu := WebMenu
>>>>>>   aspect: #name
>>>>>>   collection: self authors
>>>>>>   selectedToAspect: #author
>>>>>>   of: self.
>>>>>>
>>>>>> or with convenience method:
>>>>>>
>>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>>
>>>>>>
>>>>>> Here you select an author by name from self authors and save selected
>>>>>> object (not a name string!) to aspect #author (this calls
>>>>>> accessor/mutator #author and #author: ) of self. Note that if there is
>>>>>> author selected from before, it will be preselected.
>>>>>>
>>>>>>
>>>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>>>> seasonColl selectedToAspect: #season of: self observee." but by the
>>>>>>> time
>>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>>> objectToStore is nil.
>>>>>> And this you already solved by yourself.
>>>>>>
>>>>>> Best regards
>>>>>> Janko
>>>> --
>>>> Janko Miv?ek
>>>> AIDA/Web
>>>> Smalltalk Web Application Server
>>>> http://www.aidaweb.si
>>>> _______________________________________________
>>>> Aida mailing list
>>>> Aida na aidaweb.si
>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>>
>>> _______________________________________________
>>> Aida mailing list
>>> Aida na aidaweb.si
>>> http://lists.aidaweb.si/mailman/listinfo/aida
>> --
>> Janko Miv?ek
>> AIDA/Web
>> Smalltalk Web Application Server
>> http://www.aidaweb.si
>> _______________________________________________
>> Aida mailing list
>> Aida na aidaweb.si
>> http://lists.aidaweb.si/mailman/listinfo/aida
>>
>
> _______________________________________________
> Aida mailing list
> Aida na aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida

--
Janko Miv?ek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Dirk Verleysen-2
Not really...

I have the following html right now.

<div id="id39">
      <div class="editorLine">
       <div class="editorLineLabel">
       Seizoen:
       </div>
      <select onChange="var field = Form.Element.serialize('id40'); new
Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody: field
+ '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
id="id40" name="field23"><option></option><option
selected>2007-2008</option> </select>

      </div>
      <div class="editorLine">
       <div class="editorLineLabel">
       Serie:
       </div>
      <select onChange="var field = Form.Element.serialize('id41'); new
Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody: field
+ '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
id="id41" name="field24"><option></option><option>Duiveltjes -6</option>
<option>Duiveltjes -8</option> <option selected>Duiveltjes -7</option>
<option>Preminiemen -9</option> <option>Preminiemen -10</option>
<option>Miniemen B</option> <option>1e Ploeg</option>
<option>Reserves</option> <option>Scholieren</option> <option>Miniemen
A</option> <option>Knapen</option> </select>

      </div>
      <div class="editorLine">
       <div class="editorLineLabel">
       Team:
       </div>
      <select onChange="var field = Form.Element.serialize('id42'); new
Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody: field
+ '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
id="id42" name="field25"><option></option><option>Duiveltjes -7</option>
<option>Baardegem</option> <option>Hofstade A</option> <option>Hofstade
B</option> <option>Doggen</option> <option>Erembodegem</option>
<option>Nieuwerkerken</option> <option>ST.Denderleeuw</option>
<option>Terjoden-Welle B</option> <option>VB.Meldert</option>
<option>VCE.Aalst</option> <option>Lebeke-Aalst</option>
<option>Kerksken</option> <option>Mere</option> <option>Rangers
Opdorp</option> <option>Terjoden-Welle A</option> </select>

      </div>
     </div>

I guess the WebElement editorLine and editorLineLabel are interfering with
the id39 for the update ?

Dirk


----- Original Message -----
From: "Janko Miv?ek" <janko.mivsek op eranova.si>
To: "AIDA/Web general discussion list" <aida op aidaweb.si>
Sent: Monday, October 15, 2007 3:04 PM
Subject: Re: [aida] Dropdown menus


> Dirk Verleysen wrote:
>> Ouch !!! Does this mean that I can't use styles for labels and other
>> layouts
>> between the different menu's ?
>
> Why not? Put style also in a separate method and reuse it in many other
> elements, like:
>
> menuStyle
>   ^'
> font-size: 12px
> '
>
> menusElement
>   ..
>   menu1 style: self menuStyle.
>   ..
>
> Something like that. But even better would be of course to put CSS
> styling into your WebStyle subclass and use menu class: #menuStyle etc.
>
> Was that your question?
>
> Janko
>
>>
>> ----- Original Message -----
>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>> Sent: Monday, October 15, 2007 2:09 PM
>> Subject: Re: [aida] Dropdown menus
>>
>>
>>> Dirk,
>>>
>>> Dirk Verleysen wrote:
>>>
>>>> I'm doing this and the updates to the domain are done but the
>>>> WebElement
>>>> that should be refreshed is simply removed. When I refresh the page
>>>> it's
>>>> returned on the browser with the updated fields.
>>> Be sure that an updatable element is in the separate method and not
>>> simply one of the elements in a method. This method must also return
>>> just that element.
>>>
>>> This is a rule for Ajax updatable elements - they must reside each in
>>> its own method.
>>>
>>> Best regards
>>> Janko
>>>
>>>> ----- Original Message -----
>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>> Sent: Monday, October 15, 2007 11:35 AM
>>>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>>>
>>>>
>>>>> Dirk Verleysen wrote:
>>>>>> Can I send an event after an item in the menu is selected ? I want 3
>>>>>> menus
>>>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>>>> selection
>>>>>> of the first menu. The collection of the 3th menu is created after
>>>>>> you
>>>>>> know
>>>>>> what was selected in the 2nd menu.
>>>>> This is very common pattern and very nicely solved with Ajax updating
>>>>> of
>>>>> an element containing all three menus. For that you use
>>>>> onChangePostAndUpdate: on your menus:
>>>>>
>>>>> menusElement
>>>>>   | e |
>>>>>   e := WebElement new.
>>>>>
>>>>>   menu1 := WebMenu aspect: ....
>>>>>   menu1 onCangePostAndUpdate: e.
>>>>>   e add: menu1; addBreak.
>>>>>
>>>>>   menu2 := WebMenu aspect: ....
>>>>>   menu2 onCangePostAndUpdate: e.
>>>>>   e add: menu2; addBreak.
>>>>>
>>>>>   menu3 := WebMenu aspect: ....
>>>>>   e add: menu3.
>>>>>   ^e
>>>>>
>>>>> Janko
>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>>>>
>>>>>>
>>>>>>> Hi Dirk,
>>>>>>>
>>>>>>> Dirk Verleysen wrote:
>>>>>>>
>>>>>>>> Is there an example of this available ? I guess I can use this to
>>>>>>>> create
>>>>>>>> a kind of dropdownlist ?
>>>>>>> In HTML it called menu
>>>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
>>>>>>> there is a WebMenu and here s short example of usage:
>>>>>>>
>>>>>>>
>>>>>>> menu := WebMenu
>>>>>>>   aspect: #name
>>>>>>>   collection: self authors
>>>>>>>   selectedToAspect: #author
>>>>>>>   of: self.
>>>>>>>
>>>>>>> or with convenience method:
>>>>>>>
>>>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>>>
>>>>>>>
>>>>>>> Here you select an author by name from self authors and save
>>>>>>> selected
>>>>>>> object (not a name string!) to aspect #author (this calls
>>>>>>> accessor/mutator #author and #author: ) of self. Note that if there
>>>>>>> is
>>>>>>> author selected from before, it will be preselected.
>>>>>>>
>>>>>>>
>>>>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>>>>> seasonColl selectedToAspect: #season of: self observee." but by the
>>>>>>>> time
>>>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>>>> objectToStore is nil.
>>>>>>> And this you already solved by yourself.
>>>>>>>
>>>>>>> Best regards
>>>>>>> Janko
>>>>> --
>>>>> Janko Miv?ek
>>>>> AIDA/Web
>>>>> Smalltalk Web Application Server
>>>>> http://www.aidaweb.si
>>>>> _______________________________________________
>>>>> Aida mailing list
>>>>> Aida op aidaweb.si
>>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>>>
>>>> _______________________________________________
>>>> Aida mailing list
>>>> Aida op aidaweb.si
>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>> --
>>> Janko Miv?ek
>>> AIDA/Web
>>> Smalltalk Web Application Server
>>> http://www.aidaweb.si
>>> _______________________________________________
>>> Aida mailing list
>>> Aida op aidaweb.si
>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>
>>
>> _______________________________________________
>> Aida mailing list
>> Aida op aidaweb.si
>> http://lists.aidaweb.si/mailman/listinfo/aida
>
> --
> Janko Miv?ek
> AIDA/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
> _______________________________________________
> Aida mailing list
> Aida op aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida
>


Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Janko Mivšek
Dirk,

This should work if you have id39 element in its own method. editorLine
and editorLineLabel elements have a class set, not id, so they don't
interfere.

To debug such a problem, you can put a breakpoint in WebApplication
#respondToAjaxRequest and step ahead to see, what is wrong.

Janko

Dirk Verleysen wrote:

> Not really...
>
> I have the following html right now.
>
> <div id="id39">
>       <div class="editorLine">
>        <div class="editorLineLabel">
>        Seizoen:
>        </div>
>       <select onChange="var field = Form.Element.serialize('id40'); new
> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody: field
> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
> id="id40" name="field23"><option></option><option
> selected>2007-2008</option> </select>
>
>       </div>
>       <div class="editorLine">
>        <div class="editorLineLabel">
>        Serie:
>        </div>
>       <select onChange="var field = Form.Element.serialize('id41'); new
> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody: field
> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
> id="id41" name="field24"><option></option><option>Duiveltjes -6</option>
> <option>Duiveltjes -8</option> <option selected>Duiveltjes -7</option>
> <option>Preminiemen -9</option> <option>Preminiemen -10</option>
> <option>Miniemen B</option> <option>1e Ploeg</option>
> <option>Reserves</option> <option>Scholieren</option> <option>Miniemen
> A</option> <option>Knapen</option> </select>
>
>       </div>
>       <div class="editorLine">
>        <div class="editorLineLabel">
>        Team:
>        </div>
>       <select onChange="var field = Form.Element.serialize('id42'); new
> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody: field
> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
> id="id42" name="field25"><option></option><option>Duiveltjes -7</option>
> <option>Baardegem</option> <option>Hofstade A</option> <option>Hofstade
> B</option> <option>Doggen</option> <option>Erembodegem</option>
> <option>Nieuwerkerken</option> <option>ST.Denderleeuw</option>
> <option>Terjoden-Welle B</option> <option>VB.Meldert</option>
> <option>VCE.Aalst</option> <option>Lebeke-Aalst</option>
> <option>Kerksken</option> <option>Mere</option> <option>Rangers
> Opdorp</option> <option>Terjoden-Welle A</option> </select>
>
>       </div>
>      </div>
>
> I guess the WebElement editorLine and editorLineLabel are interfering with
> the id39 for the update ?
>
> Dirk
>
>
> ----- Original Message -----
> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
> Sent: Monday, October 15, 2007 3:04 PM
> Subject: Re: [aida] Dropdown menus
>
>
>> Dirk Verleysen wrote:
>>> Ouch !!! Does this mean that I can't use styles for labels and other
>>> layouts
>>> between the different menu's ?
>> Why not? Put style also in a separate method and reuse it in many other
>> elements, like:
>>
>> menuStyle
>>   ^'
>> font-size: 12px
>> '
>>
>> menusElement
>>   ..
>>   menu1 style: self menuStyle.
>>   ..
>>
>> Something like that. But even better would be of course to put CSS
>> styling into your WebStyle subclass and use menu class: #menuStyle etc.
>>
>> Was that your question?
>>
>> Janko
>>
>>> ----- Original Message -----
>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>> Sent: Monday, October 15, 2007 2:09 PM
>>> Subject: Re: [aida] Dropdown menus
>>>
>>>
>>>> Dirk,
>>>>
>>>> Dirk Verleysen wrote:
>>>>
>>>>> I'm doing this and the updates to the domain are done but the
>>>>> WebElement
>>>>> that should be refreshed is simply removed. When I refresh the page
>>>>> it's
>>>>> returned on the browser with the updated fields.
>>>> Be sure that an updatable element is in the separate method and not
>>>> simply one of the elements in a method. This method must also return
>>>> just that element.
>>>>
>>>> This is a rule for Ajax updatable elements - they must reside each in
>>>> its own method.
>>>>
>>>> Best regards
>>>> Janko
>>>>
>>>>> ----- Original Message -----
>>>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>>>> Sent: Monday, October 15, 2007 11:35 AM
>>>>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>>>>
>>>>>
>>>>>> Dirk Verleysen wrote:
>>>>>>> Can I send an event after an item in the menu is selected ? I want 3
>>>>>>> menus
>>>>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>>>>> selection
>>>>>>> of the first menu. The collection of the 3th menu is created after
>>>>>>> you
>>>>>>> know
>>>>>>> what was selected in the 2nd menu.
>>>>>> This is very common pattern and very nicely solved with Ajax updating
>>>>>> of
>>>>>> an element containing all three menus. For that you use
>>>>>> onChangePostAndUpdate: on your menus:
>>>>>>
>>>>>> menusElement
>>>>>>   | e |
>>>>>>   e := WebElement new.
>>>>>>
>>>>>>   menu1 := WebMenu aspect: ....
>>>>>>   menu1 onCangePostAndUpdate: e.
>>>>>>   e add: menu1; addBreak.
>>>>>>
>>>>>>   menu2 := WebMenu aspect: ....
>>>>>>   menu2 onCangePostAndUpdate: e.
>>>>>>   e add: menu2; addBreak.
>>>>>>
>>>>>>   menu3 := WebMenu aspect: ....
>>>>>>   e add: menu3.
>>>>>>   ^e
>>>>>>
>>>>>> Janko
>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>>>>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>>>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>>>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>>>>>
>>>>>>>
>>>>>>>> Hi Dirk,
>>>>>>>>
>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>
>>>>>>>>> Is there an example of this available ? I guess I can use this to
>>>>>>>>> create
>>>>>>>>> a kind of dropdownlist ?
>>>>>>>> In HTML it called menu
>>>>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In Aida
>>>>>>>> there is a WebMenu and here s short example of usage:
>>>>>>>>
>>>>>>>>
>>>>>>>> menu := WebMenu
>>>>>>>>   aspect: #name
>>>>>>>>   collection: self authors
>>>>>>>>   selectedToAspect: #author
>>>>>>>>   of: self.
>>>>>>>>
>>>>>>>> or with convenience method:
>>>>>>>>
>>>>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>
>>>>>>>>
>>>>>>>> Here you select an author by name from self authors and save
>>>>>>>> selected
>>>>>>>> object (not a name string!) to aspect #author (this calls
>>>>>>>> accessor/mutator #author and #author: ) of self. Note that if there
>>>>>>>> is
>>>>>>>> author selected from before, it will be preselected.
>>>>>>>>
>>>>>>>>
>>>>>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>>>>>> seasonColl selectedToAspect: #season of: self observee." but by the
>>>>>>>>> time
>>>>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>>>>> objectToStore is nil.
>>>>>>>> And this you already solved by yourself.
>>>>>>>>
>>>>>>>> Best regards
>>>>>>>> Janko
>>>>>> --
>>>>>> Janko Miv?ek
>>>>>> AIDA/Web
>>>>>> Smalltalk Web Application Server
>>>>>> http://www.aidaweb.si
>>>>>> _______________________________________________
>>>>>> Aida mailing list
>>>>>> Aida na aidaweb.si
>>>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>>>>
>>>>> _______________________________________________
>>>>> Aida mailing list
>>>>> Aida na aidaweb.si
>>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>> --
>>>> Janko Miv?ek
>>>> AIDA/Web
>>>> Smalltalk Web Application Server
>>>> http://www.aidaweb.si
>>>> _______________________________________________
>>>> Aida mailing list
>>>> Aida na aidaweb.si
>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>>
>>> _______________________________________________
>>> Aida mailing list
>>> Aida na aidaweb.si
>>> http://lists.aidaweb.si/mailman/listinfo/aida
>> --
>> Janko Miv?ek
>> AIDA/Web
>> Smalltalk Web Application Server
>> http://www.aidaweb.si
>> _______________________________________________
>> Aida mailing list
>> Aida na aidaweb.si
>> http://lists.aidaweb.si/mailman/listinfo/aida
>>
>
> _______________________________________________
> Aida mailing list
> Aida na aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida

--
Janko Miv?ek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Dirk Verleysen-2
Got this working and it's looking fine.

Now I have a button but there is no responds. What the best place to put a
breakpoint?

Dirk
----- Original Message -----
From: "Janko Miv?ek" <janko.mivsek op eranova.si>
To: "AIDA/Web general discussion list" <aida op aidaweb.si>
Sent: Monday, October 15, 2007 3:38 PM
Subject: Re: [aida] Dropdown menus


> Dirk,
>
> This should work if you have id39 element in its own method. editorLine
> and editorLineLabel elements have a class set, not id, so they don't
> interfere.
>
> To debug such a problem, you can put a breakpoint in WebApplication
> #respondToAjaxRequest and step ahead to see, what is wrong.
>
> Janko
>
> Dirk Verleysen wrote:
>> Not really...
>>
>> I have the following html right now.
>>
>> <div id="id39">
>>       <div class="editorLine">
>>        <div class="editorLineLabel">
>>        Seizoen:
>>        </div>
>>       <select onChange="var field = Form.Element.serialize('id40'); new
>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>> field
>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>> id="id40" name="field23"><option></option><option
>> selected>2007-2008</option> </select>
>>
>>       </div>
>>       <div class="editorLine">
>>        <div class="editorLineLabel">
>>        Serie:
>>        </div>
>>       <select onChange="var field = Form.Element.serialize('id41'); new
>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>> field
>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>> id="id41" name="field24"><option></option><option>Duiveltjes -6</option>
>> <option>Duiveltjes -8</option> <option selected>Duiveltjes -7</option>
>> <option>Preminiemen -9</option> <option>Preminiemen -10</option>
>> <option>Miniemen B</option> <option>1e Ploeg</option>
>> <option>Reserves</option> <option>Scholieren</option> <option>Miniemen
>> A</option> <option>Knapen</option> </select>
>>
>>       </div>
>>       <div class="editorLine">
>>        <div class="editorLineLabel">
>>        Team:
>>        </div>
>>       <select onChange="var field = Form.Element.serialize('id42'); new
>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>> field
>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>> id="id42" name="field25"><option></option><option>Duiveltjes -7</option>
>> <option>Baardegem</option> <option>Hofstade A</option> <option>Hofstade
>> B</option> <option>Doggen</option> <option>Erembodegem</option>
>> <option>Nieuwerkerken</option> <option>ST.Denderleeuw</option>
>> <option>Terjoden-Welle B</option> <option>VB.Meldert</option>
>> <option>VCE.Aalst</option> <option>Lebeke-Aalst</option>
>> <option>Kerksken</option> <option>Mere</option> <option>Rangers
>> Opdorp</option> <option>Terjoden-Welle A</option> </select>
>>
>>       </div>
>>      </div>
>>
>> I guess the WebElement editorLine and editorLineLabel are interfering
>> with
>> the id39 for the update ?
>>
>> Dirk
>>
>>
>> ----- Original Message -----
>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>> Sent: Monday, October 15, 2007 3:04 PM
>> Subject: Re: [aida] Dropdown menus
>>
>>
>>> Dirk Verleysen wrote:
>>>> Ouch !!! Does this mean that I can't use styles for labels and other
>>>> layouts
>>>> between the different menu's ?
>>> Why not? Put style also in a separate method and reuse it in many other
>>> elements, like:
>>>
>>> menuStyle
>>>   ^'
>>> font-size: 12px
>>> '
>>>
>>> menusElement
>>>   ..
>>>   menu1 style: self menuStyle.
>>>   ..
>>>
>>> Something like that. But even better would be of course to put CSS
>>> styling into your WebStyle subclass and use menu class: #menuStyle etc.
>>>
>>> Was that your question?
>>>
>>> Janko
>>>
>>>> ----- Original Message -----
>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>> Sent: Monday, October 15, 2007 2:09 PM
>>>> Subject: Re: [aida] Dropdown menus
>>>>
>>>>
>>>>> Dirk,
>>>>>
>>>>> Dirk Verleysen wrote:
>>>>>
>>>>>> I'm doing this and the updates to the domain are done but the
>>>>>> WebElement
>>>>>> that should be refreshed is simply removed. When I refresh the page
>>>>>> it's
>>>>>> returned on the browser with the updated fields.
>>>>> Be sure that an updatable element is in the separate method and not
>>>>> simply one of the elements in a method. This method must also return
>>>>> just that element.
>>>>>
>>>>> This is a rule for Ajax updatable elements - they must reside each in
>>>>> its own method.
>>>>>
>>>>> Best regards
>>>>> Janko
>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>> Sent: Monday, October 15, 2007 11:35 AM
>>>>>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>>>>>
>>>>>>
>>>>>>> Dirk Verleysen wrote:
>>>>>>>> Can I send an event after an item in the menu is selected ? I want
>>>>>>>> 3
>>>>>>>> menus
>>>>>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>>>>>> selection
>>>>>>>> of the first menu. The collection of the 3th menu is created after
>>>>>>>> you
>>>>>>>> know
>>>>>>>> what was selected in the 2nd menu.
>>>>>>> This is very common pattern and very nicely solved with Ajax
>>>>>>> updating
>>>>>>> of
>>>>>>> an element containing all three menus. For that you use
>>>>>>> onChangePostAndUpdate: on your menus:
>>>>>>>
>>>>>>> menusElement
>>>>>>>   | e |
>>>>>>>   e := WebElement new.
>>>>>>>
>>>>>>>   menu1 := WebMenu aspect: ....
>>>>>>>   menu1 onCangePostAndUpdate: e.
>>>>>>>   e add: menu1; addBreak.
>>>>>>>
>>>>>>>   menu2 := WebMenu aspect: ....
>>>>>>>   menu2 onCangePostAndUpdate: e.
>>>>>>>   e add: menu2; addBreak.
>>>>>>>
>>>>>>>   menu3 := WebMenu aspect: ....
>>>>>>>   e add: menu3.
>>>>>>>   ^e
>>>>>>>
>>>>>>> Janko
>>>>>>>
>>>>>>>> ----- Original Message -----
>>>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>>>>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>
>>>>>>>>
>>>>>>>>> Hi Dirk,
>>>>>>>>>
>>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>>
>>>>>>>>>> Is there an example of this available ? I guess I can use this to
>>>>>>>>>> create
>>>>>>>>>> a kind of dropdownlist ?
>>>>>>>>> In HTML it called menu
>>>>>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In
>>>>>>>>> Aida
>>>>>>>>> there is a WebMenu and here s short example of usage:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> menu := WebMenu
>>>>>>>>>   aspect: #name
>>>>>>>>>   collection: self authors
>>>>>>>>>   selectedToAspect: #author
>>>>>>>>>   of: self.
>>>>>>>>>
>>>>>>>>> or with convenience method:
>>>>>>>>>
>>>>>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Here you select an author by name from self authors and save
>>>>>>>>> selected
>>>>>>>>> object (not a name string!) to aspect #author (this calls
>>>>>>>>> accessor/mutator #author and #author: ) of self. Note that if
>>>>>>>>> there
>>>>>>>>> is
>>>>>>>>> author selected from before, it will be preselected.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>>>>>>> seasonColl selectedToAspect: #season of: self observee." but by
>>>>>>>>>> the
>>>>>>>>>> time
>>>>>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>>>>>> objectToStore is nil.
>>>>>>>>> And this you already solved by yourself.
>>>>>>>>>
>>>>>>>>> Best regards
>>>>>>>>> Janko
>>>>>>> --
>>>>>>> Janko Miv?ek
>>>>>>> AIDA/Web
>>>>>>> Smalltalk Web Application Server
>>>>>>> http://www.aidaweb.si
>>>>>>> _______________________________________________
>>>>>>> Aida mailing list
>>>>>>> Aida op aidaweb.si
>>>>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Aida mailing list
>>>>>> Aida op aidaweb.si
>>>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>>> --
>>>>> Janko Miv?ek
>>>>> AIDA/Web
>>>>> Smalltalk Web Application Server
>>>>> http://www.aidaweb.si
>>>>> _______________________________________________
>>>>> Aida mailing list
>>>>> Aida op aidaweb.si
>>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>>>
>>>> _______________________________________________
>>>> Aida mailing list
>>>> Aida op aidaweb.si
>>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>> --
>>> Janko Miv?ek
>>> AIDA/Web
>>> Smalltalk Web Application Server
>>> http://www.aidaweb.si
>>> _______________________________________________
>>> Aida mailing list
>>> Aida op aidaweb.si
>>> http://lists.aidaweb.si/mailman/listinfo/aida
>>>
>>
>> _______________________________________________
>> Aida mailing list
>> Aida op aidaweb.si
>> http://lists.aidaweb.si/mailman/listinfo/aida
>
> --
> Janko Miv?ek
> AIDA/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
> _______________________________________________
> Aida mailing list
> Aida op aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida
>


Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Janko Mivšek
Dirk,

Dirk Verleysen wrote:
> Got this working and it's looking fine.
>
> Now I have a button but there is no responds. What the best place to put a
> breakpoint?

A button does not submit a form? Does button at least cause page to be
reloaded? Do you have a proper action method for that view?

To debug form submitting put a checkpoint on WebApplication acceptInputs.

Janko

>
> Dirk
> ----- Original Message -----
> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
> Sent: Monday, October 15, 2007 3:38 PM
> Subject: Re: [aida] Dropdown menus
>
>
>> Dirk,
>>
>> This should work if you have id39 element in its own method. editorLine
>> and editorLineLabel elements have a class set, not id, so they don't
>> interfere.
>>
>> To debug such a problem, you can put a breakpoint in WebApplication
>> #respondToAjaxRequest and step ahead to see, what is wrong.
>>
>> Janko
>>
>> Dirk Verleysen wrote:
>>> Not really...
>>>
>>> I have the following html right now.
>>>
>>> <div id="id39">
>>>       <div class="editorLine">
>>>        <div class="editorLineLabel">
>>>        Seizoen:
>>>        </div>
>>>       <select onChange="var field = Form.Element.serialize('id40'); new
>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>> field
>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>>> id="id40" name="field23"><option></option><option
>>> selected>2007-2008</option> </select>
>>>
>>>       </div>
>>>       <div class="editorLine">
>>>        <div class="editorLineLabel">
>>>        Serie:
>>>        </div>
>>>       <select onChange="var field = Form.Element.serialize('id41'); new
>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>> field
>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>>> id="id41" name="field24"><option></option><option>Duiveltjes -6</option>
>>> <option>Duiveltjes -8</option> <option selected>Duiveltjes -7</option>
>>> <option>Preminiemen -9</option> <option>Preminiemen -10</option>
>>> <option>Miniemen B</option> <option>1e Ploeg</option>
>>> <option>Reserves</option> <option>Scholieren</option> <option>Miniemen
>>> A</option> <option>Knapen</option> </select>
>>>
>>>       </div>
>>>       <div class="editorLine">
>>>        <div class="editorLineLabel">
>>>        Team:
>>>        </div>
>>>       <select onChange="var field = Form.Element.serialize('id42'); new
>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>> field
>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>>> id="id42" name="field25"><option></option><option>Duiveltjes -7</option>
>>> <option>Baardegem</option> <option>Hofstade A</option> <option>Hofstade
>>> B</option> <option>Doggen</option> <option>Erembodegem</option>
>>> <option>Nieuwerkerken</option> <option>ST.Denderleeuw</option>
>>> <option>Terjoden-Welle B</option> <option>VB.Meldert</option>
>>> <option>VCE.Aalst</option> <option>Lebeke-Aalst</option>
>>> <option>Kerksken</option> <option>Mere</option> <option>Rangers
>>> Opdorp</option> <option>Terjoden-Welle A</option> </select>
>>>
>>>       </div>
>>>      </div>
>>>
>>> I guess the WebElement editorLine and editorLineLabel are interfering
>>> with
>>> the id39 for the update ?
>>>
>>> Dirk
>>>
>>>
>>> ----- Original Message -----
>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>> Sent: Monday, October 15, 2007 3:04 PM
>>> Subject: Re: [aida] Dropdown menus
>>>
>>>
>>>> Dirk Verleysen wrote:
>>>>> Ouch !!! Does this mean that I can't use styles for labels and other
>>>>> layouts
>>>>> between the different menu's ?
>>>> Why not? Put style also in a separate method and reuse it in many other
>>>> elements, like:
>>>>
>>>> menuStyle
>>>>   ^'
>>>> font-size: 12px
>>>> '
>>>>
>>>> menusElement
>>>>   ..
>>>>   menu1 style: self menuStyle.
>>>>   ..
>>>>
>>>> Something like that. But even better would be of course to put CSS
>>>> styling into your WebStyle subclass and use menu class: #menuStyle etc.
>>>>
>>>> Was that your question?
>>>>
>>>> Janko
>>>>
>>>>> ----- Original Message -----
>>>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>>>> Sent: Monday, October 15, 2007 2:09 PM
>>>>> Subject: Re: [aida] Dropdown menus
>>>>>
>>>>>
>>>>>> Dirk,
>>>>>>
>>>>>> Dirk Verleysen wrote:
>>>>>>
>>>>>>> I'm doing this and the updates to the domain are done but the
>>>>>>> WebElement
>>>>>>> that should be refreshed is simply removed. When I refresh the page
>>>>>>> it's
>>>>>>> returned on the browser with the updated fields.
>>>>>> Be sure that an updatable element is in the separate method and not
>>>>>> simply one of the elements in a method. This method must also return
>>>>>> just that element.
>>>>>>
>>>>>> This is a rule for Ajax updatable elements - they must reside each in
>>>>>> its own method.
>>>>>>
>>>>>> Best regards
>>>>>> Janko
>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>>>>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>>>>>> Sent: Monday, October 15, 2007 11:35 AM
>>>>>>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>>>>>>
>>>>>>>
>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>> Can I send an event after an item in the menu is selected ? I want
>>>>>>>>> 3
>>>>>>>>> menus
>>>>>>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>>>>>>> selection
>>>>>>>>> of the first menu. The collection of the 3th menu is created after
>>>>>>>>> you
>>>>>>>>> know
>>>>>>>>> what was selected in the 2nd menu.
>>>>>>>> This is very common pattern and very nicely solved with Ajax
>>>>>>>> updating
>>>>>>>> of
>>>>>>>> an element containing all three menus. For that you use
>>>>>>>> onChangePostAndUpdate: on your menus:
>>>>>>>>
>>>>>>>> menusElement
>>>>>>>>   | e |
>>>>>>>>   e := WebElement new.
>>>>>>>>
>>>>>>>>   menu1 := WebMenu aspect: ....
>>>>>>>>   menu1 onCangePostAndUpdate: e.
>>>>>>>>   e add: menu1; addBreak.
>>>>>>>>
>>>>>>>>   menu2 := WebMenu aspect: ....
>>>>>>>>   menu2 onCangePostAndUpdate: e.
>>>>>>>>   e add: menu2; addBreak.
>>>>>>>>
>>>>>>>>   menu3 := WebMenu aspect: ....
>>>>>>>>   e add: menu3.
>>>>>>>>   ^e
>>>>>>>>
>>>>>>>> Janko
>>>>>>>>
>>>>>>>>> ----- Original Message -----
>>>>>>>>> From: "Janko Miv?ek" <janko.mivsek na eranova.si>
>>>>>>>>> To: "AIDA/Web general discussion list" <aida na aidaweb.si>
>>>>>>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>>>>>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Hi Dirk,
>>>>>>>>>>
>>>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>>>
>>>>>>>>>>> Is there an example of this available ? I guess I can use this to
>>>>>>>>>>> create
>>>>>>>>>>> a kind of dropdownlist ?
>>>>>>>>>> In HTML it called menu
>>>>>>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In
>>>>>>>>>> Aida
>>>>>>>>>> there is a WebMenu and here s short example of usage:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> menu := WebMenu
>>>>>>>>>>   aspect: #name
>>>>>>>>>>   collection: self authors
>>>>>>>>>>   selectedToAspect: #author
>>>>>>>>>>   of: self.
>>>>>>>>>>
>>>>>>>>>> or with convenience method:
>>>>>>>>>>
>>>>>>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Here you select an author by name from self authors and save
>>>>>>>>>> selected
>>>>>>>>>> object (not a name string!) to aspect #author (this calls
>>>>>>>>>> accessor/mutator #author and #author: ) of self. Note that if
>>>>>>>>>> there
>>>>>>>>>> is
>>>>>>>>>> author selected from before, it will be preselected.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>>>>>>>> seasonColl selectedToAspect: #season of: self observee." but by
>>>>>>>>>>> the
>>>>>>>>>>> time
>>>>>>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>>>>>>> objectToStore is nil.
>>>>>>>>>> And this you already solved by yourself.
>>>>>>>>>>
>>>>>>>>>> Best regards
>>>>>>>>>> Janko

--
Janko Miv?ek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si

Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Dirk Verleysen
This button was on a form that had the drop down's. I managed an onClickUpdate: and got this working thru that but I had the impression that there was no real submit. Apart from 4 menu's I had no other inputs. I'll try to put a breakpoint in acceptInputs tomorrow and try to find out what is happening.

Another question is that I have a list that is updated after I click the button. The page is generated but the first time shown without css layout. I have to refresh to get the css working. Any idea what is happening ?

Dirk

-----Oorspronkelijk bericht-----
Van: aida-bounces op aidaweb.si [mailto:aida-bounces op aidaweb.si] Namens Janko Miv?ek
Verzonden: maandag 15 oktober 2007 22:38
Aan: AIDA/Web general discussion list
Onderwerp: Re: [aida] Dropdown menus

Dirk,

Dirk Verleysen wrote:
> Got this working and it's looking fine.
>
> Now I have a button but there is no responds. What the best place to put a
> breakpoint?

A button does not submit a form? Does button at least cause page to be
reloaded? Do you have a proper action method for that view?

To debug form submitting put a checkpoint on WebApplication acceptInputs.

Janko

>
> Dirk
> ----- Original Message -----
> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
> Sent: Monday, October 15, 2007 3:38 PM
> Subject: Re: [aida] Dropdown menus
>
>
>> Dirk,
>>
>> This should work if you have id39 element in its own method. editorLine
>> and editorLineLabel elements have a class set, not id, so they don't
>> interfere.
>>
>> To debug such a problem, you can put a breakpoint in WebApplication
>> #respondToAjaxRequest and step ahead to see, what is wrong.
>>
>> Janko
>>
>> Dirk Verleysen wrote:
>>> Not really...
>>>
>>> I have the following html right now.
>>>
>>> <div id="id39">
>>>       <div class="editorLine">
>>>        <div class="editorLineLabel">
>>>        Seizoen:
>>>        </div>
>>>       <select onChange="var field = Form.Element.serialize('id40'); new
>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>> field
>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>>> id="id40" name="field23"><option></option><option
>>> selected>2007-2008</option> </select>
>>>
>>>       </div>
>>>       <div class="editorLine">
>>>        <div class="editorLineLabel">
>>>        Serie:
>>>        </div>
>>>       <select onChange="var field = Form.Element.serialize('id41'); new
>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>> field
>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>>> id="id41" name="field24"><option></option><option>Duiveltjes -6</option>
>>> <option>Duiveltjes -8</option> <option selected>Duiveltjes -7</option>
>>> <option>Preminiemen -9</option> <option>Preminiemen -10</option>
>>> <option>Miniemen B</option> <option>1e Ploeg</option>
>>> <option>Reserves</option> <option>Scholieren</option> <option>Miniemen
>>> A</option> <option>Knapen</option> </select>
>>>
>>>       </div>
>>>       <div class="editorLine">
>>>        <div class="editorLineLabel">
>>>        Team:
>>>        </div>
>>>       <select onChange="var field = Form.Element.serialize('id42'); new
>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>> field
>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true}); "
>>> id="id42" name="field25"><option></option><option>Duiveltjes -7</option>
>>> <option>Baardegem</option> <option>Hofstade A</option> <option>Hofstade
>>> B</option> <option>Doggen</option> <option>Erembodegem</option>
>>> <option>Nieuwerkerken</option> <option>ST.Denderleeuw</option>
>>> <option>Terjoden-Welle B</option> <option>VB.Meldert</option>
>>> <option>VCE.Aalst</option> <option>Lebeke-Aalst</option>
>>> <option>Kerksken</option> <option>Mere</option> <option>Rangers
>>> Opdorp</option> <option>Terjoden-Welle A</option> </select>
>>>
>>>       </div>
>>>      </div>
>>>
>>> I guess the WebElement editorLine and editorLineLabel are interfering
>>> with
>>> the id39 for the update ?
>>>
>>> Dirk
>>>
>>>
>>> ----- Original Message -----
>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>> Sent: Monday, October 15, 2007 3:04 PM
>>> Subject: Re: [aida] Dropdown menus
>>>
>>>
>>>> Dirk Verleysen wrote:
>>>>> Ouch !!! Does this mean that I can't use styles for labels and other
>>>>> layouts
>>>>> between the different menu's ?
>>>> Why not? Put style also in a separate method and reuse it in many other
>>>> elements, like:
>>>>
>>>> menuStyle
>>>>   ^'
>>>> font-size: 12px
>>>> '
>>>>
>>>> menusElement
>>>>   ..
>>>>   menu1 style: self menuStyle.
>>>>   ..
>>>>
>>>> Something like that. But even better would be of course to put CSS
>>>> styling into your WebStyle subclass and use menu class: #menuStyle etc.
>>>>
>>>> Was that your question?
>>>>
>>>> Janko
>>>>
>>>>> ----- Original Message -----
>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>> Sent: Monday, October 15, 2007 2:09 PM
>>>>> Subject: Re: [aida] Dropdown menus
>>>>>
>>>>>
>>>>>> Dirk,
>>>>>>
>>>>>> Dirk Verleysen wrote:
>>>>>>
>>>>>>> I'm doing this and the updates to the domain are done but the
>>>>>>> WebElement
>>>>>>> that should be refreshed is simply removed. When I refresh the page
>>>>>>> it's
>>>>>>> returned on the browser with the updated fields.
>>>>>> Be sure that an updatable element is in the separate method and not
>>>>>> simply one of the elements in a method. This method must also return
>>>>>> just that element.
>>>>>>
>>>>>> This is a rule for Ajax updatable elements - they must reside each in
>>>>>> its own method.
>>>>>>
>>>>>> Best regards
>>>>>> Janko
>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>>> Sent: Monday, October 15, 2007 11:35 AM
>>>>>>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>>>>>>
>>>>>>>
>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>> Can I send an event after an item in the menu is selected ? I want
>>>>>>>>> 3
>>>>>>>>> menus
>>>>>>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>>>>>>> selection
>>>>>>>>> of the first menu. The collection of the 3th menu is created after
>>>>>>>>> you
>>>>>>>>> know
>>>>>>>>> what was selected in the 2nd menu.
>>>>>>>> This is very common pattern and very nicely solved with Ajax
>>>>>>>> updating
>>>>>>>> of
>>>>>>>> an element containing all three menus. For that you use
>>>>>>>> onChangePostAndUpdate: on your menus:
>>>>>>>>
>>>>>>>> menusElement
>>>>>>>>   | e |
>>>>>>>>   e := WebElement new.
>>>>>>>>
>>>>>>>>   menu1 := WebMenu aspect: ....
>>>>>>>>   menu1 onCangePostAndUpdate: e.
>>>>>>>>   e add: menu1; addBreak.
>>>>>>>>
>>>>>>>>   menu2 := WebMenu aspect: ....
>>>>>>>>   menu2 onCangePostAndUpdate: e.
>>>>>>>>   e add: menu2; addBreak.
>>>>>>>>
>>>>>>>>   menu3 := WebMenu aspect: ....
>>>>>>>>   e add: menu3.
>>>>>>>>   ^e
>>>>>>>>
>>>>>>>> Janko
>>>>>>>>
>>>>>>>>> ----- Original Message -----
>>>>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>>>>>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Hi Dirk,
>>>>>>>>>>
>>>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>>>
>>>>>>>>>>> Is there an example of this available ? I guess I can use this to
>>>>>>>>>>> create
>>>>>>>>>>> a kind of dropdownlist ?
>>>>>>>>>> In HTML it called menu
>>>>>>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In
>>>>>>>>>> Aida
>>>>>>>>>> there is a WebMenu and here s short example of usage:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> menu := WebMenu
>>>>>>>>>>   aspect: #name
>>>>>>>>>>   collection: self authors
>>>>>>>>>>   selectedToAspect: #author
>>>>>>>>>>   of: self.
>>>>>>>>>>
>>>>>>>>>> or with convenience method:
>>>>>>>>>>
>>>>>>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Here you select an author by name from self authors and save
>>>>>>>>>> selected
>>>>>>>>>> object (not a name string!) to aspect #author (this calls
>>>>>>>>>> accessor/mutator #author and #author: ) of self. Note that if
>>>>>>>>>> there
>>>>>>>>>> is
>>>>>>>>>> author selected from before, it will be preselected.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>>>>>>>> seasonColl selectedToAspect: #season of: self observee." but by
>>>>>>>>>>> the
>>>>>>>>>>> time
>>>>>>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>>>>>>> objectToStore is nil.
>>>>>>>>>> And this you already solved by yourself.
>>>>>>>>>>
>>>>>>>>>> Best regards
>>>>>>>>>> Janko

--
Janko Miv?ek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
Aida mailing list
Aida op aidaweb.si
http://lists.aidaweb.si/mailman/listinfo/aida

Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Dirk Verleysen-2
I checked the acceptInputs and noticed that "request postDataStringAt:
WebForm idFieldName" returns nil. I can make it work with the onClickUpdate:
but I would like to use normal actions most of the time. Any idea what I'm
doing wrong ?


----- Original Message -----
From: "Dirk Verleysen" <dirk.verleysen op roots.be>
To: "AIDA/Web general discussion list" <aida op aidaweb.si>
Sent: Monday, October 15, 2007 11:05 PM
Subject: Re: [aida] Dropdown menus


> This button was on a form that had the drop down's. I managed an
> onClickUpdate: and got this working thru that but I had the impression
> that there was no real submit. Apart from 4 menu's I had no other inputs.
> I'll try to put a breakpoint in acceptInputs tomorrow and try to find out
> what is happening.
>
> Another question is that I have a list that is updated after I click the
> button. The page is generated but the first time shown without css layout.
> I have to refresh to get the css working. Any idea what is happening ?
>
> Dirk
>
> -----Oorspronkelijk bericht-----
> Van: aida-bounces op aidaweb.si [mailto:aida-bounces op aidaweb.si] Namens Janko
> Miv?ek
> Verzonden: maandag 15 oktober 2007 22:38
> Aan: AIDA/Web general discussion list
> Onderwerp: Re: [aida] Dropdown menus
>
> Dirk,
>
> Dirk Verleysen wrote:
>> Got this working and it's looking fine.
>>
>> Now I have a button but there is no responds. What the best place to put
>> a
>> breakpoint?
>
> A button does not submit a form? Does button at least cause page to be
> reloaded? Do you have a proper action method for that view?
>
> To debug form submitting put a checkpoint on WebApplication acceptInputs.
>
> Janko
>
>>
>> Dirk
>> ----- Original Message -----
>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>> Sent: Monday, October 15, 2007 3:38 PM
>> Subject: Re: [aida] Dropdown menus
>>
>>
>>> Dirk,
>>>
>>> This should work if you have id39 element in its own method. editorLine
>>> and editorLineLabel elements have a class set, not id, so they don't
>>> interfere.
>>>
>>> To debug such a problem, you can put a breakpoint in WebApplication
>>> #respondToAjaxRequest and step ahead to see, what is wrong.
>>>
>>> Janko
>>>
>>> Dirk Verleysen wrote:
>>>> Not really...
>>>>
>>>> I have the following html right now.
>>>>
>>>> <div id="id39">
>>>>       <div class="editorLine">
>>>>        <div class="editorLineLabel">
>>>>        Seizoen:
>>>>        </div>
>>>>       <select onChange="var field = Form.Element.serialize('id40'); new
>>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>>> field
>>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true});
>>>> "
>>>> id="id40" name="field23"><option></option><option
>>>> selected>2007-2008</option> </select>
>>>>
>>>>       </div>
>>>>       <div class="editorLine">
>>>>        <div class="editorLineLabel">
>>>>        Serie:
>>>>        </div>
>>>>       <select onChange="var field = Form.Element.serialize('id41'); new
>>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>>> field
>>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true});
>>>> "
>>>> id="id41"
>>>> name="field24"><option></option><option>Duiveltjes -6</option>
>>>> <option>Duiveltjes -8</option> <option selected>Duiveltjes -7</option>
>>>> <option>Preminiemen -9</option> <option>Preminiemen -10</option>
>>>> <option>Miniemen B</option> <option>1e Ploeg</option>
>>>> <option>Reserves</option> <option>Scholieren</option> <option>Miniemen
>>>> A</option> <option>Knapen</option> </select>
>>>>
>>>>       </div>
>>>>       <div class="editorLine">
>>>>        <div class="editorLineLabel">
>>>>        Team:
>>>>        </div>
>>>>       <select onChange="var field = Form.Element.serialize('id42'); new
>>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>>> field
>>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true});
>>>> "
>>>> id="id42"
>>>> name="field25"><option></option><option>Duiveltjes -7</option>
>>>> <option>Baardegem</option> <option>Hofstade A</option> <option>Hofstade
>>>> B</option> <option>Doggen</option> <option>Erembodegem</option>
>>>> <option>Nieuwerkerken</option> <option>ST.Denderleeuw</option>
>>>> <option>Terjoden-Welle B</option> <option>VB.Meldert</option>
>>>> <option>VCE.Aalst</option> <option>Lebeke-Aalst</option>
>>>> <option>Kerksken</option> <option>Mere</option> <option>Rangers
>>>> Opdorp</option> <option>Terjoden-Welle A</option> </select>
>>>>
>>>>       </div>
>>>>      </div>
>>>>
>>>> I guess the WebElement editorLine and editorLineLabel are interfering
>>>> with
>>>> the id39 for the update ?
>>>>
>>>> Dirk
>>>>
>>>>
>>>> ----- Original Message -----
>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>> Sent: Monday, October 15, 2007 3:04 PM
>>>> Subject: Re: [aida] Dropdown menus
>>>>
>>>>
>>>>> Dirk Verleysen wrote:
>>>>>> Ouch !!! Does this mean that I can't use styles for labels and other
>>>>>> layouts
>>>>>> between the different menu's ?
>>>>> Why not? Put style also in a separate method and reuse it in many
>>>>> other
>>>>> elements, like:
>>>>>
>>>>> menuStyle
>>>>>   ^'
>>>>> font-size: 12px
>>>>> '
>>>>>
>>>>> menusElement
>>>>>   ..
>>>>>   menu1 style: self menuStyle.
>>>>>   ..
>>>>>
>>>>> Something like that. But even better would be of course to put CSS
>>>>> styling into your WebStyle subclass and use menu class: #menuStyle
>>>>> etc.
>>>>>
>>>>> Was that your question?
>>>>>
>>>>> Janko
>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>> Sent: Monday, October 15, 2007 2:09 PM
>>>>>> Subject: Re: [aida] Dropdown menus
>>>>>>
>>>>>>
>>>>>>> Dirk,
>>>>>>>
>>>>>>> Dirk Verleysen wrote:
>>>>>>>
>>>>>>>> I'm doing this and the updates to the domain are done but the
>>>>>>>> WebElement
>>>>>>>> that should be refreshed is simply removed. When I refresh the page
>>>>>>>> it's
>>>>>>>> returned on the browser with the updated fields.
>>>>>>> Be sure that an updatable element is in the separate method and not
>>>>>>> simply one of the elements in a method. This method must also return
>>>>>>> just that element.
>>>>>>>
>>>>>>> This is a rule for Ajax updatable elements - they must reside each
>>>>>>> in
>>>>>>> its own method.
>>>>>>>
>>>>>>> Best regards
>>>>>>> Janko
>>>>>>>
>>>>>>>> ----- Original Message -----
>>>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>>>> Sent: Monday, October 15, 2007 11:35 AM
>>>>>>>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>>>>>>>
>>>>>>>>
>>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>>> Can I send an event after an item in the menu is selected ? I
>>>>>>>>>> want
>>>>>>>>>> 3
>>>>>>>>>> menus
>>>>>>>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>>>>>>>> selection
>>>>>>>>>> of the first menu. The collection of the 3th menu is created
>>>>>>>>>> after
>>>>>>>>>> you
>>>>>>>>>> know
>>>>>>>>>> what was selected in the 2nd menu.
>>>>>>>>> This is very common pattern and very nicely solved with Ajax
>>>>>>>>> updating
>>>>>>>>> of
>>>>>>>>> an element containing all three menus. For that you use
>>>>>>>>> onChangePostAndUpdate: on your menus:
>>>>>>>>>
>>>>>>>>> menusElement
>>>>>>>>>   | e |
>>>>>>>>>   e := WebElement new.
>>>>>>>>>
>>>>>>>>>   menu1 := WebMenu aspect: ....
>>>>>>>>>   menu1 onCangePostAndUpdate: e.
>>>>>>>>>   e add: menu1; addBreak.
>>>>>>>>>
>>>>>>>>>   menu2 := WebMenu aspect: ....
>>>>>>>>>   menu2 onCangePostAndUpdate: e.
>>>>>>>>>   e add: menu2; addBreak.
>>>>>>>>>
>>>>>>>>>   menu3 := WebMenu aspect: ....
>>>>>>>>>   e add: menu3.
>>>>>>>>>   ^e
>>>>>>>>>
>>>>>>>>> Janko
>>>>>>>>>
>>>>>>>>>> ----- Original Message -----
>>>>>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>>>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>>>>>>>> Subject: Re: [aida] addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Hi Dirk,
>>>>>>>>>>>
>>>>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Is there an example of this available ? I guess I can use this
>>>>>>>>>>>> to
>>>>>>>>>>>> create
>>>>>>>>>>>> a kind of dropdownlist ?
>>>>>>>>>>> In HTML it called menu
>>>>>>>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In
>>>>>>>>>>> Aida
>>>>>>>>>>> there is a WebMenu and here s short example of usage:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> menu := WebMenu
>>>>>>>>>>>   aspect: #name
>>>>>>>>>>>   collection: self authors
>>>>>>>>>>>   selectedToAspect: #author
>>>>>>>>>>>   of: self.
>>>>>>>>>>>
>>>>>>>>>>> or with convenience method:
>>>>>>>>>>>
>>>>>>>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Here you select an author by name from self authors and save
>>>>>>>>>>> selected
>>>>>>>>>>> object (not a name string!) to aspect #author (this calls
>>>>>>>>>>> accessor/mutator #author and #author: ) of self. Note that if
>>>>>>>>>>> there
>>>>>>>>>>> is
>>>>>>>>>>> author selected from before, it will be preselected.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> I use "anElement addMenuAspect: #name collection: self observee
>>>>>>>>>>>> seasonColl selectedToAspect: #season of: self observee." but by
>>>>>>>>>>>> the
>>>>>>>>>>>> time
>>>>>>>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>>>>>>>> objectToStore is nil.
>>>>>>>>>>> And this you already solved by yourself.
>>>>>>>>>>>
>>>>>>>>>>> Best regards
>>>>>>>>>>> Janko
>
> --
> Janko Miv?ek
> AIDA/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
> _______________________________________________
> Aida mailing list
> Aida op aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida
> _______________________________________________
> Aida mailing list
> Aida op aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida
>


Reply | Threaded
Open this post in threaded view
|

Dropdown menus

Dirk Verleysen-2
Got it... it was a view problem. Bad initialization.

----- Original Message -----
From: "Dirk Verleysen" <dirk op verleysen.net>
To: "AIDA/Web general discussion list" <aida op aidaweb.si>
Sent: Friday, October 19, 2007 5:10 PM
Subject: Re: [aida] Dropdown menus


>I checked the acceptInputs and noticed that "request postDataStringAt:
> WebForm idFieldName" returns nil. I can make it work with the
> onClickUpdate:
> but I would like to use normal actions most of the time. Any idea what I'm
> doing wrong ?
>
>
> ----- Original Message -----
> From: "Dirk Verleysen" <dirk.verleysen op roots.be>
> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
> Sent: Monday, October 15, 2007 11:05 PM
> Subject: Re: [aida] Dropdown menus
>
>
>> This button was on a form that had the drop down's. I managed an
>> onClickUpdate: and got this working thru that but I had the impression
>> that there was no real submit. Apart from 4 menu's I had no other inputs.
>> I'll try to put a breakpoint in acceptInputs tomorrow and try to find out
>> what is happening.
>>
>> Another question is that I have a list that is updated after I click the
>> button. The page is generated but the first time shown without css
>> layout.
>> I have to refresh to get the css working. Any idea what is happening ?
>>
>> Dirk
>>
>> -----Oorspronkelijk bericht-----
>> Van: aida-bounces op aidaweb.si [mailto:aida-bounces op aidaweb.si] Namens
>> Janko
>> Miv?ek
>> Verzonden: maandag 15 oktober 2007 22:38
>> Aan: AIDA/Web general discussion list
>> Onderwerp: Re: [aida] Dropdown menus
>>
>> Dirk,
>>
>> Dirk Verleysen wrote:
>>> Got this working and it's looking fine.
>>>
>>> Now I have a button but there is no responds. What the best place to put
>>> a
>>> breakpoint?
>>
>> A button does not submit a form? Does button at least cause page to be
>> reloaded? Do you have a proper action method for that view?
>>
>> To debug form submitting put a checkpoint on WebApplication acceptInputs.
>>
>> Janko
>>
>>>
>>> Dirk
>>> ----- Original Message -----
>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>> Sent: Monday, October 15, 2007 3:38 PM
>>> Subject: Re: [aida] Dropdown menus
>>>
>>>
>>>> Dirk,
>>>>
>>>> This should work if you have id39 element in its own method. editorLine
>>>> and editorLineLabel elements have a class set, not id, so they don't
>>>> interfere.
>>>>
>>>> To debug such a problem, you can put a breakpoint in WebApplication
>>>> #respondToAjaxRequest and step ahead to see, what is wrong.
>>>>
>>>> Janko
>>>>
>>>> Dirk Verleysen wrote:
>>>>> Not really...
>>>>>
>>>>> I have the following html right now.
>>>>>
>>>>> <div id="id39">
>>>>>       <div class="editorLine">
>>>>>        <div class="editorLineLabel">
>>>>>        Seizoen:
>>>>>        </div>
>>>>>       <select onChange="var field = Form.Element.serialize('id40');
>>>>> new
>>>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>>>> field
>>>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true});
>>>>> "
>>>>> id="id40" name="field23"><option></option><option
>>>>> selected>2007-2008</option> </select>
>>>>>
>>>>>       </div>
>>>>>       <div class="editorLine">
>>>>>        <div class="editorLineLabel">
>>>>>        Serie:
>>>>>        </div>
>>>>>       <select onChange="var field = Form.Element.serialize('id41');
>>>>> new
>>>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>>>> field
>>>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true});
>>>>> "
>>>>> id="id41"
>>>>> name="field24"><option></option><option>Duiveltjes -6</option>
>>>>> <option>Duiveltjes -8</option> <option selected>Duiveltjes -7</option>
>>>>> <option>Preminiemen -9</option> <option>Preminiemen -10</option>
>>>>> <option>Miniemen B</option> <option>1e Ploeg</option>
>>>>> <option>Reserves</option> <option>Scholieren</option> <option>Miniemen
>>>>> A</option> <option>Knapen</option> </select>
>>>>>
>>>>>       </div>
>>>>>       <div class="editorLine">
>>>>>        <div class="editorLineLabel">
>>>>>        Team:
>>>>>        </div>
>>>>>       <select onChange="var field = Form.Element.serialize('id42');
>>>>> new
>>>>> Ajax.Updater('id39', '/calendarbook.html', {method: 'post', postBody:
>>>>> field
>>>>> + '&view=main&ajaxRequest&ajaxGetElementId=id39', evalScripts: true});
>>>>> "
>>>>> id="id42"
>>>>> name="field25"><option></option><option>Duiveltjes -7</option>
>>>>> <option>Baardegem</option> <option>Hofstade A</option>
>>>>> <option>Hofstade
>>>>> B</option> <option>Doggen</option> <option>Erembodegem</option>
>>>>> <option>Nieuwerkerken</option> <option>ST.Denderleeuw</option>
>>>>> <option>Terjoden-Welle B</option> <option>VB.Meldert</option>
>>>>> <option>VCE.Aalst</option> <option>Lebeke-Aalst</option>
>>>>> <option>Kerksken</option> <option>Mere</option> <option>Rangers
>>>>> Opdorp</option> <option>Terjoden-Welle A</option> </select>
>>>>>
>>>>>       </div>
>>>>>      </div>
>>>>>
>>>>> I guess the WebElement editorLine and editorLineLabel are interfering
>>>>> with
>>>>> the id39 for the update ?
>>>>>
>>>>> Dirk
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>> Sent: Monday, October 15, 2007 3:04 PM
>>>>> Subject: Re: [aida] Dropdown menus
>>>>>
>>>>>
>>>>>> Dirk Verleysen wrote:
>>>>>>> Ouch !!! Does this mean that I can't use styles for labels and other
>>>>>>> layouts
>>>>>>> between the different menu's ?
>>>>>> Why not? Put style also in a separate method and reuse it in many
>>>>>> other
>>>>>> elements, like:
>>>>>>
>>>>>> menuStyle
>>>>>>   ^'
>>>>>> font-size: 12px
>>>>>> '
>>>>>>
>>>>>> menusElement
>>>>>>   ..
>>>>>>   menu1 style: self menuStyle.
>>>>>>   ..
>>>>>>
>>>>>> Something like that. But even better would be of course to put CSS
>>>>>> styling into your WebStyle subclass and use menu class: #menuStyle
>>>>>> etc.
>>>>>>
>>>>>> Was that your question?
>>>>>>
>>>>>> Janko
>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>>> Sent: Monday, October 15, 2007 2:09 PM
>>>>>>> Subject: Re: [aida] Dropdown menus
>>>>>>>
>>>>>>>
>>>>>>>> Dirk,
>>>>>>>>
>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>
>>>>>>>>> I'm doing this and the updates to the domain are done but the
>>>>>>>>> WebElement
>>>>>>>>> that should be refreshed is simply removed. When I refresh the
>>>>>>>>> page
>>>>>>>>> it's
>>>>>>>>> returned on the browser with the updated fields.
>>>>>>>> Be sure that an updatable element is in the separate method and not
>>>>>>>> simply one of the elements in a method. This method must also
>>>>>>>> return
>>>>>>>> just that element.
>>>>>>>>
>>>>>>>> This is a rule for Ajax updatable elements - they must reside each
>>>>>>>> in
>>>>>>>> its own method.
>>>>>>>>
>>>>>>>> Best regards
>>>>>>>> Janko
>>>>>>>>
>>>>>>>>> ----- Original Message -----
>>>>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>>>>> Sent: Monday, October 15, 2007 11:35 AM
>>>>>>>>> Subject: Re: [aida] Dropdown menus (was: addMenuAspect:...)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>>>> Can I send an event after an item in the menu is selected ? I
>>>>>>>>>>> want
>>>>>>>>>>> 3
>>>>>>>>>>> menus
>>>>>>>>>>> on 1 form and the collection of the 2nd menu is dependent on the
>>>>>>>>>>> selection
>>>>>>>>>>> of the first menu. The collection of the 3th menu is created
>>>>>>>>>>> after
>>>>>>>>>>> you
>>>>>>>>>>> know
>>>>>>>>>>> what was selected in the 2nd menu.
>>>>>>>>>> This is very common pattern and very nicely solved with Ajax
>>>>>>>>>> updating
>>>>>>>>>> of
>>>>>>>>>> an element containing all three menus. For that you use
>>>>>>>>>> onChangePostAndUpdate: on your menus:
>>>>>>>>>>
>>>>>>>>>> menusElement
>>>>>>>>>>   | e |
>>>>>>>>>>   e := WebElement new.
>>>>>>>>>>
>>>>>>>>>>   menu1 := WebMenu aspect: ....
>>>>>>>>>>   menu1 onCangePostAndUpdate: e.
>>>>>>>>>>   e add: menu1; addBreak.
>>>>>>>>>>
>>>>>>>>>>   menu2 := WebMenu aspect: ....
>>>>>>>>>>   menu2 onCangePostAndUpdate: e.
>>>>>>>>>>   e add: menu2; addBreak.
>>>>>>>>>>
>>>>>>>>>>   menu3 := WebMenu aspect: ....
>>>>>>>>>>   e add: menu3.
>>>>>>>>>>   ^e
>>>>>>>>>>
>>>>>>>>>> Janko
>>>>>>>>>>
>>>>>>>>>>> ----- Original Message -----
>>>>>>>>>>> From: "Janko Miv?ek" <janko.mivsek op eranova.si>
>>>>>>>>>>> To: "AIDA/Web general discussion list" <aida op aidaweb.si>
>>>>>>>>>>> Sent: Monday, October 15, 2007 10:58 AM
>>>>>>>>>>> Subject: Re: [aida]
>>>>>>>>>>> addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Hi Dirk,
>>>>>>>>>>>>
>>>>>>>>>>>> Dirk Verleysen wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Is there an example of this available ? I guess I can use this
>>>>>>>>>>>>> to
>>>>>>>>>>>>> create
>>>>>>>>>>>>> a kind of dropdownlist ?
>>>>>>>>>>>> In HTML it called menu
>>>>>>>>>>>> http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.6. In
>>>>>>>>>>>> Aida
>>>>>>>>>>>> there is a WebMenu and here s short example of usage:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> menu := WebMenu
>>>>>>>>>>>>   aspect: #name
>>>>>>>>>>>>   collection: self authors
>>>>>>>>>>>>   selectedToAspect: #author
>>>>>>>>>>>>   of: self.
>>>>>>>>>>>>
>>>>>>>>>>>> or with convenience method:
>>>>>>>>>>>>
>>>>>>>>>>>> anElement addMenuAspect:collection:selectedToAspect:of:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Here you select an author by name from self authors and save
>>>>>>>>>>>> selected
>>>>>>>>>>>> object (not a name string!) to aspect #author (this calls
>>>>>>>>>>>> accessor/mutator #author and #author: ) of self. Note that if
>>>>>>>>>>>> there
>>>>>>>>>>>> is
>>>>>>>>>>>> author selected from before, it will be preselected.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> I use "anElement addMenuAspect: #name collection: self
>>>>>>>>>>>>> observee
>>>>>>>>>>>>> seasonColl selectedToAspect: #season of: self observee." but
>>>>>>>>>>>>> by
>>>>>>>>>>>>> the
>>>>>>>>>>>>> time
>>>>>>>>>>>>> my HTML is generated my aspectToStore has become #name and my
>>>>>>>>>>>>> objectToStore is nil.
>>>>>>>>>>>> And this you already solved by yourself.
>>>>>>>>>>>>
>>>>>>>>>>>> Best regards
>>>>>>>>>>>> Janko
>>
>> --
>> Janko Miv?ek
>> AIDA/Web
>> Smalltalk Web Application Server
>> http://www.aidaweb.si
>> _______________________________________________
>> Aida mailing list
>> Aida op aidaweb.si
>> http://lists.aidaweb.si/mailman/listinfo/aida
>> _______________________________________________
>> Aida mailing list
>> Aida op aidaweb.si
>> http://lists.aidaweb.si/mailman/listinfo/aida
>>
>
> _______________________________________________
> Aida mailing list
> Aida op aidaweb.si
> http://lists.aidaweb.si/mailman/listinfo/aida
>