[Seaside] WATableReport Checkbox

alexandre bp abalonpe at ulb.ac.be
Fri Dec 3 20:45:45 UTC 2010


Hey,

I found the solution, I had to put the form inside of the condition in the
drawOn method.
I don't know why it works like that but my problem is solved :-)
I know that the code is not the most readable I will have to clean it up
with my team.
I'll ask for advice at that time for sure ;-)
thx a lot anyway.

cheers
alex

2010/12/3 Robert Sirois <watchlala at hotmail.com>

> Mm, this is a lot to look at on my cell phone ;)
>
> Here's my suggestion for now:
>
> Simplify what you're doing by making a little test app or something. Say,
> ok, I want to display different items, but I want an action associated with
> them, and I want them in a table as rows.
>
> Write all the rendering methods separate from your data model, so when
> you're rendering a list of items, you simply call a render method on it, ie:
>
> #renderItem: anItem on: html
>
> So, you would end up with:
>
> items do: [:ea | self renderItem: ea on: html ].
>
> Yay, so now my items are displayed. My renderItem method has a little
> checkbox that serializes the object that the row represents to, say,
> #selectedItems, so now I can do whatever with those.
>
> Hopefully that's not too oversimplified and helps hehe.
>
>
> RS
>
> ------------------------------
> From: abalonpe at ulb.ac.be
> Date: Fri, 3 Dec 2010 19:14:39 +0100
>
> Subject: Re: [Seaside] WATableReport Checkbox
> To: seaside at lists.squeakfoundation.org
>
> I got the right row when displaying the checkbox but when I click on the
> checkbox nothing appears in the transcript.
> The submitButton fails when I add the following line -->
> bibliTableListExport drawOn: canvas.
>
> bibliTableList is a list of different tables (Articles, Books,
> Conferences,...)
> Here is what does drawOn:canvas:
>
> drawOn: canvas
> biblis size = 0
>  ifFalse: [
> self renderBibteXOn: canvas.
> bibType = 'All'
>  ifTrue: [
> self
> do: [ :eachTable |
>  eachTable
> removeActionColumn;
>
>      rows: (biblis select: [ :eachBibli | (eachBibli dico at: 'BibteX
> Type') data = eachTable       bibType ]);
>
> addActionColumn;
>  drawOn: canvas ] ]
> ifFalse: [
> (self select: [ :eachTable | eachTable bibType = bibType ])
>  do: [ :eachSelectedTable |
> eachSelectedTable
> removeActionColumn;
>
>      rows: (biblis select: [ :eachBibli | (eachBibli dico at: 'BibteX
> Type') data =    eachSelectedTable bibType ]);
>
>  addActionColumn;
> drawOn: canvas ] ] ].
>
> For eachTable the method calls another drawOn:canvas which draw the table
> depending on its type (Article, Book,...)
>
> drawOn: canvas
>  rows size = 0
> ifFalse: [
>  (canvas div)
> class: 'inTitle';
>  with: [
> (canvas heading)
> level: 3;
>  with: self bibType ].
> (canvas div)
> class: 'bibliTable';
>  with: [ canvas render: super ].
> (canvas div)
> class: 'controlLink';
>  with: [
> self renderOptionalAnchorOn: canvas.
> self renderUserAnchorOn: canvas ]]
>
> I hope this can clarify the sequence of action.
> Thx very much for your help.
> alex
>
> 2010/12/3 Robert Sirois <watchlala at hotmail.com>
>
> Check out what row is in the callback by exploring or using the Transcript.
>
> You might be losing pointers to the objects somewhere in there.
>
>
> RS
>
> ------------------------------
> From: abalonpe at ulb.ac.be
> Date: Fri, 3 Dec 2010 18:30:27 +0100
> Subject: Re: [Seaside] WATableReport Checkbox
>
> To: seaside at lists.squeakfoundation.org
>
> I have a submitButton also in the form with an empty callback.
> I just want the button to trigger all the callbacks of the checkboxes.
> However it doesn't seem to work at all.
>
> Alex
>
> 2010/12/3 Robert Sirois <watchlala at hotmail.com>
>
> How are you submitting the data?
>
> Either they need to be in a form, or if you're serializing via ajax,
> remember to use #serializeWithHidden I think it's called.
>
> RS
>
> ------------------------------
> From: abalonpe at ulb.ac.be
> Date: Fri, 3 Dec 2010 17:02:02 +0100
> Subject: Fwd: [Seaside] WATableReport + Checkbox
> To: seaside at lists.squeakfoundation.org
>
> Hi,
>
> I have a problem with checkboxes. I'm trying to add a checkbox at each line
> of a table.
> I have tried several things(the last tries are in comments):
>
> addActionColumn
>  columns
> add:
>  ((WAReportColumn new)
> title: '';
> valueBlock: [ :row :html |
>  html span
> with:[
>
>    "checked ifTrue:[BibliList bibliCollection add: row]."
>
> html checkbox
>  value: checked;
> onTrue:[BibliList bibliCollection add: row]
>  onFalse:[].
> "onClick: [checked := true]"
>
>      "callback:[:value | value ifTrue: [BibliList bibliCollection add:
> row]]"
>
>            ]]).
>
> Unfortunately, nothing seems to work...when I click on the checkbox,
> nothing happen and my list bibliCollection (which is an OrderedCollection)
> is still empty.
> Thx for your help
> alex
>
>
> _______________________________________________ seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
>
> _______________________________________________ seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
>
> _______________________________________________ seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20101203/c782dbc0/attachment.htm


More information about the seaside mailing list