Re: Number Formatting in TextField (T5)
Em Tue, 17 Nov 2009 20:12:22 -0200, Benny Law escreveu: Is there a simpler way to do this, i.e. specify formatting for TextField? If custom Translators is the way to go, has anyone built something for numbers that reflects the current locale? Implement your own translator, as it probably will be used in many places in your application. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, software architect and developer, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Number Formatting in TextField (T5)
I am having some difficulty finding documentation and examples on how to control the formatting of numbers in TextField components. I have a page where I use two TextFields to display the latitude and longitude of a GPS location in decimal degrees. The default formatting provided by Tapestry only displays 3 decimal places, but I need 5. My current thinking is that I would need to create a Translator to use with these TextFields. Using the toClient event doesn't make sense because it's not reusable. Is there a simpler way to do this, i.e. specify formatting for TextField? If custom Translators is the way to go, has anyone built something for numbers that reflects the current locale? Thanks, Benny
Re: T 5.1 vs 5.0 JSON encoding - breaks IE8
On Tue, Nov 17, 2009 at 11:56 AM, Kalle Korhonen wrote: > On Tue, Nov 17, 2009 at 11:01 AM, David Rees wrote: >> On Tue, Nov 17, 2009 at 2:00 AM, Ciaran Wood wrote: >>> The issue you were thinking of is >>> https://issues.apache.org/jira/browse/TAP5-714 - there is a patch w/tests >>> attached to the issue so a committer can probably fix this one! >> >> Thanks, voted. BTW, it affects all versions of IE that I tested. >> It's a show-stopper, not a minor issue - should raise the priority, >> especially since it has a patch. > > Agree, maybe not a showstopper, but not a minor either. Seems pretty critical to me if it breaks the browser with the single largest market share - but either way - the bug has been known for 6 months now with a patch - yet the patch hasn't been applied anywhere as far as I can tell. >> How can we encourage the developers to get a release out with some of >> these issues? Are people building their own local version with >> patches applied? > > Starting to veer off-topic, but I think the issue there is that Howard > has traditionally done all the releases, but he hasn't been actively > involved in bug fixing lately (and probably shouldn't need to be). I agree. Aren't there a handful of Tapestry devs? > Howard's also been complaining about some difficulties with releasing > but I don't know the details. I know though that setting up a fully > automated release process with Maven can sometimes be taxing but the > efforts are well worth it. Especially for bug fix releases, > confidently being able to roll up yet another point release is great > (at times, I release my projects a few times a week since it's so > simple). I fully agree with you that more frequent point releases for > T5 are badly needed. I concur as well, here. Maven should make it easy to roll out point releases, no? Apply patch to 5.1.0 branch - bump version number, build and deploy. > I'd avoid building your own versions if at all possible. Not because > building would be too difficult, but with local versions, you need to > deal with everything else included - deploying, maintaining, > distributing and keeping track of versions. Use nightly snapshots from > Formos if you have to and lock down to specific unique snapshot > whenever possible. I would like to avoid it as well - but do you have an alternative? It's either apply a 1-line patch to Tapestry 5.1.0.5 and figure out how to build it (call it 5.1.0.5.1 or 5.1.0.6-SNAPSHOT internally or something), or go through hundreds of lines of my own code replacing single quotes with double quotes and more testing to work around this bug. -Dave - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Localization
There is any way to call a i18n page without using a localized url? Sample: 1. User selected some language and that was stored in his session. 2. When he calls a new url, without the language prefix, the result page will use the selected language (stored in session), instead of the default language. Thanks, Everton Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com
Re: T 5.1 vs 5.0 JSON encoding - breaks IE8
On Tue, Nov 17, 2009 at 11:01 AM, David Rees wrote: > On Tue, Nov 17, 2009 at 2:00 AM, Ciaran Wood wrote: >> The issue you were thinking of is >> https://issues.apache.org/jira/browse/TAP5-714 - there is a patch w/tests >> attached to the issue so a committer can probably fix this one! > > Thanks, voted. BTW, it affects all versions of IE that I tested. > It's a show-stopper, not a minor issue - should raise the priority, > especially since it has a patch. Agree, maybe not a showstopper, but not a minor either. > How can we encourage the developers to get a release out with some of > these issues? Are people building their own local version with > patches applied? Starting to veer off-topic, but I think the issue there is that Howard has traditionally done all the releases, but he hasn't been actively involved in bug fixing lately (and probably shouldn't need to be). Howard's also been complaining about some difficulties with releasing but I don't know the details. I know though that setting up a fully automated release process with Maven can sometimes be taxing but the efforts are well worth it. Especially for bug fix releases, confidently being able to roll up yet another point release is great (at times, I release my projects a few times a week since it's so simple). I fully agree with you that more frequent point releases for T5 are badly needed. I'd avoid building your own versions if at all possible. Not because building would be too difficult, but with local versions, you need to deal with everything else included - deploying, maintaining, distributing and keeping track of versions. Use nightly snapshots from Formos if you have to and lock down to specific unique snapshot whenever possible. Kalle - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
simulate form submission events without Submit component
I have a task that looks quite simple, but still have a problem accomplishing it. Suppose you have a form with Select control, and onChange event on that control should generate form submission event. I've created a simple mixin for that. public class SubmitOnChange { @Environmental private RenderSupport renderSupport; @Environmental private FormSupport formSupport; @InjectContainer private AbstractField container; @Inject private ComponentResources resources; @Parameter(required=true,allowNull=false,defaultPrefix="literal") private String submitEvent; @Parameter(required=false,allowNull=true,defaultPrefix="prop") private Object[] submitContext; public void afterRender () { final String formId = formSupport.getClientId (); final Link link = resources.createEventLink ( submitEvent, submitContext ); renderSupport.addInit ( "submitOnChange", new JSONArray ( formId, container.getClientId (), link.toAbsoluteURI () ) ); } } And accompanying JS: Tapestry.Initializer.submitOnChange = function(formId, elementId, eventUrl) { $(elementId).observe ("change", function(event) { $(formId).action = eventUrl; if ( $(elementId).value ) $(formId).submit (); }); }; Now, there is a problem. onChange event really submits the form, but the event is fired on Select component instead of Form component and form values are obviously lost during submission. If we comment out 3rd line in JS part, it works correctly (because default form action is not altered), but this way I lose an ability to control submission events names and I can intercept events only by component names. My goal is to simulate 'real' submit behavior. I believe it must be simple, but I'm stuck. Any ideas? -- Ilya Obshadko
Re: T 5.1 vs 5.0 JSON encoding - breaks IE8
On Tue, Nov 17, 2009 at 2:00 AM, Ciaran Wood wrote: > The issue you were thinking of is > https://issues.apache.org/jira/browse/TAP5-714 - there is a patch w/tests > attached to the issue so a committer can probably fix this one! Thanks, voted. BTW, it affects all versions of IE that I tested. It's a show-stopper, not a minor issue - should raise the priority, especially since it has a patch. How can we encourage the developers to get a release out with some of these issues? Are people building their own local version with patches applied? -Dave - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T 5.1 vs 5.0 JSON encoding - breaks IE8
Thanks Ciaran, voted. Thiago, would you mind doing the honors? (Since I know you read this anyway :) Kalle On Tue, Nov 17, 2009 at 2:00 AM, Ciaran Wood wrote: > The issue you were thinking of is > https://issues.apache.org/jira/browse/TAP5-714 - there is a patch w/tests > attached to the issue so a committer can probably fix this one! > > Ciaran > > > On 17/11/2009 7:20am, "Kalle Korhonen" wrote: > >> On Mon, Nov 16, 2009 at 11:14 PM, David Rees wrote: >>> Yep, already using tapx-prototype, that was the first thing I tried >>> before digging into it more and figuring out that the JSON encoding >>> changed in T5.1 (can't find the ticket now, but it was changed to >>> replace instances of \" with ' to save bandwidth). >>> >>> tapx-prototype doesn't affect the JSON encoding - I wouldn't expect it >>> to affect JSON decoding, either. >> >> Right, I recall seeing the same ticket, but don't remember exactly. >> I'll browse around since I'm afraid I may hit the same issue in the >> near future. >> >> Kalle >> >> - >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: ProgressiveDisplay component - context retrieval
Thiago H. de Paula Figueiredo schrieb: Em Tue, 17 Nov 2009 11:32:40 -0200, Andy Pahne escreveu: Now I want to know: how can I access the ProgressiveDisplay's context inside my custom RetrieveAvailabilityAndPrice component. I don't know how to do that. Create a parameter in RetrieveAvailabilityAndPrice to do that. I did that. The parameter is accommodation. I still don't know how to achieve that the parameter get's set. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Res: Dynamic Locale changing
Thanks Juan and Thiago! It's exactly what I need for the Symbol retrieving :) De: Juan E. Maya Para: Tapestry users Enviadas: Terça-feira, 17 de Novembro de 2009 16:10:20 Assunto: Re: Dynamic Locale changing Sorry to interrupt :) U can inject the supported languages by injecting the symbol in your layout. Something like: @Inject @Symbol(SymbolConstants.SUPPORTED_LOCALES) private String supportedLanguages; Remember the languages are comma separated so just split them. String[] languages = this.supportedLanguages.split(","); with the language u can create the assets of the available locales using the AssetFactory services and Resource classes. On Tue, Nov 17, 2009 at 6:55 PM, Everton Agner wrote: > Thanks for the response! > > "Welcome to the Tapestry world! :)" > > My pleasure! The Framework is great! ;) > > Here's what I'm trying to do... In the Top of my page there will be a > sequence of flags (the countries related to the supported languages of the > app). Except for the Flag of the current country/language, all of them will > be inside a component to change the current Locale. The flag > of the current country/language will not be inside a ActionLink, so only will > be shown as it's "disabled version" (the same flag in black/white colors - > another image). > > So, one of my problems is (was, after your answer :)) to retrieve the > information of the Supported Languages in Runtime, and render it in the page > (Layout component, to tell the truth) as a Sequence of flags enabling > Language Change. > > If my problem was to show the Image of the current country/language, it would > be easy as you said... > > Thanks for the Symbol value retrieving example!! I'll try here. :) > > > > > > De: Thiago H. de Paula Figueiredo > Para: Tapestry users > Enviadas: Terça-feira, 17 de Novembro de 2009 15:39:32 > Assunto: Re: Dynamic Locale changing > > Em Tue, 17 Nov 2009 13:46:12 -0200, Everton Agner > escreveu: > >> To begin with... I am learning Tapestry from 1 month ago. > > Welcome to the Tapestry world! :) > >> @Inject >> @Property >> @Path("context:/layout/images/brazil.png") >> private Asset flagBrazil; > > You're doing it in a way more complex that it needs to be. All you need to do > is to refer to your asset and the Tapestry automatically searches for the > localized version. Example: > > @Inject > @Property > @Path("context:/layout/images/flag.png") > private Asset flag; > > If the current locale is pt_BR, Tapestry will try to find > /layout/images/flag_pt_BR.png in your context. If it's found, it will be > used. ;) > >> So... The first thing I'm having problems with is to retrieve in Runtime the >> information stored on the AppModule class (contributeApplicationDefaults >> method). There is a way I can do this? > > Suppose you need to know the value of the tapestry.production-mode symbol. > You can inject it in your component or page class: > > @Inject > @Symbol("tapestry.production-mode") > private boolean productionMode; > >> The second problem I'm having is to retrieve the Assets (the images) in a >> Dynamic way (knowing the Locale name and if it's the enabled/disabled >> image)... I've read about AssetFactory, but didn't find any good example >> related. > > You don't need to use AssetFactory to do that. Just name the assets > appropriately. ;) > > > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com
Re: Dynamic Locale changing
Sorry to interrupt :) U can inject the supported languages by injecting the symbol in your layout. Something like: @Inject @Symbol(SymbolConstants.SUPPORTED_LOCALES) private String supportedLanguages; Remember the languages are comma separated so just split them. String[] languages = this.supportedLanguages.split(","); with the language u can create the assets of the available locales using the AssetFactory services and Resource classes. On Tue, Nov 17, 2009 at 6:55 PM, Everton Agner wrote: > Thanks for the response! > > "Welcome to the Tapestry world! :)" > > My pleasure! The Framework is great! ;) > > Here's what I'm trying to do... In the Top of my page there will be a > sequence of flags (the countries related to the supported languages of the > app). Except for the Flag of the current country/language, all of them will > be inside a component to change the current Locale. The flag > of the current country/language will not be inside a ActionLink, so only will > be shown as it's "disabled version" (the same flag in black/white colors - > another image). > > So, one of my problems is (was, after your answer :)) to retrieve the > information of the Supported Languages in Runtime, and render it in the page > (Layout component, to tell the truth) as a Sequence of flags enabling > Language Change. > > If my problem was to show the Image of the current country/language, it would > be easy as you said... > > Thanks for the Symbol value retrieving example!! I'll try here. :) > > > > > > De: Thiago H. de Paula Figueiredo > Para: Tapestry users > Enviadas: Terça-feira, 17 de Novembro de 2009 15:39:32 > Assunto: Re: Dynamic Locale changing > > Em Tue, 17 Nov 2009 13:46:12 -0200, Everton Agner > escreveu: > >> To begin with... I am learning Tapestry from 1 month ago. > > Welcome to the Tapestry world! :) > >> @Inject >> @Property >> @Path("context:/layout/images/brazil.png") >> private Asset flagBrazil; > > You're doing it in a way more complex that it needs to be. All you need to do > is to refer to your asset and the Tapestry automatically searches for the > localized version. Example: > > @Inject > @Property > @Path("context:/layout/images/flag.png") > private Asset flag; > > If the current locale is pt_BR, Tapestry will try to find > /layout/images/flag_pt_BR.png in your context. If it's found, it will be > used. ;) > >> So... The first thing I'm having problems with is to retrieve in Runtime the >> information stored on the AppModule class (contributeApplicationDefaults >> method). There is a way I can do this? > > Suppose you need to know the value of the tapestry.production-mode symbol. > You can inject it in your component or page class: > > @Inject > @Symbol("tapestry.production-mode") > private boolean productionMode; > >> The second problem I'm having is to retrieve the Assets (the images) in a >> Dynamic way (knowing the Locale name and if it's the enabled/disabled >> image)... I've read about AssetFactory, but didn't find any good example >> related. > > You don't need to use AssetFactory to do that. Just name the assets > appropriately. ;) > > > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Res: Dynamic Locale changing
Thanks for the response! "Welcome to the Tapestry world! :)" My pleasure! The Framework is great! ;) Here's what I'm trying to do... In the Top of my page there will be a sequence of flags (the countries related to the supported languages of the app). Except for the Flag of the current country/language, all of them will be inside a component to change the current Locale. The flag of the current country/language will not be inside a ActionLink, so only will be shown as it's "disabled version" (the same flag in black/white colors - another image). So, one of my problems is (was, after your answer :)) to retrieve the information of the Supported Languages in Runtime, and render it in the page (Layout component, to tell the truth) as a Sequence of flags enabling Language Change. If my problem was to show the Image of the current country/language, it would be easy as you said... Thanks for the Symbol value retrieving example!! I'll try here. :) De: Thiago H. de Paula Figueiredo Para: Tapestry users Enviadas: Terça-feira, 17 de Novembro de 2009 15:39:32 Assunto: Re: Dynamic Locale changing Em Tue, 17 Nov 2009 13:46:12 -0200, Everton Agner escreveu: > To begin with... I am learning Tapestry from 1 month ago. Welcome to the Tapestry world! :) > @Inject > @Property > @Path("context:/layout/images/brazil.png") > private Asset flagBrazil; You're doing it in a way more complex that it needs to be. All you need to do is to refer to your asset and the Tapestry automatically searches for the localized version. Example: @Inject @Property @Path("context:/layout/images/flag.png") private Asset flag; If the current locale is pt_BR, Tapestry will try to find /layout/images/flag_pt_BR.png in your context. If it's found, it will be used. ;) > So... The first thing I'm having problems with is to retrieve in Runtime the > information stored on the AppModule class (contributeApplicationDefaults > method). There is a way I can do this? Suppose you need to know the value of the tapestry.production-mode symbol. You can inject it in your component or page class: @Inject @Symbol("tapestry.production-mode") private boolean productionMode; > The second problem I'm having is to retrieve the Assets (the images) in a > Dynamic way (knowing the Locale name and if it's the enabled/disabled > image)... I've read about AssetFactory, but didn't find any good example > related. You don't need to use AssetFactory to do that. Just name the assets appropriately. ;) Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com
Re: Dynamic Locale changing
Em Tue, 17 Nov 2009 13:46:12 -0200, Everton Agner escreveu: To begin with... I am learning Tapestry from 1 month ago. Welcome to the Tapestry world! :) @Inject @Property @Path("context:/layout/images/brazil.png") private Asset flagBrazil; You're doing it in a way more complex that it needs to be. All you need to do is to refer to your asset and the Tapestry automatically searches for the localized version. Example: @Inject @Property @Path("context:/layout/images/flag.png") private Asset flag; If the current locale is pt_BR, Tapestry will try to find /layout/images/flag_pt_BR.png in your context. If it's found, it will be used. ;) So... The first thing I'm having problems with is to retrieve in Runtime the information stored on the AppModule class (contributeApplicationDefaults method). There is a way I can do this? Suppose you need to know the value of the tapestry.production-mode symbol. You can inject it in your component or page class: @Inject @Symbol("tapestry.production-mode") private boolean productionMode; The second problem I'm having is to retrieve the Assets (the images) in a Dynamic way (knowing the Locale name and if it's the enabled/disabled image)... I've read about AssetFactory, but didn't find any good example related. You don't need to use AssetFactory to do that. Just name the assets appropriately. ;) -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, software architect and developer, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: ProgressiveDisplay component - context retrieval
Em Tue, 17 Nov 2009 11:32:40 -0200, Andy Pahne escreveu: Now I want to know: how can I access the ProgressiveDisplay's context inside my custom RetrieveAvailabilityAndPrice component. I don't know how to do that. Create a parameter in RetrieveAvailabilityAndPrice to do that. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, software architect and developer, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Dynamic Locale changing
To begin with... I am learning Tapestry from 1 month ago. I am having problems with the Locale changing support in my application. To see the thing working, I hardcoded the language changing in the application (pt-BR and en support). Here's the code: Page Template Code (only the necessary for the explanation) Page Class Code (there are actually the same localized methods/properties for the other language) @Inject private PersistentLocale persistentLocale; @Inject private Locale currentLocale; @Inject @Property @Path("context:/layout/images/brazil.png") private Asset flagBrazil; @Inject @Property @Path("context:/layout/images/brazil_disabled.png") private Asset flagBrazilDisabled; public Asset getFlagPortugueseBrazil(){ if (!currentLocale.equals(new Locale("pt","BR"))){ return flagBrazil; }else{ return flagBrazilDisabled; } } public boolean isLocalePortugueseBrazil(){ if (currentLocale.equals(new Locale("pt","BR"))){ return true; }else{ return false; } } @OnEvent(component="changeLocalePtBr") void changeLocalePtBr() { persistentLocale.set(new Locale("pt","BR")); } --- OK, it works perfectly... But now I want to turn this into a dynamic/extensible way... So, when adding a new Language Support, I only have to add it on the AppModule class (the SymbolConstants.SUPPORTED_LOCALES info), put the 2 images related to the language/country in the images folder (one image with colors and the other in black-white) and the text for ToolTip when the mouse is over the image. So... The first thing I'm having problems with is to retrieve in Runtime the information stored on the AppModule class (contributeApplicationDefaults method). There is a way I can do this? If there isn't, is it good for me to have a config.properties file in the application so I can add the Supported Locales info there, and then retrieve it in the AppModule class to store in the contributeApplicationDefaults method? The second problem I'm having is to retrieve the Assets (the images) in a Dynamic way (knowing the Locale name and if it's the enabled/disabled image)... I've read about AssetFactory, but didn't find any good example related. I appreciate any help. :) Everton Agner Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com
ProgressiveDisplay component - context retrieval
I have defined a ProgressiveDisplay component like in the snippet below. Now I want to know: how can I access the ProgressiveDisplay's context inside my custom RetrieveAvailabilityAndPrice component. I don't know how to do that. Thank you, Andy Availability is being checked... - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: T 5.1 vs 5.0 JSON encoding - breaks IE8
The issue you were thinking of is https://issues.apache.org/jira/browse/TAP5-714 - there is a patch w/tests attached to the issue so a committer can probably fix this one! Ciaran On 17/11/2009 7:20am, "Kalle Korhonen" wrote: > On Mon, Nov 16, 2009 at 11:14 PM, David Rees wrote: >> Yep, already using tapx-prototype, that was the first thing I tried >> before digging into it more and figuring out that the JSON encoding >> changed in T5.1 (can't find the ticket now, but it was changed to >> replace instances of \" with ' to save bandwidth). >> >> tapx-prototype doesn't affect the JSON encoding - I wouldn't expect it >> to affect JSON decoding, either. > > Right, I recall seeing the same ticket, but don't remember exactly. > I'll browse around since I'm afraid I may hit the same issue in the > near future. > > Kalle > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org