[Seaside] Some harder questions

Jim Benson jb@speed.net
Tue, 11 Jun 2002 21:58:58 -0700


> Ok, sorry, before I answer anything, I'm not actually clear on what you're
> trying to do.  The idea is to have the form autosubmit whenever the select
> changes?  Or is there some more nefarious mechanism at work here?

Nothing nefarious. I just want a simple browser, one list is the section,
the second list is a list of the subsections of the selected section, and
the third is text associated with a selected subsection. So, I click on the
section list, which selects the section.

In addition, that gathers the associated subsections, and selects the first
one (if there are any). When a subsection is selected, the text associated
with that subsection is shown in the third pane.

In other words, it just like a Squeak five pane browser except with only
three panes. In Squeak, open a SystemBrowser. Select "Kernel-Objects" in the
first pane, the second pane shows 'Boolean, DependentsArray,
EventMessageSet, ... '. automatically. That's the behaviour I'm looking for,
same with selecting a method name bringing up a method in the lower pane.

Straightforward stuff in the Squeak world.  I'd like a way to do that in
Seaside, basically have the form autosubmit when the selection changes in
one of the list panes.

With my limited knowledge of the HTML world, the only way I could think of
was to use the "onChange" Event Handler with Javascript.  I was hoping that
the people with brains on this list could tell me, "Ah, here's a simple
solution, no js needed". Short of that, "Here's a relatively simple
solution". The third alternative is almost unmentionable, it would require
me to actually work some java stuff in there and then things get ugly real
quick. What I've seen in other similar project is that you become a library
manager on the server side for javascript code.


> On Tue, 11 Jun 2002, Jim Benson wrote:
> > Usually I just ask simple questions. I've been playing by the Seaside
> > the last couple of weeks. It's been very entertaining.
> >
> > Now it's time to buckle down and get to work.
> >
> > I have an application in mind. Basically, it's a three pane browser, two
> > scrolling lists side by side in the upper pane, and a text area in the
> > half of the window, similar in concept to the Squeak browser at:
> >
> > http://swiki.gsug.org:8888/browser/
> >
> > In the Squeak browser implementation, there's some javascript in there
> > help, and it uses frames (Avi close your eyes).
> >
> > My first thought was to be sneaky and try to get away with just storing
> > list items in a form with <select> <option> and then using an expression
> > like:
> >
> > onchange="location.href=
> > &#13;&#10;(form.select.options[form.select.selectedIndex].value)
> >
> > with the <select> statement being named "select". This would kind of
> > automagically take care of things for me, and doesn't seem overly
> > The problem with that is that Seaside kind of comandeers the name of the
> > select tag when it goes dynamic, so that it is difficult to refer to the
> > select statement by the name attribute. Of course, what I really want to
> > is just submit the form, but I couldn't figure out how to do that. The
> > select tag is dynamic in the form:
> >
> > html
> > ^ #( ... ( form ...
> >      ( select  size: 10 name: '@sectionName/sectionList'
> >      ( option sea:id: sectionName '[sectionName.value.headerString]'
... )))
> >
> > ...)
> >
> >
> > So there are a couple questions here.
> >
> > Is there a way to come up with "the magic browser" that is pure HTML, or
> > short of that, really simple nasty stuff I can spit out from the server
> > side?
> >
> > What is the general case for doing this? Assuming that Seaside takes the
> > name attribute for itself, how do you latch onto it in those nasty other
> > languages? What about javascript in general, how do you deal with it
> > the Seaside?
> >
> > Jim
> >
> >
> > _______________________________________________
> > Seaside mailing list
> > Seaside@lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/listinfo/seaside
> >