tag:blogger.com,1999:blog-4110180.post2470034651595337372..comments2023-06-20T05:31:24.545-07:00Comments on Tapestry Central: Screencast #5: Grid ComponentAnonymoushttp://www.blogger.com/profile/04486596490758986709noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-4110180.post-1372898348046896812009-09-08T05:19:56.987-07:002009-09-08T05:19:56.987-07:00I agree with Mst Tap, grid component is very nice ...I agree with Mst Tap, grid component is very nice to use, but there should be some support to handle checkboxes inside it. (Example: select 34 rows to delete with one form submit)<br /><br />I managed to create a component in Tapestry 4 to handle this, but I still donĀ“t know how to do it with T5.Jose Angelhttps://www.blogger.com/profile/05274767518577360373noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-57132038943917084022007-09-19T09:16:00.000-07:002007-09-19T09:16:00.000-07:00Scott,You need to define your DataSource as a serv...Scott,<BR/><BR/>You need to define your DataSource as a service inside Tapestry IoC. It then becomes visible for injection into components.<BR/><BR/>Some of this is already in the tutorial, and you can get more details by examining the Tapestry integration tests.<BR/><BR/>Further questions to users@tapestry.apache.org, please.Anonymoushttps://www.blogger.com/profile/04486596490758986709noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-29466285338047516792007-09-19T08:29:00.000-07:002007-09-19T08:29:00.000-07:00First let me say thanks for the tutorials you've d...First let me say thanks for the tutorials you've done, very helpful. I am new to tapestry, your screencasts are easy to follow and easier to grasp then say docs. Question: I would like to know/see the library service class you created/used in the screencast5. Specifically: MusicLibray.getTracks(). I realize that it is not the focus but I am trying to dup the example. I created a bogus datasource class attempting to simulate your class but this gets me errors:<BR/><BR/># java.lang.RuntimeException<BR/>java.lang.ClassNotFoundException: caught an exception while obtaining a class file for org.example.hilo.pages.Start<BR/># java.lang.ClassNotFoundException<BR/>caught an exception while obtaining a class file for org.example.hilo.pages.Start<BR/><BR/>exception<BR/> java.lang.RuntimeException: Error obtaining injected value for field org.example.hilo.pages.Start.dsource: No service implements the interface org.example.hilo.pages.DataSource. <BR/><BR/># java.lang.RuntimeException<BR/>Error obtaining injected value for field org.example.hilo.pages.Start.dsource: No service implements the interface org.example.hilo.pages.DataSource.<BR/><BR/>public class DataSource {<BR/><BR/> public List (SampleData) getData() {<BR/> List(SampleData) list = new ArrayList(SampleData)();<BR/> for (int i = 0; i < 100; i++) {<BR/> SampleData sd = new SampleData();<BR/> sd.setColor(i + "color");<BR/> sd.setName(i + "name");<BR/> sd.setSize(i + "size");<BR/> list.add(sd);<BR/> }<BR/> return list;<BR/> }<BR/>}<BR/>open close tags are replaced with ()s.<BR/>Thanks for any further explanation.scotthttps://www.blogger.com/profile/09663479112446101061noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-88868299537560216222007-07-25T12:38:00.000-07:002007-07-25T12:38:00.000-07:00I think the Grid components is excellent. Using it...I think the Grid components is excellent. Using it and adding actionlinks is easy.<BR/><BR/>However, a solution to a very common situation is unclear to me: I have a Grid component, actionlinks on every row, as well as some (text areas and drop-down boxes) other fields and a few submit-buttons outside the Grid, but inside the Form. A bit like Gmail or Yahoo mail without the frills.<BR/><BR/>I would also like to put a checkbox beside the other row data in the Grid. (again, just like webmail). I could easily add a checkbox beside each row which would just display the boolean data in the row-data object "behind" it.<BR/><BR/>However, I don't know how to just add a checkbox to every row so I can select one or more rows that have to be processed simultaneously upon clicking one of the submit buttons. These boxes aren't really there to reflect data in the data object behind the row because they just are there to help identify rows in the context of the form processing of that particular page.<BR/><BR/>I suspect there is some way to put a "model" "behind" the form, purely to hold data within the context of processing that form.<BR/><BR/>Given the excellent design of Tapestry 5, I believe there must be some way to do all of this cleanly. But even if the solution would to be a bit messy, I still would to know about it.Mst Taphttps://www.blogger.com/profile/01023043150742067022noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-62351619838121786672007-03-10T20:07:00.000-08:002007-03-10T20:07:00.000-08:00nice work!!!But, can I hide a column in the temple...nice work!!!<BR/>But, can I hide a column in the templete instead of in the model class? Maybe someone don't want to add tapestry annotation to his entity classes.Unknownhttps://www.blogger.com/profile/10737752539074908413noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-43174619812355558462007-03-02T07:41:00.000-08:002007-03-02T07:41:00.000-08:00Just becuase I haven't written the tapestry-spring...Just becuase I haven't written the tapestry-spring integration is no excuse, I guess :-)Anonymoushttps://www.blogger.com/profile/04486596490758986709noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-62753065423181659002007-03-02T07:19:00.000-08:002007-03-02T07:19:00.000-08:00Howard congrats for such a good work, T5 is gettin...Howard congrats for such a good work, T5 is getting better and better. Anyhow I'd like you to publish a T5-Spring integration screen cast, or at least if you could point me out where could i found that, I've been digging into the documentation but have never found something tangible in that matter. We've got a lot of Spring usage so it is our primary concern. <BR/><BR/>Thank you in advance, and keep with that nice work, the grid component is killer!Luis Ramirezhttps://www.blogger.com/profile/06109302470620948844noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-87091500060375618312007-03-01T14:44:00.000-08:002007-03-01T14:44:00.000-08:00D&J:To some degree, you could reference the Grid's...D&J:<BR/><BR/>To some degree, you could reference the Grid's row property, but then you'd have to create a getter method for the Grid component itself. Further, the type of the Grid's row property is java.lang.Object, so you would not be able to de-reference properties through it (such as the Track's rating property). So, creating the property serves two purposes: access to the value, and nails down the type of the value (as in, Track).<BR/><BR/>Jacob:<BR/><BR/>Although there aren't third party libraries yet, the mechanism is in place. You can "mount" a virtual folder to a package, to reference pages and components within those packages. Thus, we may mount "ajax/" as "org.apache.tapestry.ajaxlib" and reference component org.apache.tapestry.ajaxlib.components.Whizbang as "ajax/whizbang". The "mounting" is by a contribution to a service's configuration ... and given Tapestry 5 IOC's dynamic locating and loading of modules, this means that having the ajaxlib.jar on the classpath is all that's necessary to start referencing and using those components. Zero configuration is the way to go.Anonymoushttps://www.blogger.com/profile/04486596490758986709noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-54977496266813990682007-03-01T07:57:00.000-08:002007-03-01T07:57:00.000-08:00Very nice, Howard. The really tricky part is going...Very nice, Howard. The really tricky part is going to be making it flexible enough for the more advanced use cases out there, but it looks like you're on the right track.<BR/><BR/>One thing that struck me as odd, given T5's emphasis on convention and reducing LOC, was the need to declare an unused _currentTrack instance variable in the page. Could you have referred directly to grid's row property from within the template?Gredlerhttps://www.blogger.com/profile/09665588722297336518noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-70740245303187257612007-03-01T07:53:00.000-08:002007-03-01T07:53:00.000-08:00(Feel free to moderate out this comment.)Could you...(Feel free to moderate out this comment.)<BR/><BR/>Could you change your blog style sheet so that you can actually distinguish links from the surrounding text? Every time you link to something in your posts (like this one), my first reaction is always, "Where's the link? Oh, yeah, I have to scrub the text for it."<BR/><BR/>Fortunately, your blog is "muy excelente," so that compensates for the minor CSS gripe. :)Roberthttps://www.blogger.com/profile/11344831083282304279noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-65791078109281587202007-03-01T07:20:00.000-08:002007-03-01T07:20:00.000-08:00for what will be 3rd party components, would you n...for what will be 3rd party components, would you need full FQCN to find the appropriate component to insert in every instance? I like the idea of binding namespaces such that:<BR/><BR/><html m:xmlns="com.company.components" ...><BR/> <m:foo source="bean.name"/><BR/> <m:sub.widget var="bar"/><BR/></html>Jacob Hookomhttps://www.blogger.com/profile/15287497779663965560noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-58235791332165764452007-03-01T06:50:00.000-08:002007-03-01T06:50:00.000-08:00I've been thinking about <t:grid>, etc. I'e...I've been thinking about <t:grid>, etc. I'e been deciding what to do when the component in question is inside a folder, i.e., <t:comp type="ajax/Whizzbang"> ... maybe <t:ajax.Whizzbang> ? It does seem like the best way to leverage the namespace concept.<BR/><BR/>I think I will eventually want to narrow down the possibilities; so if <t:grid> gets added as an option, then <t:comp> should be ditched. I think <table t:type="grid"> is here to stay.Anonymoushttps://www.blogger.com/profile/04486596490758986709noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-33857950456272951952007-03-01T01:47:00.000-08:002007-03-01T01:47:00.000-08:00Howard, you need to edit your post "I think this s...Howard, you need to edit your post "I think this shows off how quickly and easily" ... what?<BR/><BR/>(You can moderate this comment out since I'm just pointing out an error.)<BR/><BR/>Anyway, great work. We are considering jumping straight from T3 to T5!<BR/><BR/>Cheers,<BR/>Nick.sicklittlemonkeyhttps://www.blogger.com/profile/04832053874309101904noreply@blogger.comtag:blogger.com,1999:blog-4110180.post-23482546907566105612007-02-28T22:37:00.000-08:002007-02-28T22:37:00.000-08:00to a point, do you think that if nothing visual is...to a point, do you think that if nothing visual is gained by doing <table t:comp="grid" when there is no nested dummy data, to introduce the convention used with JSP/ASP/CF/etc and simply allow <t:grid or <t:outputRating?Jacob Hookomhttps://www.blogger.com/profile/15287497779663965560noreply@blogger.com