1. The tag is defined <tr param>... I believe. By default param name is the tag name.
2. a. I didn't see a test included there. b. the value of this is the value reported by the field. On Jun 15, 2:58 pm, Montgomery Kosma <[email protected]> wrote: > very interesting. Two questions/comments: > > 1. <tr:> ? No idea I could do that with the generic tag and not one > named as param="xxx" > > 2. looks like a good solution for the general case, but seems unlikely > to work if I apply a rails formatting helper to the field being > displayed. So if my view includes this: > > <size_megabytes-view:><%= number_to_human_size(this*1024*1024) %></ > size_megabytes-view:> > > a. does the "numeric-field" test get bypassed entirely? > > b. if not, what's the value of "this" that the test evaulates? I.e., > does it see the original BigDecimal (e.g., 1.23) or the string > returned by number_to_human_size (e.g., "1.23 MB")? > > On Jun 9, 5:49 pm, kevinpfromnm <[email protected]> wrote: > > > You should be able to implement your first idea by extending the table > > tag. > > <extend tag="table"> > > <old-table merge> > > <tr:> > > <if test="&fields"> > > <with-fields merge-attrs="&all_attributes & attrs_for > > (:with_fields)" force-all> > > <td param="#{this_field.to_s.sub('?', '').gsub('.', > > '-')}-view" class="#{'numeric-field' if this.is_a? > > (Numeric)}"><call-tag tag="&field_tag"/></td> > > </with-fields> > > <td class="controls" param="controls" if="&all_parameters > > [:controls]"> > > <a param="edit-link" action="edit" > > if="&can_edit?">Edit</a> > > <delete-button param/> > > </td> > > </if> > > ... > > > Unfortunately you have to override the whole row since you won't know > > what the field name is to be able to target just the <td> tags. > > > Or you could override the view for that type and add a class to it. > > > If it's a one of a kind deal it's probably cleaner to just give the > > specific fields the class like you did. > > > On Jun 9, 12:14 am, Montgomery Kosma <[email protected]> wrote: > > > > to clarify my last point on right alignment ... I can obviously do > > > this in application.css: > > > > td.size-megabytes-view, > > > td.size-items-view { > > > text-align: right; > > > > } > > > > but then I though, shouldn't we leverage the model's knowledge of data > > > types to avoid specifying every numeric column explicitly in css? > > > > One approach is to tweak the call to call-tag in def tag="table" in > > > rapid-core.dryml: > > > > <td param="#{this_field.to_s.sub('?', '').gsub('.', > > > '-')}-view"><call-tag tag="&field_tag"/></td> > > > > by adding something like <%= class="numeric-field" if this.is_a? > > > (Numeric) %>. However, my kung fu is too weak, I couldn't make this > > > work. Anyway, given my overrides to use number_with_delimiter and > > > number_with_human_size, I'm skipping over the default call to call-tag > > > anyway. > > > > So, the best solution I've devised is to add a class="numeric-field" > > > argument to the dryml tags for each numeric field, as shown here. At > > > least that keeps the model out of my css. Love to hear of any > > > alternative ideas! > > > > <index-page> > > > <collection: replace> > > > <table-plus fields="this, custodian, data_type, origin, date_from, > > > date_to, size_megabytes, size_items"> > > > <empty-message:>No file sets have been created.</empty-message:> > > > <size_megabytes-heading-link:>Volume</size_megabytes-heading- > > > link:> > > > <size_megabytes-view: class="numeric-field"><%= > > > number_to_human_size(this*1024*1024) %></size_megabytes-view:> > > > <size_items-heading-link:>Items</size_items-heading-link:> > > > <size_items-view: class="numeric-field"><%= number_with_delimiter > > > (this) %></size_items-view:> > > > </table-plus> > > > </collection:> > > > </index-page> > > > > On Jun 9, 12:53 am, Montgomery Kosma <[email protected]> wrote: > > > > > Throwing this out there to seed the google groups search engine, since > > > > it would have helped me... > > > > > Using table-plus to implement my model's index page, I wanted to > > > > change the label above two of my columns. > > > > > This is super-easy - table-plus offers a "xxx-heading-link" tag to do > > > > just this, where xxx is the column name. The only trick was figuring > > > > out the not-really-documented distinction between xxx-heading-link and > > > > xxx-heading. > > > > > To illustrate, here's the index.dryml for my FileSet model: > > > > > <index-page> > > > > <collection: replace> > > > > <table-plus fields="this, custodian, data_type, origin, date_from, > > > > date_to, size_megabytes, size_items"> > > > > <empty-message:>No file sets have been created.</empty-message:> > > > > <size_megabytes-heading-link:>Volume</size_megabytes-heading- > > > > link:> > > > > <size_megabytes-view:><%= number_to_human_size(this*1024*1024) > > > > %></size_megabytes-view:> > > > > <size_items-heading:>Items</size_items-heading:> > > > > <size_items-view:><%= number_with_delimiter(this) %></size_items- > > > > view:> > > > > </table-plus> > > > > </collection:> > > > > </index-page> > > > > > Above, <size_megabytes-heading-link:> shows the "right" way to > > > > override the column heading, as (despite its name) it doesn't mess > > > > with the link, just the text of the heading. Note however, > > > > <size_items-heading:> shows the "wrong" way to change the heading, as > > > > (despite its name) it changes the entire heading, meaning that it > > > > eliminates the click-to-sort link and the sort indicator arrows, in > > > > addition to the default heading text. > > > > > (Illustration on calling rails number helpers included, at no extra > > > > charge!) > > > > > Share & Enjoy. > > > > > (Now, to figure out a DRY way to make all my numeric columns right > > > > align...) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Hobo Users" 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/hobousers?hl=en -~----------~----~----~----~------~----~------~--~---
