From joerg.jacobsen@web.de Fri Apr 18 14:20:45 2008 From: Jacobsen =?utf-8?q?J=C3=B6rg?= To: smallwiki@list.inf.unibe.ch Subject: asComponent yields empty form Date: Fri, 18 Apr 2008 14:20:25 +0200 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6496662407788252055==" --===============6496662407788252055== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi everyone, I'm trying to code my first Magritte-based form but it persistently =20 refuses to display the input fields. Here is what I did: Instance methods on SFCalendar (subclassed from Object): descriptionPatients "comment stating purpose of message" ^ MAStringDescription new selectorAccessor: #patients; label: 'Patienten'; priority: 90; default: 'Schnulli, Bulli'; yourself descriptionStartDate "comment stating purpose of message" ^ MADateDescription new selectorAccessor: #startDate; label: 'Beginn am'; priority: 100; default: (Date today subtractDays: (Date today dayOfMonth - 1)); yourself and I created the mentioned accessors. Instance method on the seaside component: createNewCalendar "Calendar form" | calendar | calendar :=3D self call: (SFCalendar new asComponent addValidatedForm; =20 yourself) Sending :createNewCalendar yields:
So I get some internal (?) input fields off the top of the page and an =20 empty table (which is where I should probably get my input fields?). Help is greatly appreciated. Joerg. --===============6496662407788252055== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.htm" MIME-Version: 1.0 PGh0bWw+PGJvZHkgc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1uYnNwLW1v ZGU6IHNwYWNlOyAtd2Via2l0LWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNlOyAiPkhpIGV2 ZXJ5b25lLDxkaXY+PGJyPjwvZGl2PjxkaXY+SSdtIHRyeWluZyB0byBjb2RlIG15IGZpcnN0IE1h Z3JpdHRlLWJhc2VkIGZvcm0gYnV0IGl0IHBlcnNpc3RlbnRseSByZWZ1c2VzIHRvIGRpc3BsYXkg dGhlIGlucHV0IGZpZWxkcy48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkhlcmUgaXMgd2hhdCBJ IGRpZDo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pkluc3RhbmNlIG1ldGhvZHMgb24gU0ZDYWxl bmRhciAoc3ViY2xhc3NlZCBmcm9tIE9iamVjdCk6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48 ZGl2PmRlc2NyaXB0aW9uUGF0aWVudHM8L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWIt c3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CTwvc3Bhbj4iY29tbWVudCBzdGF0aW5nIHB1 cnBvc2Ugb2YgbWVzc2FnZSI8L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIg c3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CTwvc3Bhbj5eIE1BU3RyaW5nRGVzY3JpcHRpb24gbmV3 PC9kaXY+PGRpdj48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFj ZTpwcmUiPgkJPC9zcGFuPnNlbGVjdG9yQWNjZXNzb3I6ICNwYXRpZW50czs8L2Rpdj48ZGl2Pjxz cGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CQk8L3Nw YW4+IGxhYmVsOiAnUGF0aWVudGVuJzs8L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWIt c3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CQk8L3NwYW4+IHByaW9yaXR5OiA5MDs8L2Rp dj48ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnBy ZSI+CQk8L3NwYW4+IGRlZmF1bHQ6ICdTY2hudWxsaSwgQnVsbGknOzwvZGl2PjxkaXY+PHNwYW4g Y2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCTwvc3Bhbj4g eW91cnNlbGY8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+ZGVzY3JpcHRpb25TdGFydERh dGU8L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNw YWNlOnByZSI+CTwvc3Bhbj4iY29tbWVudCBzdGF0aW5nIHB1cnBvc2Ugb2YgbWVzc2FnZSI8L2Rp dj48ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnBy ZSI+CTwvc3Bhbj5eIE1BRGF0ZURlc2NyaXB0aW9uIG5ldyBzZWxlY3RvckFjY2Vzc29yOiAjc3Rh cnREYXRlOzwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hp dGUtc3BhY2U6cHJlIj4JCTwvc3Bhbj4gbGFiZWw6ICdCZWdpbm4gYW0nOzwvZGl2PjxkaXY+PHNw YW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCTwvc3Bh bj4gcHJpb3JpdHk6IDEwMDs8L2Rpdj48ZGl2PjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIg c3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CQk8L3NwYW4+IGRlZmF1bHQ6IChEYXRlIHRvZGF5IHN1 YnRyYWN0RGF5czogKERhdGUgdG9kYXkgZGF5T2ZNb250aCAtIDEpKTs8L2Rpdj48ZGl2PjxzcGFu IGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CQk8L3NwYW4+ IHlvdXJzZWxmPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5hbmQgSSBjcmVhdGVkIHRoZSBtZW50 aW9uZWQgYWNjZXNzb3JzLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SW5zdGFuY2UgbWV0aG9k IG9uIHRoZSBzZWFzaWRlIGNvbXBvbmVudDo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+ PGRpdj5jcmVhdGVOZXdDYWxlbmRhcjwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1z cGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPiJDYWxlbmRhciBmb3JtIjwvZGl2 PjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJl Ij4JPC9zcGFuPnwgY2FsZW5kYXIgfDwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1z cGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPmNhbGVuZGFyIDo9IHNlbGYgY2Fs bDogKFNGQ2FsZW5kYXIgbmV3IGFzQ29tcG9uZW50IGFkZFZhbGlkYXRlZEZvcm07IHlvdXJzZWxm KTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+U2VuZGluZyA6Y3JlYXRlTmV3Q2FsZW5kYXIgeWll bGRzOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNw YW4iIHN0eWxlPSJmb250LWZhbWlseTogVGltZXM7IGZvbnQtc2l6ZTogMTBweDsgIj48cHJlIHN0 eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgIj4mbHQ7 Zm9ybSBhY2NlcHQtY2hhcnNldD0idXRmLTgiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSI8YSBocmVm PSJodHRwOi8vbG9jYWxob3N0OjgwOTAvc2Vhc2lkZS9QYXRpZW50ZW5rYWxlbmRlciI+aHR0cDov L2xvY2FsaG9zdDo4MDkwL3NlYXNpZGUvUGF0aWVudGVua2FsZW5kZXI8L2E+Ij4mbHQ7ZGl2PiZs dDtpbnB1dCBuYW1lPSIxIiB2YWx1ZT0iRGVmYXVsdCIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0 ZTsgdG9wOiAtMTAwZW0iIHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdCIvPiZsdDtpbnB1dCBu YW1lPSIyIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBlbSIgdHlwZT0idGV4 dCIgY2xhc3M9InRleHQiLz4mbHQ7L2Rpdj4mbHQ7dGFibGU+Jmx0Oy90YWJsZT4mbHQ7ZGl2IGNs YXNzPSJidXR0b25zIj4mbHQ7aW5wdXQgYWNjZXNza2V5PSJTIiB2YWx1ZT0iU2F2ZSIgbmFtZT0i MyIgdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0Ii8+Jmx0O2lucHV0IGFjY2Vzc2tleT0iQyIg dmFsdWU9IkNhbmNlbCIgbmFtZT0iNCIgdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0Ii8+Jmx0 Oy9kaXY+Jmx0O2Rpdj4mbHQ7aW5wdXQgbmFtZT0iX3MiIHZhbHVlPSJ1cE1rRVVwb0dueFdHVXZP IiB0eXBlPSJoaWRkZW4iIGNsYXNzPSJoaWRkZW4iLz4mbHQ7aW5wdXQgbmFtZT0iX2siIHZhbHVl PSJ4eEN1VHp2VyIgdHlwZT0iaGlkZGVuIiBjbGFzcz0iaGlkZGVuIi8+Jmx0Oy9kaXY+Jmx0Oy9m b3JtPjwvcHJlPjxwcmUgc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgd2hpdGUtc3BhY2U6 IHByZS13cmFwOyAiPjxmb250IGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBmYWNlPSJIZWx2ZXRp Y2EiIHNpemU9IjMiPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iZm9udC1z aXplOiAxMnB4OyI+U28gSSBnZXQgc29tZSBpbnRlcm5hbCAoPykgaW5wdXQgZmllbGRzIG9mZiB0 aGUgdG9wIG9mIHRoZSBwYWdlIGFuZCBhbiBlbXB0eSB0YWJsZSAod2hpY2ggaXMgd2hlcmUgSSBz aG91bGQmbmJzcDtwcm9iYWJseSBnZXQgbXkgaW5wdXQgZmllbGRzPykuPC9zcGFuPjwvZm9udD48 L3ByZT48cHJlIHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IHdoaXRlLXNwYWNlOiBwcmUt d3JhcDsgIj48Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0iSGVsdmV0aWNhIiBz aXplPSIzIj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImZvbnQtc2l6ZTog MTJweDsiPkhlbHAgaXMgZ3JlYXRseSBhcHByZWNpYXRlZC4gSm9lcmcuPC9zcGFuPjwvZm9udD48 L3ByZT48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRtbD4= --===============6496662407788252055==-- From cdrick65@gmail.com Fri Apr 18 15:20:46 2008 From: cdrick To: smallwiki@list.inf.unibe.ch Subject: Re: asComponent yields empty form Date: Fri, 18 Apr 2008 15:20:27 +0200 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2551847371450212313==" --===============2551847371450212313== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Hi, 2008/4/18, Jacobsen Jörg : > Hi everyone, > > I'm trying to code my first Magritte-based form but it persistently refuses > to display the input fields. > > Here is what I did: > > Instance methods on SFCalendar (subclassed from Object): Are they instance side method or class side method ? This must be the latter. Cédrick > > > descriptionPatients > "comment stating purpose of message" > ^ MAStringDescription new > selectorAccessor: #patients; > label: 'Patienten'; > priority: 90; > default: 'Schnulli, Bulli'; > yourself > > > descriptionStartDate > "comment stating purpose of message" > ^ MADateDescription new selectorAccessor: #startDate; > label: 'Beginn am'; > priority: 100; > default: (Date today subtractDays: (Date today dayOfMonth - 1)); > yourself > > and I created the mentioned accessors. > > Instance method on the seaside component: > > > createNewCalendar > "Calendar form" > | calendar | > calendar := self call: (SFCalendar new asComponent addValidatedForm; > yourself) > > Sending :createNewCalendar yields: > >
action="http://localhost:8090/seaside/Patientenkalender">
name="1" value="Default" style="position: absolute; top: -100em" > type="submit" class="submit"/> class="text"/>
class="buttons"> class="submit"/> class="submit"/>
value="upMkEUpoGnxWGUvO" type="hidden" class="hidden"/> value="xxCuTzvW" type="hidden" class="hidden"/>
> So I get some internal (?) input fields off the top of the page and an empty > table (which is where I should probably get my input fields?). > Help is greatly appreciated. Joerg. > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > --===============2551847371450212313==-- From joerg.jacobsen@web.de Fri Apr 18 16:34:58 2008 From: Jacobsen =?utf-8?q?J=C3=B6rg?= To: smallwiki@list.inf.unibe.ch Subject: Re: asComponent yields empty form Date: Fri, 18 Apr 2008 16:34:38 +0200 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3071469868363374551==" --===============3071469868363374551== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Cédrick, that did the trick. I thought class or instance wouldn't matter based on what Ramon Leon said in his 'Using Magritte with Seaside' blog post. Thank you, Joerg. --===============3071469868363374551==-- From ramon.leon@allresnet.com Fri Apr 18 20:03:04 2008 From: Ramon Leon To: smallwiki@list.inf.unibe.ch Subject: RE: asComponent yields empty form Date: Fri, 18 Apr 2008 11:06:44 -0700 Message-ID: <1fd701c8a17e$f6df9c20$f000a8c0@hq.allresnet.com> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1442397915978336586==" --===============1442397915978336586== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit > Subject: Re: asComponent yields empty form > > Cédrick, that did the trick. > > I thought class or instance wouldn't matter based on what > Ramon Leon said in his 'Using Magritte with Seaside' blog post. > > Thank you, Joerg. My bad, I was a bit misleading there, you'd override #description on the instance side to gather the instance side descriptions to merge with the class side descriptions. I'll have to correct that post, it is misleading. Ramon Leon http://onsmalltalk.com --===============1442397915978336586==-- From cdrick65@gmail.com Fri Apr 18 20:27:33 2008 From: cdrick To: smallwiki@list.inf.unibe.ch Subject: Re: asComponent yields empty form Date: Fri, 18 Apr 2008 20:27:22 +0200 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8828929360572496982==" --===============8828929360572496982== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit 2008/4/18, Jacobsen Jörg : > Cédrick, that did the trick. > > I thought class or instance wouldn't matter based on what Ramon Leon > said in his 'Using Magritte with Seaside' blog post. It does by default ;-) "Generally speaking you'll keep these descriptions on the class side of your domain object. On occasion, you'll want some property of the description to be dynamic and depend on the actual value of an instance side value, so you'll move the description to the instance side. Strictly speaking, it doesn't matter where you put them, sometimes you'll use them to build forms when you don't even have a domain object, but this isn't the normal case." I think to declare description on the instance side, you need to modify the DescriptionBuilder so as it looks in the instance side. Another way is to declare them on the class side and then overide description on the instance side to copy the default description and then modify them... > > Thank you, Joerg. > > > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > --===============8828929360572496982==--