JQueryMobile initial release

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

JQueryMobile initial release

Nick
Hi,

I've just published an initial integration of JQuery Mobile [1] with Seaside. You can try it out at: http://jquerymobile.seasidehosting.st

It's nearly complete - the outstanding work is to integrate JQuery scripting support - though it's certainly usable in it's current form. Feedback is welcome.

This work has been sponsored by Louis Andriese at "Delta Lloyd Online Innovations" [2] and made available under the MIT licence. It wouldn't have been possible without their support.

The code is available for Pharo and VASt (see http://vastgoodies.com/)

To load the code into Pharo you'll need a recent release of Seaside (I used the version available on Lukas's Jenkins build server [3]):

Gofer it
  package: 'ConfigurationOfJQueryMobile';
  load.
(ConfigurationOfJQueryMobile project version: '1.0-baseline') load.

The code registers a functional test suite at /javascript/jquery-mobile

Cheers,

Nick



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Yanni Chiu
On 14/10/11 10:54 AM, Nick Ager wrote:
> Hi,
>
> I've just published an initial integration of JQuery Mobile [1] with
> Seaside. You can try it out at: http://jquerymobile.seasidehosting.st
> <http://jquerymobile.seasidehosting.st/>

Wow, this is unbelievably timely. I just spent yesterday looking around
for a mobile framework, and settled on JQuery Mobile. Then I found that
it did not play well with Seaside, and then found some mailing list talk
about it not working out so well with Seaside. I was just about to ask
for other ideas. I'll try out the code right now.

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

larrry
In reply to this post by Nick
This is fantastic.  Thanks!

On Fri, Oct 14, 2011 at 10:54 AM, Nick Ager <[hidden email]> wrote:

