Changeset 7905


Ignore:
Timestamp:
Feb 11, 2021, 3:14:30 PM (10 months ago)
Author:
Nicklas Nordborg
Message:

References #2241: Column subtitles in table listings

It should now work for regular columns that are defined in the JSP. Extensions are not yet supported.

Implemented in the raw bioassays list.

Location:
trunk
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/clients/web/net/sf/basedb/clients/web/taglib/table/ColumnDef.java

    r7703 r7905  
    8181      formatter=...
    8282      unit=...
     83      subtitle=...
    8384   >
    8485</pre>
     
    180181    </td>
    181182  </tr>
    182 
     183  <tr>
     184    <td>title</td>
     185    <td>-</td>
     186    <td>no</td>
     187    <td>
     188      As subtitle of the column. The value is displayed in a header row below
     189      the filter row.
     190    </td>
     191  </tr>
    183192  <tr>
    184193    <td>sortable</td>
     
    343352
    344353  /**
     354    The subtitle of the column.
     355    @since 3.18
     356  */
     357  private String subtitle = null;
     358
     359  /**
    345360    If the column should be visible or not. Valid values are: always, never, auto
    346361  */
     
    460475  }
    461476
     477  /**
     478    @since 3.18
     479  */
     480  public void setSubtitle(String subtitle)
     481  {
     482    this.subtitle = subtitle;
     483  }
     484  /**
     485    @since 3.18
     486  */
     487  public String getSubtitle()
     488  {
     489    return subtitle;
     490  }
     491
    462492  public void setShow(String show)
    463493  {
     
    589619    json.put("id", getId());
    590620    json.put("title", getTitle());
     621    json.put("subtitle", getSubtitle());
    591622    json.put("property", getProperty());
    592623    json.put("sortProperty", getSortproperty());
     
    639670        setStyle(column.getStyle());
    640671        setTitle(column.getTitle());
     672        //setSubtitle(column.getSubtitle());
    641673        setTooltip(column.getTooltip());
    642674        setProperty(column.getProperty());
  • trunk/src/clients/web/net/sf/basedb/clients/web/taglib/table/Table.java

    r7703 r7905  
    304304  private Map<String, String> columnContent;
    305305  private Map<String, String> columnFilter;
     306  private Map<String, String> columnSubtitle;
    306307  private transient Map<String, Formatter<?>> columnFormatter;
    307308  private List<String> hiddenFilteredColumns;
     
    474475    definedColumns.add(columnId);
    475476    if (cd.getFormatter() != null) columnFormatter.put(columnId, cd.getFormatter());
     477    if (cd.getSubtitle() != null) columnSubtitle.put(columnId, cd.getSubtitle());
    476478   
    477479    JSONObject jsonCol = cd.asJsonObject();
     
    505507    return columnContent;
    506508  }
     509  Map<String, String> getColumnSubtitles()
     510  {
     511    return columnSubtitle;
     512  }
    507513  void setColumnFilter(String columnId, int row, String filterHtml)
    508514  {
     
    541547    return visibleColumns.size();
    542548  }
     549  int writeColumnSubtitles(StringBuilder sb)
     550  {
     551    int numVisibleSubtitles = 0;
     552    for (String column : visibleColumns)
     553    {
     554      sb.append("<th class=\"subtitle\">");
     555      String content = columnSubtitle.get(column);
     556      if (content != null)
     557      {
     558        sb.append(content);
     559        numVisibleSubtitles++;
     560      }
     561      sb.append("</th>");
     562    }
     563    return numVisibleSubtitles;
     564  }
    543565  void endColumnFilters()
    544566  {
     
    604626    if (numColumns > numHeaderColumns)
    605627    {
    606       numHeaderColumns += numColumns;
     628      numHeaderColumns = numColumns;
    607629    }
    608630  }
     
    645667    numFilteredColumns = 0;
    646668    columnContent = new HashMap<String, String>();
     669    columnSubtitle = new HashMap<String, String>();
    647670    columnFilter = new HashMap<String, String>();
    648671    columnFormatter = new HashMap<String, Formatter<?>>();
  • trunk/www/WEB-INF/table.tld

    r7335 r7905  
    148148    </attribute>
    149149    <attribute>
     150      <name>subtitle</name>
     151      <rtexprvalue>true</rtexprvalue>
     152    </attribute>
     153    <attribute>
    150154      <name>sortable</name>
    151155      <rtexprvalue>true</rtexprvalue>
     
    254258
    255259  <tag>
     260    <name>columnsubtitles</name>
     261    <tag-class>net.sf.basedb.clients.web.taglib.table.ColumnSubtitles</tag-class>
     262    <body-content>empty</body-content>
     263    <attribute>
     264      <name>id</name>
     265      <rtexprvalue>true</rtexprvalue>
     266    </attribute>
     267    <attribute>
     268      <name>clazz</name>
     269      <rtexprvalue>true</rtexprvalue>
     270    </attribute>
     271    <attribute>
     272      <name>subclass</name>
     273      <rtexprvalue>true</rtexprvalue>
     274    </attribute>
     275    <attribute>
     276      <name>style</name>
     277      <rtexprvalue>true</rtexprvalue>
     278    </attribute>
     279  </tag>
     280
     281  <tag>
    256282    <name>presetselector</name>
    257283    <tag-class>net.sf.basedb.clients.web.taglib.table.PresetSelector</tag-class>
  • trunk/www/include/styles/table.css

    r7894 r7905  
    135135  height: 1.6em;
    136136  max-height: 1.75em;
     137}
     138
     139.itemlist div.data > table > thead > tr.subtitles
     140{
     141  height: 1.3em;
     142  font-size: 80%;
    137143}
    138144
     
    149155}
    150156
     157.itemlist div.data > table > thead > tr > th.subtitle
     158{
     159  padding-bottom: 2px;
     160}
     161
    151162.itemlist div.data > table > thead > tr > th.controlled-width
    152163{
  • trunk/www/views/rawbioassays/list_rawbioassays.jsp

    r7903 r7905  
    665665          }
    666666          %>
     667          <tbl:columnsubtitles />
    667668        </tbl:headers>
    668669        <tbl:rows>
Note: See TracChangeset for help on using the changeset viewer.