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 |
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 |
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 |
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 > |
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 |
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 > |
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 |
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 > |
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 |
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 > |
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 |
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 > |
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 |
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 |
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 > |
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 > |
Free forum by Nabble | Edit this page |