> Hi,
> I've just published an initial integration of JQuery Mobile [1] with
> Seaside. You can try it out at: http://jquerymobile.seasidehosting.st
> It's nearly complete - the outstanding work is to integrate JQuery scripting
> support - though it's certainly usable in it's current form. Feedback is
> welcome.
> This work has been sponsored by Louis Andriese at "Delta Lloyd Online
> Innovations" [2] and made available under the MIT licence. It wouldn't have
> been possible without their support.
> The code is available for Pharo and VASt (see http://vastgoodies.com/)
> To load the code into Pharo you'll need a recent release of Seaside (I used
> the version available on Lukas's Jenkins build server [3]):
> Gofer it
> url: 'http://ss3.gemstone.com/ss/jQueryMobile';
>   package: 'ConfigurationOfJQueryMobile';
>   load.
> (ConfigurationOfJQueryMobile project version: '1.0-baseline') load.
> The code registers a functional test suite at /javascript/jquery-mobile
> Cheers,
> Nick
>
> [1] http://jquerymobile.com/
> [2] http://www.deltalloydgroep.com/
> [3] http://jenkins.lukas-renggli.ch/job/Seaside%203.0/
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Hannes Hirzel
Excellent demo web site

http://jquerymobile.seasidehosting.st

--Hannes

On 10/14/11, Larry White <[hidden email]> wrote:

> This is fantastic.  Thanks!
>
> On Fri, Oct 14, 2011 at 10:54 AM, Nick Ager <[hidden email]> wrote:
>> Hi,
>> I've just published an initial integration of JQuery Mobile [1] with
>> Seaside. You can try it out at: http://jquerymobile.seasidehosting.st
>> It's nearly complete - the outstanding work is to integrate JQuery
>> scripting
>> support - though it's certainly usable in it's current form. Feedback is
>> welcome.
>> This work has been sponsored by Louis Andriese at "Delta Lloyd Online
>> Innovations" [2] and made available under the MIT licence. It wouldn't
>> have
>> been possible without their support.
>> The code is available for Pharo and VASt (see http://vastgoodies.com/)
>> To load the code into Pharo you'll need a recent release of Seaside (I
>> used
>> the version available on Lukas's Jenkins build server [3]):
>> Gofer it
>> url: 'http://ss3.gemstone.com/ss/jQueryMobile';
>>   package: 'ConfigurationOfJQueryMobile';
>>   load.
>> (ConfigurationOfJQueryMobile project version: '1.0-baseline') load.
>> The code registers a functional test suite at /javascript/jquery-mobile
>> Cheers,
>> Nick
>>
>> [1] http://jquerymobile.com/
>> [2] http://www.deltalloydgroep.com/
>> [3] http://jenkins.lukas-renggli.ch/job/Seaside%203.0/
>> _______________________________________________
>> seaside mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
>>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

NorbertHartl
In reply to this post by Nick
Wonderful Nick!

One question. There is a lot of mentioning single page apps. On my desktop it feals like one but on the iphone I can see it is loading every single page. Is this intended?

Norbert

Am 14.10.2011 um 16:54 schrieb Nick Ager:

Hi,

I've just published an initial integration of JQuery Mobile [1] with Seaside. You can try it out at: http://jquerymobile.seasidehosting.st

It's nearly complete - the outstanding work is to integrate JQuery scripting support - though it's certainly usable in it's current form. Feedback is welcome.

This work has been sponsored by Louis Andriese at "Delta Lloyd Online Innovations" [2] and made available under the MIT licence. It wouldn't have been possible without their support.

The code is available for Pharo and VASt (see http://vastgoodies.com/)

To load the code into Pharo you'll need a recent release of Seaside (I used the version available on Lukas's Jenkins build server [3]):

Gofer it
  package: 'ConfigurationOfJQueryMobile';
  load.
(ConfigurationOfJQueryMobile project version: '1.0-baseline') load.

The code registers a functional test suite at /javascript/jquery-mobile

Cheers,

Nick


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
I guess you are referring to the "loading..." popup. It is possible to prefetch pages: http://jquerymobile.com/test/docs/pages/page-cache.html

but I guess you need to be judicious in how many pages you prefetch

On 14 October 2011 18:08, Norbert Hartl <[hidden email]> wrote:
Wonderful Nick!

One question. There is a lot of mentioning single page apps. On my desktop it feals like one but on the iphone I can see it is loading every single page. Is this intended?

Norbert

Am 14.10.2011 um 16:54 schrieb Nick Ager:

Hi,

I've just published an initial integration of JQuery Mobile [1] with Seaside. You can try it out at: http://jquerymobile.seasidehosting.st

It's nearly complete - the outstanding work is to integrate JQuery scripting support - though it's certainly usable in it's current form. Feedback is welcome.

This work has been sponsored by Louis Andriese at "Delta Lloyd Online Innovations" [2] and made available under the MIT licence. It wouldn't have been possible without their support.

The code is available for Pharo and VASt (see http://vastgoodies.com/)

To load the code into Pharo you'll need a recent release of Seaside (I used the version available on Lukas's Jenkins build server [3]):

Gofer it
  package: 'ConfigurationOfJQueryMobile';
  load.
(ConfigurationOfJQueryMobile project version: '1.0-baseline') load.

The code registers a functional test suite at /javascript/jquery-mobile

Cheers,

Nick


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Sven Van Caekenberghe
In reply to this post by Hannes Hirzel

On 14 Oct 2011, at 18:04, H. Hirzel wrote:

> Excellent demo web site
>
> http://jquerymobile.seasidehosting.st

Yes, this is very well done.

Sven

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Larry Kellogg
In reply to this post by Nick
Fantastic! Great work, thanks for making this available. I look forward to using it. 

Regards, 

Larry


On Oct 14, 2011, at 10:54 AM, Nick Ager wrote:

Hi,

I've just published an initial integration of JQuery Mobile [1] with Seaside. You can try it out at: http://jquerymobile.seasidehosting.st

It's nearly complete - the outstanding work is to integrate JQuery scripting support - though it's certainly usable in it's current form. Feedback is welcome.

This work has been sponsored by Louis Andriese at "Delta Lloyd Online Innovations" [2] and made available under the MIT licence. It wouldn't have been possible without their support.

The code is available for Pharo and VASt (see http://vastgoodies.com/)

To load the code into Pharo you'll need a recent release of Seaside (I used the version available on Lukas's Jenkins build server [3]):

Gofer it
  package: 'ConfigurationOfJQueryMobile';
  load.
(ConfigurationOfJQueryMobile project version: '1.0-baseline') load.

The code registers a functional test suite at /javascript/jquery-mobile

Cheers,

Nick


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
In reply to this post by Nick
Hi Marten,

>> * seems to be not that very fast
>> * lots of flickering when changing screens

Hopefully these will be improved in future releases of JQueryMobile javascript libraries. 

>>is it possible to execute a script BEFORE via Ajax the page is updated. I have a sound object, speaking about 60 seconds and 
>> when I change the page - the speaking continues - and on the next page I have another voice. Now two voices re talking at the same time (etc)

I'm about to release a new version of the integration which includes support for their javascript API, including events. There are various events you will be able to hook into such as pagebeforechange, page change, pagebeforeshow, pageshow etc.

I'll announce to the list when the javascript API integration is complete

Nick 

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Yanni Chiu
On 20/10/11 4:51 AM, Nick Ager wrote:
>
> I'm about to release a new version

Please include attached method for WABasicFormTag>>jqmNoAjax

It's similar to #jqmNoAjax for WAAnchorTag. It's needed to allow file
upload to work.

BTW, I had to use 'false' (a string with quotes) to have it work
properly. Strangely, the WAAnchorTag version uses the "false" object
(i.e. no quotes).

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

WABasicFormTag-jqmNoAjax.st (496 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
Please include attached method for WABasicFormTag>>jqmNoAjax

It's similar to #jqmNoAjax for WAAnchorTag. It's needed to allow file upload to work.

BTW, I had to use 'false' (a string with quotes) to have it work properly. Strangely, the WAAnchorTag version uses the "false" object (i.e. no quotes).

Thanks Yanni - I hope to push a new version up tomorrow. 

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
In reply to this post by Nick
Hi Marten,

while I was producing new ICs for headless systems I noticed, that there are references to class "WAToolDecoration" (bringing in the development stuff of Seaside), which is not available during runtime. This makes packaging more complicate ...

Good catch - reviewing the code the reference to WAToolDecoration isn't really necessary. You can change JQMAdmin>>register:asApplicationAt: as follows: 

JQMAdmin>>register: aComponentClass asApplicationAt: aString
| application decorations |
application := super register: aComponentClass asApplicationAt: aString.
application preferenceAt: #scriptGeneratorClass put: JQMScriptGenerator.
application preferenceAt: #rootDecorationClasses put: #().
^ application

I'll include the fix in a new version I'm about to release very soon...

Nick


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Rolf.vandervleuten
In reply to this post by Nick
Hi nick,

I read people are having problems with flickering in JQM. I had some problems with that myself and this is what I found out.

- flickering can occur when using the same #id more than once in a page, which is not unlinkely when you are using the one page template method. so be sure to not use #id's more than once.
- I don't know why this happens, but I found out that when my first page had an element that is outlined by default, flickering would occur, this was fixed by adding:

input {
  outline: none;
}

to my css.

I also have a small problem, can't seem to get an onclick on a checkbox working.
If I tie an onClick event to the checkbox it does turn up on the actual checkbox element in the html.
But as JQM hides this you cannot click it. You click a div instead, which is not connected to the JQM code, so clicking the checkbox(div) has no effect.

Is this something you did not implement yet? Or am I doing something else wrong?

I'm kind of new to smalltalk so that could also be the reason for not understanding this ;)

Thanks,
Rolf
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
Hi Rolf,

Your message is very timely as I've just uploaded a new version which should fix many of your concerns - see http://jquerymobile.seasidehosting.st/

I'll answer your questions inline:

I read people are having problems with flickering in JQM. I had some
problems with that myself and this is what I found out.

- flickering can occur when using the same #id more than once in a page,
which is not unlinkely when you are using the one page template method. so
be sure to not use #id's more than once.

The auto generated #ids on the latest version are session unique rather than page unique.
I'd be interested to learn if this fixes the flickering problem.

 
I also have a small problem, can't seem to get an onclick on a checkbox
working.
If I tie an onClick event to the checkbox it does turn up on the actual
checkbox element in the html.
But as JQM hides this you cannot click it. You click a div instead, which is
not connected to the JQM code, so clicking the checkbox(div) has no effect.

Is this something you did not implement yet? Or am I doing something else
wrong?

The original version didn't include scripting support. The new version does and should wire-up events correctly. Have a look at the samples on the test site.

 
I'm kind of new to smalltalk so that could also be the reason for not
understanding this ;)

Welcome and I hope the new version fixes your issues,

Nick

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

marten
Do you create a VAST version ?

Thanks,

Marten
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
Do you create a VAST version ?

I will very soon 

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Rolf.vandervleuten
In reply to this post by Nick
Nick,

I got it working, I needed to add the click event to the label instead of the checkbox. makes sense as the checkbox will be hidden. so this is more a jquerymobile problem than something you control.
This solution does not work on an ipad (ios5) however. The clickevent doesnt get fired on the label, nor does it on the checkbox, outside the 'your problem field' as well ;)

It seems all events fire twice, in the demo also, is this expected behaviour? It seems to be like this for all events I tried tap, click, virtualmouseup and used Chrome and Safari on ipad IOS5 to test this.

regards,
Rolf
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
Hi Rolf,

I got it working, I needed to add the click event to the label instead of
the checkbox. makes sense as the checkbox will be hidden. so this is more a
jquerymobile problem than something you control.
This solution does not work on an ipad (ios5) however. The clickevent doesnt
get fired on the label, nor does it on the checkbox, outside the 'your
problem field' as well ;)

It seems all events fire twice, in the demo also, is this expected
behaviour? It seems to be like this for all events I tried tap, click,
virtualmouseup and used Chrome and Safari on ipad IOS5 to test this.

I thought it would be good to clear this up for the list.

I've added some samples which show how to dynamically update using Ajax:

You came across two issues. Checkboxes use a hidden field. The standard #serializeThisWithHidden didn't work on jQueryMobile as the jQuery it creates:

self serialize: (self jQuery this
next: 'input:hidden';
andSelf)

Didn't work the div tags jQuery mobile adds around checkboxes. I've added:

jqmSerializeThisWithHidden
"Serialize the receiving form element and a following hidden form element. 
This is required in case of a check-box or multi-select list.
jQueryMobile inserts a div between the element and the checkbox so the 'standard'
#serializeThisWithHidden doesn't work
WARNNG: This is fragile to changes in jQueryMobile's markup"
self serialize: (self jQuery this parent
next: 'input:hidden';
add: (self jQuery this))

which solves this problem but is a little fragile. The samples: http://jquerymobile.seasidehosting.st/seaside/javascript/jquery-mobile/Ajax-forms should two methods for serialising checkboxes.

The events firing twice was a bug. This is now fixed in the latest release

Thanks

Nick

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
In reply to this post by Nick
Hi Leo,

I only write to say i was using Nick's JQueryMobile port, and i'm surprised, this is a wonderful plugin and a clean port. 
Congratulations Nick and if you need help for next releases, i could be there.

If you register on  http://ss3.gemstone.com I can give you write access to the master repository 

Cheers

Nick



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: JQueryMobile initial release

Nick
Hi Leo,

I've added you to:


I think the ss3 repository might have been updated since I last ported to VA - so I guess that would be a good place to start Adriaan provided me with the following porting guide when I started:


The dependency information in GRPackage should be up-to-date for jQueryMobile packages.

In terms of a todo list - jQueryMobile 1.1 has been released and I haven't had a chance to review what's new and hope that might effect the Seaside integration.

Thanks

Nick

On 3 April 2012 23:03, Leo O. <[hidden email]> wrote:
Hi Nick, 
I'm already registered. You are welcome to pass me any to-do list you have. Or if you prefer, i can port your lastest version to VA.
  

El lunes 2 de abril de 2012 17:01:12 UTC-3, Nick Ager escribió:
Hi Leo,

I only write to say i was using Nick's JQueryMobile port, and i'm surprised, this is a wonderful plugin and a clean port. 
Congratulations Nick and if you need help for next releases, i could be there.

If you register on  http://ss3.gemstone.com I can give you write access to the master repository 

Cheers

Nick


--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/nvD130U3iF0J.

To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside