This contains a brief description of intents on Android (as I promised):
http://www.openexpo.ch/fileadmin/documents/2008Zuerich/Slides/33_Printemps.pdf

On Sun, Apr 5, 2009 at 11:25 PM, mdipierro <[email protected]> wrote:

>
> Here is one more demo:
>
>   http://www.web2py.com/events/default/index
>
> Here is the source code:
>
>   http://www.web2py.com/examples/static/web2py.app.events.tar
>
> Look into default.py and the associated view.
>
> Massimo
>
>
> On Apr 4, 2:24 pm, ceej <[email protected]> wrote:
> > I think there should defiantly be an option to have the contents
> > already loaded without having to click a link.
> >
> > On Apr 4, 11:50 am, mdipierro <[email protected]> wrote:
> >
> > > Note to self. Things to be fixed:
> >
> > > 1) the action needs knowledge on whether it is in a container.
> > > Solution: add a header that says so.
> >
> > > 2) the action response needs to be able to reference other containers
> > > in order to trigger actions  there. Right now each container is
> > > identified by a unique but random id and there is no way to guess it.
> > > Solution: have the user specify the "name" of each container.
> >
> > > 3) if a container contains a form that selft submit and then redirect
> > > the content to a another action that also has a form. This second form
> > > will not work properly. Solution 1: the programmer needs to specify
> > > the [SQL]FORM(_action=) but this is a problem form legacy code that
> > > you want to ajaxify. Solution 2: have the jDiv code automatically
> > > determine the action from context.
> >
> > > 4) right now every container has a link (that triggers the loading of
> > > the content) and a div with the content. To what extent should this be
> > > customizable? For example, you may want the container to have a top
> > > bar with additional buttons. Should this customization be a feature of
> > > the current container class (jDiv) or should the class be subclassed?
> > > This opens a big can of worms since the "frame" of the components
> > > needs to have some standard hooks in order to expose functions like
> > > "reload the content", "close it", etc. (what else?).
> >
> > > can you think of anything else?
> >
> > > Massimo
> >
> > > On Apr 4, 1:02 am, mdipierro <[email protected]> wrote:
> >
> > > > I re-posted a slightly better version.
> >
> > > > The new version work in this way:
> >
> > > > say you have an action like:
> >
> > > > def myform():
> > > >      form=SQLFORM(...)
> > > >      if form.accepts(....):
> > > >           # do something
> > > >           redirect(URL(....));
> > > >      return dict(form=form)
> >
> > > > You can turn it into a partial by replacing "redirect" with
> > > > "jDiv.redirect or "jDiv.flash"
> >
> > > > def myform():
> > > >      form=SQLFORM(...)
> > > >      if form.accepts(....):
> > > >           # do something
> > > >           jDiv.redirect("done!!!");
> > > >      return dict(form=form)
> >
> > > > and create a view that DOES NOT extend the layout and does not have
> > > > HTML and BODY tags. Something like this will do:
> >
> > > > {{=form}}
> >
> > > > Then create a parent action and in the view embed this partial
> >
> > > > {{=jDiv("click me to ajax the partial",URL(r=request,f="myform"))}}
> >
> > > > Mind that a partial can be served by another application (within the
> > > > same web2py installation), can be a proxy to a different web-site and
> > > > can contain an IFRAME (not recommended but possible).
> >
> > > > @Yarko. I agree that this that this is not yet a complete solution
> but
> > > > more of a hack. Nevertheless it lets you take forms you have already
> > > > created and turn them into ajax forms. It does not require any
> > > > modification in web2py nor any third party libraries (it only
> requires
> > > > the new layout and new web2py_ajax.html).
> >
> > > > I have been looking but I cannot really find a detailed decsription
> of
> > > > how those other systems work.
> >
> > > > On Apr 3, 11:19 pm, ceej <[email protected]> wrote:
> >
> > > > > I'm really liking this idea Massimo, I'm going to be using it in a
> > > > > project I'm about to start and grow on it :)
> >
> > > > > Keeps using ajax very DRY.
> >
> > > > > On Apr 3, 4:08 pm, mdipierro <[email protected]> wrote:
> >
> > > > > > There has been a lot of discussion in the past about forms that
> submit
> > > > > > via ajax and may or may not refresh the entire page. It is also
> useful
> > > > > > to be able to break html pages into "modules" or "plugins" or
> > > > > > "components" each with its own model, view, controller in such a
> way
> > > > > > that they communicate both serversize (by sharing session and
> > > > > > database) and clientsize (one boxed component should be able for
> > > > > > example to refresh the entire page or trigger a flash).
> >
> > > > > > I have prototype application that does this.
> >
> > > > > >    http://www.web2py.com/examples/static/web2py.app.events.tar
> >
> > > > > > It uses jquery publisher subscriber mechanism. All the code is in
> a
> > > > > > new web2py_ajax and a class call jDiv (similar to Rails Partial
> but
> > > > > > more powerful in my opinion) which I could include in html.py
> >
> > > > > > It allows you to write code like this:
> >
> > > > > > def index():
> > > > > >    return dict(partial1=jDiv('click me for text','mycallback1'),
> > > > > >                partial2=jDiv('click me for flash','mycallback2'),
> > > > > >                partial3=jDiv('click me to
> redirect','mycallback3'),
> > > > > >                partial4=jDiv('click me for form','mycallback4'))
> >
> > > > > > def mycallback1():
> > > > > >    return 'hello world'
> >
> > > > > > def mycallback2():
> > > > > >    return jDiv.flash('this is a test') # flash on the container
> page
> >
> > > > > > def mycallback3():
> > > > > >    return jDiv.redirect('http://www.yahoo.com') # redirects
> entire
> > > > > > page
> >
> > > > > > def mycallback4():
> > > > > >    form=FORM('your name:',
> > > > > >              INPUT(_name='name',requires=IS_NOT_EMPTY()),
> > > > > >              INPUT(_type='submit'))
> > > > > >    if form.accepts(request.vars):
> > > > > >        return jDiv.flash('hello '+form.vars.name)
> > > > > >    return form
> >
> > > > > > Can you figure out what it does?
> > > > > > Not that the page is never reloaded. Only parts (partials, jDivs)
> of
> > > > > > the reloaded. Each jDiv lives in its own container, has one
> action,
> > > > > > can have a view, and can talk to each other.
> >
> > > > > > This may require some more thought.
> >
> > > > > > Comments?
> >
> > > > > > Massimo
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to