[Seaside] Accepting input from parent & child components

Mark Bratcher mdbratch at gmail.com
Tue Sep 8 20:11:08 UTC 2015


It looks like the latest ported Seaside for GNU Smalltalk is a little
behind the latest official version. The WACallbackRegistry >> handle:
selector doesn't exist (I'm looking at a Seaside-Core.st file). But you've
pointed me in the right direction, so I can start digging into the Seaside
code that I do have and figure out where it breaks down.

On Tue, Sep 8, 2015 at 1:09 PM, Otto Behrens <otto at finworks.biz> wrote:

> What you have here looks fine to me.
>
> So the next thing I can think of do is to use the debugger to figure
> out what is going on.
>
> I would set a breakpoint in WACallbackRegistry >> handle:. This method
> maps the names that are posted to the callbacks that are evaluated.
> So, this will tell you firstly what fields are posted and then if they
> map to the callback registry. If the field is not there, then you know
> it is not coming through from the browser. If the callback is not
> mapped, then we can try to figure that out from where the callback is
> created. This is getting deep into Seaside though...
>
> > I do have "plain" subclasses of WAComponent to an overall
> "MyAppComponent",
> > then all my app's components are subclassed from MyAppComponent. and I do
> > have `children` defined in my subclass and `renderContentOn`.
> MyAppComponent
> > provides a common set of small rendering helpers for formatting, and
> loads
> > common CSS files in `updateRoot` which the subcomponents can capture via
> > `super updateRoot: html`.
> >
> >
> > Conceptually:
> >
> >
> > MyAppComponent subclass: ParentComponent [
> >     new [
> >         child := ChildComponent new
> >     ]
> >
> >     children [ ^Array with: child ]
> >
> >     initialize [
> >         super initialize.
> >         self addDecoration: (WAFormDecoration new buttons: self buttons).
> >     ]
> >
> >     renderContentOn: html [
> >         "render parent items here..."
> >
> >         html render: child
> >     ]
> >
> >         ...
> >
> > I can provide more specifics if needed.
> >
> >>
> >>
> >> > I'm not sure how to determine the version of Seaside I have. I am
> using
> >> > GNU
> >> > Smalltalk 3.2.91-b98173d, so it's whatever Seaside package revision
> >> > they've
> >> > included with that.
> >>
> >> I have no idea how to check that with GNU; we're using
> >> Monticello/Metacello to load into Pharo and GemStone. And even in our
> >> environment it is difficult to figure out.
> >>
> >> >
> >> > Regards
> >> > Mark
> >> >
> >> >
> >> > On 9/8/2015 6:25 AM, Otto Behrens wrote:
> >> >>>
> >> >>> The parent input fields and subcomponent input fields are within the
> >> >>> same
> >> >>> html `form`. However, when I click the submit button (done at the
> >> >>> parent
> >> >>> level), only the input items rendered by the parent are recognized.
> >> >>> Any
> >> >>> inputs provided by the user through the embedded, rendered
> >> >>> subcomponent
> >> >>> are
> >> >>> ignored.
> >> >>
> >> >> I would carefully look at the HTML that you produce here. And then
> >> >> make sure I don't have nested forms. Remember that if you use Chrome
> >> >> (and I suspect Firefox and others too), the HTML you see with the
> >> >> "inspect element" menu does not give you the real HTML. Chrome
> removes
> >> >> nested forms. Make sure you look at the raw HTML.
> >> >>
> >> >> If you say "recognized" I assume you're talking about inputs posted
> >> >> with the submit, which translates into callbacks processed by
> Seaside.
> >> >> If so, your inputs are not in the same form tag or you have nested
> >> >> form tags.
> >> >>
> >> >>> Is it possible to do what I'm attempting to do?
> >> >>
> >> >> Yes, we're doing this a lot, so we can find out what's going on here.
> >> >>
> >> >> Cheers
> >> >> Otto
> >> >> _______________________________________________
> >> >> seaside mailing list
> >> >> seaside at lists.squeakfoundation.org
> >> >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >> >
> >> >
> >> > _______________________________________________
> >> > seaside mailing list
> >> > seaside at lists.squeakfoundation.org
> >> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >> _______________________________________________
> >> seaside mailing list
> >> seaside at lists.squeakfoundation.org
> >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >
> >
> > _______________________________________________
> > seaside mailing list
> > seaside at lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> >
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150908/84c75260/attachment.htm


More information about the seaside mailing list