Changeset 7938 for branches/3.18-stable


Ignore:
Timestamp:
May 3, 2021, 1:20:19 PM (6 weeks ago)
Author:
Nicklas Nordborg
Message:

References #2246: Sticky table headers

Implemented for all items in the "View" menu.

Location:
branches/3.18-stable/www/views
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • branches/3.18-stable/www/views/derivedbioassays/list_bioassays.jsp

    r7932 r7938  
    198198      item="<%=itemType%>"
    199199      filterrows="<%=cc.getFilterRows()%>"
    200       subclass="fulltable sticky-headers"
     200      subclass="fulltable"
    201201      data-inherited-annotations="true"
    202202      data-relateditem-columns="true"
     203      stickyheaders="name"
    203204      >
    204205      <tbl:hidden
     
    554555        <tbl:headers>
    555556          <tbl:headerrow>
    556             <tbl:header colspan="3" />
     557            <tbl:header clazz="row-index bg-filled-100" />
    557558            <tbl:columnheaders />
    558559          </tbl:headerrow>
     
    565566            %>
    566567            <tbl:headerrow>
    567               <tbl:header subclass="index" />
    568               <tbl:header
    569                 subclass="check"
    570                 visible="<%=mode.hasCheck()%>"
    571                 ><base:icon
    572                   subclass="link table-check"
    573                   image="check_uncheck.png"
    574                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    575                   visible="<%=lastRow%>"
    576                 /></tbl:header>
    577               <tbl:header
    578                 subclass="check"
    579                 visible="<%=mode.hasRadio()%>"
    580                 />
    581               <tbl:header
    582                 subclass="icons"
    583                 visible="<%=mode.hasIcons()%>"
    584                 >
    585                 <base:icon
    586                   subclass="link table-filter-row-action"
    587                   image="add.png"
    588                   tooltip="Add extra filter row"
    589                   visible="<%=lastRow%>"
    590                 /><base:icon
    591                   subclass="link table-filter-row-action"
    592                   image="remove.png"
    593                   tooltip="Remove this filter row"
    594                   visible="<%=numRows > 1 || numFilters > 0 %>"
    595                   data-remove-row="<%=filterNo%>"
    596                 />
     568              <tbl:header subclass="row-index bg-filled-100">
     569                <div class="index-<%=mode.getName()%>">
     570                  <div class="index"></div>
     571                  <div class="check">
     572                    <base:icon
     573                      subclass="link table-check"
     574                      image="check_uncheck.png"
     575                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     576                      visible="<%=lastRow && mode.hasCheck()%>"
     577                    />
     578                  </div>
     579                  <div class="icons">
     580                    <base:icon
     581                      subclass="link table-filter-row-action"
     582                      image="add.png"
     583                      tooltip="Add extra filter row"
     584                      visible="<%=lastRow%>"
     585                    /><base:icon
     586                      subclass="link table-filter-row-action"
     587                      image="remove.png"
     588                      tooltip="Remove this filter row"
     589                      visible="<%=numRows > 1 || numFilters > 0 %>"
     590                      data-remove-row="<%=filterNo%>"
     591                    />
     592                  </div>
     593                </div>
    597594              </tbl:header>
    598595              <tbl:propertyfilter row="<%=filterNo%>" />
     
    635632              %>
    636633              <tbl:row>
    637                 <tbl:header
    638                   clazz="index"
    639                   ><%=index%></tbl:header>
    640                 <tbl:header
    641                   clazz="check"
    642                   visible="<%=mode.hasCheck()%>"
    643                   ><input
    644                     type="checkbox"
    645                     name="<%=itemId%>"
    646                     value="<%=itemId%>"
    647                     title="<%=name%>"
    648                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    649                   ></tbl:header>
    650                 <tbl:header
    651                   clazz="check"
    652                   visible="<%=mode.hasRadio()%>"
    653                   ><input
    654                     type="radio"
    655                     name="item_id"
    656                     value="<%=itemId%>"
    657                     title="<%=name%>"
    658                     <%=selectedItemId == itemId ? "checked" : ""%>
    659                   ></tbl:header>
    660                 <tbl:header
    661                   clazz="icons"
    662                   visible="<%=mode.hasIcons()%>"
    663                   ><base:icon
    664                     image="deleted.png"
    665                     id="<%="delete."+itemId %>"
    666                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    667                     data-item-id="<%=itemId%>"
    668                     tooltip="This item has been scheduled for deletion"
    669                     visible="<%=item.isRemoved()%>"
    670                   /><base:icon
    671                     image="shared.png"
    672                     id="<%="share."+itemId %>"
    673                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    674                     data-item-id="<%=itemId%>"
    675                     tooltip="This item is shared to other users, groups and/or projects"
    676                     visible="<%=item.isShared()%>"
    677                   />&nbsp;</tbl:header>
     634                <tbl:header clazz="row-index bg-filled-100">
     635                  <div class="index-<%=mode.getName()%>">
     636                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     637                    <div class="check">
     638                      <base:input
     639                        type="checkbox"
     640                        name="<%=itemId%>"
     641                        value="<%=itemId%>"
     642                        title="<%=name%>"
     643                        checked="<%=cc.getSelected().contains(itemId)%>"
     644                        visible="<%=mode.hasCheck()%>"
     645                      />
     646                      <base:input
     647                        type="radio"
     648                        name="item_id"
     649                        value="<%=itemId%>"
     650                        title="<%=name%>"
     651                        checked="<%=selectedItemId == itemId%>"
     652                        visible="<%=mode.hasRadio()%>"
     653                      />
     654                    </div>
     655                    <div class="icons">
     656                      <base:icon
     657                        image="deleted.png"
     658                        id="<%="delete."+itemId %>"
     659                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     660                        data-item-id="<%=itemId%>"
     661                        tooltip="This item has been scheduled for deletion"
     662                        visible="<%=item.isRemoved()%>"
     663                      /><base:icon
     664                        image="shared.png"
     665                        id="<%="share."+itemId %>"
     666                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     667                        data-item-id="<%=itemId%>"
     668                        tooltip="This item is shared to other users, groups and/or projects"
     669                        visible="<%=item.isShared()%>"
     670                      />
     671                    </div>
     672                  </div>
     673                </tbl:header>
    678674                <tbl:cell column="name"><div
    679675                  class="link table-item"
  • branches/3.18-stable/www/views/devices/list_devices.jsp

    r7932 r7938  
    118118      item="<%=itemType%>"
    119119      filterrows="<%=cc.getFilterRows()%>"
    120       subclass="fulltable sticky-headers"
     120      subclass="fulltable"
     121      stickyheaders="name"
    121122      >
    122123      <tbl:hidden
     
    290291        <tbl:headers>
    291292          <tbl:headerrow>
    292             <tbl:header colspan="3" />
     293            <tbl:header clazz="row-index bg-filled-100" />
    293294            <tbl:columnheaders />
    294295          </tbl:headerrow>
     
    301302            %>
    302303            <tbl:headerrow>
    303               <tbl:header subclass="index" />
    304               <tbl:header
    305                 subclass="check"
    306                 visible="<%=mode.hasCheck()%>"
    307                 ><base:icon
    308                   subclass="link table-check"
    309                   image="check_uncheck.png"
    310                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    311                   visible="<%=lastRow%>"
    312                 /></tbl:header>
    313               <tbl:header
    314                 subclass="check"
    315                 visible="<%=mode.hasRadio()%>"
    316                 />
    317               <tbl:header
    318                 subclass="icons"
    319                 visible="<%=mode.hasIcons()%>"
    320                 >
    321                 <base:icon
    322                   subclass="link table-filter-row-action"
    323                   image="add.png"
    324                   tooltip="Add extra filter row"
    325                   visible="<%=lastRow%>"
    326                 /><base:icon
    327                   subclass="link table-filter-row-action"
    328                   image="remove.png"
    329                   tooltip="Remove this filter row"
    330                   visible="<%=numRows > 1 || numFilters > 0 %>"
    331                   data-remove-row="<%=filterNo%>"
    332                 />
     304              <tbl:header subclass="row-index bg-filled-100">
     305                <div class="index-<%=mode.getName()%>">
     306                  <div class="index"></div>
     307                  <div class="check">
     308                    <base:icon
     309                      subclass="link table-check"
     310                      image="check_uncheck.png"
     311                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     312                      visible="<%=lastRow && mode.hasCheck()%>"
     313                    />
     314                  </div>
     315                  <div class="icons">
     316                    <base:icon
     317                      subclass="link table-filter-row-action"
     318                      image="add.png"
     319                      tooltip="Add extra filter row"
     320                      visible="<%=lastRow%>"
     321                    /><base:icon
     322                      subclass="link table-filter-row-action"
     323                      image="remove.png"
     324                      tooltip="Remove this filter row"
     325                      visible="<%=numRows > 1 || numFilters > 0 %>"
     326                      data-remove-row="<%=filterNo%>"
     327                    />
     328                  </div>
     329                </div>
    333330              </tbl:header>
    334331              <tbl:propertyfilter row="<%=filterNo%>" />
     
    369366              %>
    370367              <tbl:row>
    371                 <tbl:header
    372                   clazz="index"
    373                   ><%=index%></tbl:header>
    374                 <tbl:header
    375                   clazz="check"
    376                   visible="<%=mode.hasCheck()%>"
    377                   ><input
    378                     type="checkbox"
    379                     name="<%=itemId%>"
    380                     value="<%=itemId%>"
    381                     title="<%=name%>"
    382                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    383                   ></tbl:header>
    384                 <tbl:header
    385                   clazz="check"
    386                   visible="<%=mode.hasRadio()%>"
    387                   ><input
    388                     type="radio"
    389                     name="item_id"
    390                     value="<%=itemId%>"
    391                     title="<%=name%>"
    392                     <%=selectedItemId == itemId ? "checked" : ""%>
    393                   ></tbl:header>
    394                 <tbl:header
    395                   clazz="icons"
    396                   visible="<%=mode.hasIcons()%>"
    397                   ><base:icon
    398                     image="star.png"
    399                     tooltip="This is the current device"
    400                     visible="<%=itemId == currentDeviceId%>"
    401                   />&nbsp;</tbl:header>
     368                <tbl:header clazz="row-index bg-filled-100">
     369                  <div class="index-<%=mode.getName()%>">
     370                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     371                    <div class="check">
     372                      <base:input
     373                        type="checkbox"
     374                        name="<%=itemId%>"
     375                        value="<%=itemId%>"
     376                        title="<%=name%>"
     377                        checked="<%=cc.getSelected().contains(itemId)%>"
     378                        visible="<%=mode.hasCheck()%>"
     379                      />
     380                      <base:input
     381                        type="radio"
     382                        name="item_id"
     383                        value="<%=itemId%>"
     384                        title="<%=name%>"
     385                        checked="<%=selectedItemId == itemId%>"
     386                        visible="<%=mode.hasRadio()%>"
     387                      />
     388                    </div>
     389                    <div class="icons">
     390                      <base:icon
     391                        image="star.png"
     392                        tooltip="This is the current device"
     393                        visible="<%=itemId == currentDeviceId%>"
     394                      />
     395                    </div>
     396                  </div>
     397                </tbl:header>
    402398                <tbl:cell column="name"><div
    403399                  class="link table-item"
  • branches/3.18-stable/www/views/experiments/bioassays/list_bioassays.jsp

    r7932 r7938  
    202202      item="<%=itemType%>"
    203203      filterrows="<%=cc.getFilterRows()%>"
    204       subclass="fulltable sticky-headers"
     204      subclass="fulltable"
    205205      data-inherited-annotations="true"
     206      stickyheaders="name"
    206207      >
    207208      <tbl:hidden
     
    415416        <tbl:headers>
    416417          <tbl:headerrow>
    417             <tbl:header colspan="3" />
     418            <tbl:header clazz="row-index bg-filled-100" />
    418419            <tbl:columnheaders />
    419420          </tbl:headerrow>
     
    426427            %>
    427428            <tbl:headerrow>
    428               <tbl:header subclass="index" />
    429               <tbl:header
    430                 subclass="check"
    431                 visible="<%=mode.hasCheck()%>"
    432                 ><base:icon
    433                   subclass="link table-check"
    434                   image="check_uncheck.png"
    435                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    436                   visible="<%=lastRow%>"
    437                 /></tbl:header>
    438               <tbl:header
    439                 subclass="check"
    440                 visible="<%=mode.hasRadio()%>"
    441                 />
    442               <tbl:header
    443                 subclass="icons"
    444                 visible="<%=mode.hasIcons()%>"
    445                 >
    446                 <base:icon
    447                   subclass="link table-filter-row-action"
    448                   image="add.png"
    449                   tooltip="Add extra filter row"
    450                   visible="<%=lastRow%>"
    451                 /><base:icon
    452                   subclass="link table-filter-row-action"
    453                   image="remove.png"
    454                   tooltip="Remove this filter row"
    455                   visible="<%=numRows > 1 || numFilters > 0 %>"
    456                   data-remove-row="<%=filterNo%>"
    457                 />
     429              <tbl:header subclass="row-index bg-filled-100">
     430                <div class="index-<%=mode.getName()%>">
     431                  <div class="index"></div>
     432                  <div class="check">
     433                    <base:icon
     434                      subclass="link table-check"
     435                      image="check_uncheck.png"
     436                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     437                      visible="<%=lastRow && mode.hasCheck()%>"
     438                    />
     439                  </div>
     440                  <div class="icons">
     441                    <base:icon
     442                      subclass="link table-filter-row-action"
     443                      image="add.png"
     444                      tooltip="Add extra filter row"
     445                      visible="<%=lastRow%>"
     446                    /><base:icon
     447                      subclass="link table-filter-row-action"
     448                      image="remove.png"
     449                      tooltip="Remove this filter row"
     450                      visible="<%=numRows > 1 || numFilters > 0 %>"
     451                      data-remove-row="<%=filterNo%>"
     452                    />
     453                  </div>
     454                </div>
    458455              </tbl:header>
    459456              <tbl:propertyfilter row="<%=filterNo%>" />
     
    491488              %>
    492489              <tbl:row>
    493                 <tbl:header
    494                   clazz="index"
    495                   ><%=index%></tbl:header>
    496                 <tbl:header
    497                   clazz="check"
    498                   visible="<%=mode.hasCheck()%>"
    499                   ><input
    500                       type="checkbox"
    501                       name="<%=itemId%>"
    502                       value="<%=itemId%>"
    503                       title="<%=name%>"
    504                       <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    505                     ></tbl:header>
    506                 <tbl:header
    507                   clazz="check"
    508                   visible="<%=mode.hasRadio()%>"
    509                   ><input
    510                       type="radio"
    511                       name="item_id"
    512                       value="<%=itemId%>"
    513                       title="<%=name%>"
    514                       <%=selectedItemId == itemId ? "checked" : ""%>
    515                     ></tbl:header>
    516                 <tbl:header
    517                   clazz="icons"
    518                   visible="<%=mode.hasIcons()%>"
    519                   >&nbsp;</tbl:header>
     490                <tbl:header clazz="row-index bg-filled-100">
     491                  <div class="index-<%=mode.getName()%>">
     492                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     493                    <div class="check">
     494                      <base:input
     495                        type="checkbox"
     496                        name="<%=itemId%>"
     497                        value="<%=itemId%>"
     498                        title="<%=name%>"
     499                        checked="<%=cc.getSelected().contains(itemId)%>"
     500                        visible="<%=mode.hasCheck()%>"
     501                      />
     502                      <base:input
     503                        type="radio"
     504                        name="item_id"
     505                        value="<%=itemId%>"
     506                        title="<%=name%>"
     507                        checked="<%=selectedItemId == itemId%>"
     508                        visible="<%=mode.hasRadio()%>"
     509                      />
     510                    </div>
     511                    <div class="icons"></div>
     512                  </div>
     513                </tbl:header>
    520514                <tbl:cell column="name"><div
    521515                  class="link table-item"
  • branches/3.18-stable/www/views/experiments/bioassaysets/analysis_tree.jsp

    r7914 r7938  
    372372      filterrows="<%=cc.getFilterRows()%>"
    373373      subclass="<%=root == null ? "fulltable" : "" %>"
     374      stickyheaders="name"
    374375      >
    375376      <tbl:hidden
     
    582583        <tbl:headers>
    583584          <tbl:headerrow>
    584             <tbl:header colspan="3">
     585            <tbl:header clazz="row-index bg-filled-100">
    585586            <tbl:presetselector
    586               style="border-right: 0px;"
     587              style="border-right: 0px; display: block;"
    587588            />
    588589            </tbl:header>
     
    597598            %>
    598599            <tbl:headerrow>
    599               <tbl:header subclass="index" />
    600               <tbl:header
    601                 subclass="check"
    602                 visible="<%=mode.hasCheck()%>"
    603                 ><base:icon
    604                   subclass="link table-check"
    605                   image="check_uncheck.png"
    606                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    607                   visible="<%=lastRow%>"
    608                 /></tbl:header>
    609               <tbl:header
    610                 subclass="check"
    611                 visible="<%=mode.hasRadio()%>"
    612                 />
    613               <tbl:header
    614                 subclass="icons"
    615                 visible="<%=mode.hasIcons()%>"
    616                 >
    617                 <base:icon
    618                   subclass="link table-filter-row-action"
    619                   image="add.png"
    620                   tooltip="Add extra filter row"
    621                   visible="<%=lastRow%>"
    622                 /><base:icon
    623                   subclass="link table-filter-row-action"
    624                   image="remove.png"
    625                   tooltip="Remove this filter row"
    626                   visible="<%=numRows > 1 || numFilters > 0 %>"
    627                   data-remove-row="<%=filterNo%>"
    628                 />
     600              <tbl:header subclass="row-index bg-filled-100">
     601                <div class="index-<%=mode.getName()%>">
     602                  <div class="index"></div>
     603                  <div class="check">
     604                    <base:icon
     605                      subclass="link table-check"
     606                      image="check_uncheck.png"
     607                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     608                      visible="<%=lastRow && mode.hasCheck()%>"
     609                    />
     610                  </div>
     611                  <div class="icons">
     612                    <base:icon
     613                      subclass="link table-filter-row-action"
     614                      image="add.png"
     615                      tooltip="Add extra filter row"
     616                      visible="<%=lastRow%>"
     617                    /><base:icon
     618                      subclass="link table-filter-row-action"
     619                      image="remove.png"
     620                      tooltip="Remove this filter row"
     621                      visible="<%=numRows > 1 || numFilters > 0 %>"
     622                      data-remove-row="<%=filterNo%>"
     623                    />
     624                  </div>
     625                </div>
    629626              </tbl:header>
    630627              <tbl:propertyfilter row="<%=filterNo%>" />
     
    739736                  style="<%=isVisible ? "" : "display: none;" %>"
    740737                  >
    741                   <tbl:header
    742                     clazz="index"
    743                     ><%=index%></tbl:header>
    744                   <tbl:header
    745                     clazz="check"
    746                     visible="<%=mode.hasCheck()%>"
    747                     ><input
    748                         type="checkbox"
    749                         name="<%=prefix+itemId%>"
    750                         value="<%=itemId%>"
    751                         title="<%=name%>"
    752                         <%=ccc.getSelected().contains(itemId) ? "checked" : ""%>
    753                       ></tbl:header>
    754                   <tbl:header
    755                     clazz="check"
    756                     visible="<%=mode.hasRadio()%>"
    757                     ><input
    758                         type="radio"
    759                         name="item_id"
    760                         value="<%=itemId%>"
    761                         title="<%=name%>"
    762                         <%=selectedItemId == itemId ? "checked" : ""%>
    763                       ></tbl:header>
    764                   <tbl:header
    765                     clazz="icons"
    766                     visible="<%=mode.hasIcons()%>"
    767                     ><base:icon
    768                       image="deleted.png"
    769                       id="<%="delete."+itemId %>"
    770                       subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    771                       data-item-type="<%=itemType.name() %>"
    772                       data-item-id="<%=itemId%>"
    773                       data-notify="reloadOnNotify"
    774                       tooltip="This item has been scheduled for deletion"
    775                       visible="<%=removed%>"
    776                     />&nbsp;</tbl:header>
    777                  
     738                  <tbl:header clazz="row-index bg-filled-100">
     739                    <div class="index-<%=mode.getName()%>">
     740                      <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     741                      <div class="check">
     742                        <base:input
     743                          type="checkbox"
     744                          name="<%=prefix+itemId%>"
     745                          value="<%=itemId%>"
     746                          title="<%=name%>"
     747                          checked="<%=cc.getSelected().contains(itemId)%>"
     748                          visible="<%=mode.hasCheck()%>"
     749                        />
     750                        <base:input
     751                          type="radio"
     752                          name="item_id"
     753                          value="<%=itemId%>"
     754                          title="<%=name%>"
     755                          checked="<%=selectedItemId == itemId%>"
     756                          visible="<%=mode.hasRadio()%>"
     757                        />                   
     758                      </div>
     759                      <div class="icons">
     760                        <base:icon
     761                          image="deleted.png"
     762                          id="<%="delete."+itemId %>"
     763                          subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     764                          data-item-type="<%=itemType.name() %>"
     765                          data-item-id="<%=itemId%>"
     766                          data-notify="reloadOnNotify"
     767                          tooltip="This item has been scheduled for deletion"
     768                          visible="<%=removed%>"
     769                        />
     770                      </div>
     771                    </div>
     772                  </tbl:header>
    778773                  <tbl:cell clazz="cell joust" column="name">
    779774                    <div id="<%=joustId%>" class="link auto-init"
  • branches/3.18-stable/www/views/experiments/explorer/search/list.jsp

    r7932 r7938  
    2424  @version 2.0
    2525--%>
     26<%@page import="net.sf.basedb.clients.web.ModeInfo"%>
    2627<%@ page pageEncoding="UTF-8" session="false"
    2728  import="net.sf.basedb.core.SessionControl"
     
    7374final float scale = Base.getScale(sc);
    7475final String root = request.getContextPath();
     76final ModeInfo mode = ModeInfo.DEFAULT;
    7577
    7678final int bioAssaySetId = Values.getInt(request.getParameter("bioassayset_id"));
     
    110112  %>
    111113  <base:page title="<%=title%>">
    112   <base:head scripts="table.js,tabcontrol-2.js,~list.js" styles="table.css,toolbar.css,headertabcontrol.css,path.css" />
     114  <base:head scripts="table.js,tabcontrol-2.js,~list.js" styles="table.css,toolbar.css,headertabcontrol.css,path.css">
     115  <style>
     116    .row-index > div
     117    {
     118      grid-template-columns: 1fr !important;
     119    }
     120    .row-index .index
     121    {
     122      padding-right: 3px;
     123    }
     124  </style
     125  </base:head>
    113126  <base:body>
    114127    <p:path><p:pathelement
     
    134147      subcontext="<%=subContext%>"
    135148      filterrows="<%=cc.getFilterRows()%>"
    136       subclass="fulltable sticky-headers"
     149      subclass="fulltable"
     150      stickyheaders="externalId"
    137151      >
    138152      <tbl:hidden
     
    197211        <tbl:headers>
    198212          <tbl:headerrow>
    199             <tbl:header clazz="icons"/>
     213            <tbl:header clazz="row-index bg-filled-100" />
    200214            <tbl:columnheaders />
    201215          </tbl:headerrow>
     
    208222            %>
    209223            <tbl:headerrow>
    210               <tbl:header subclass="icons">
    211                 <base:icon
    212                   subclass="link table-filter-row-action"
    213                   image="add.png"
    214                   tooltip="Add extra filter row"
    215                   visible="<%=lastRow%>"
    216                 /><base:icon
    217                   subclass="link table-filter-row-action"
    218                   image="remove.png"
    219                   tooltip="Remove this filter row"
    220                   visible="<%=numRows > 1 || numFilters > 0 %>"
    221                   data-remove-row="<%=filterNo%>"
    222                 />
     224              <tbl:header subclass="row-index bg-filled-100">
     225                <div class="index-<%=mode.getName()%>">
     226                  <div class="icons">
     227                    <base:icon
     228                      subclass="link table-filter-row-action"
     229                      image="add.png"
     230                      tooltip="Add extra filter row"
     231                      visible="<%=lastRow%>"
     232                    /><base:icon
     233                      subclass="link table-filter-row-action"
     234                      image="remove.png"
     235                      tooltip="Remove this filter row"
     236                      visible="<%=numRows > 1 || numFilters > 0 %>"
     237                      data-remove-row="<%=filterNo%>"
     238                    />
     239                  </div>
     240                </div>
    223241              </tbl:header>
     242
    224243              <tbl:propertyfilter row="<%=filterNo%>" />
    225244            </tbl:headerrow>
     
    252271          %>
    253272          <tbl:row>
    254             <tbl:header
    255               clazz="icons"
    256               style="padding-right: 3px;"
    257               ><span class="link auto-init"
     273            <tbl:header clazz="row-index bg-filled-100">
     274              <div class="index-<%=mode.getName()%>">
     275                <div class="index <%=rowIndex>999?"index-smaller":""%>"><span class="link auto-init"
    258276                data-auto-init="view-reporter"
    259                 data-index="<%=rowIndex-1%>"><%=rowIndex%></span></tbl:header>
     277                data-index="<%=rowIndex-1%>"><%=rowIndex%></span></div>
     278              </div>
     279            </tbl:header>
    260280            <%
    261281            int colIndex = 2;
  • branches/3.18-stable/www/views/experiments/list_experiments.jsp

    r7932 r7938  
    139139      item="<%=itemType%>"
    140140      filterrows="<%=cc.getFilterRows()%>"
    141       subclass="fulltable sticky-headers"
     141      subclass="fulltable"
     142      stickyheaders="name"
    142143      >
    143144      <tbl:hidden
     
    463464        <tbl:headers>
    464465          <tbl:headerrow>
    465             <tbl:header colspan="3" />
     466            <tbl:header clazz="row-index bg-filled-100" />
    466467            <tbl:columnheaders />
    467468          </tbl:headerrow>
     
    474475            %>
    475476            <tbl:headerrow>
    476               <tbl:header subclass="index" />
    477               <tbl:header
    478                 subclass="check"
    479                 visible="<%=mode.hasCheck()%>"
    480                 ><base:icon
    481                   subclass="link table-check"
    482                   image="check_uncheck.png"
    483                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    484                   visible="<%=lastRow%>"
    485                 /></tbl:header>
    486               <tbl:header
    487                 subclass="check"
    488                 visible="<%=mode.hasRadio()%>"
    489                 />
    490               <tbl:header
    491                 subclass="icons"
    492                 visible="<%=mode.hasIcons()%>"
    493                 >
    494                 <base:icon
    495                   subclass="link table-filter-row-action"
    496                   image="add.png"
    497                   tooltip="Add extra filter row"
    498                   visible="<%=lastRow%>"
    499                 /><base:icon
    500                   subclass="link table-filter-row-action"
    501                   image="remove.png"
    502                   tooltip="Remove this filter row"
    503                   visible="<%=numRows > 1 || numFilters > 0 %>"
    504                   data-remove-row="<%=filterNo%>"
    505                 />
     477              <tbl:header subclass="row-index bg-filled-100">
     478                <div class="index-<%=mode.getName()%>">
     479                  <div class="index"></div>
     480                  <div class="check">
     481                    <base:icon
     482                      subclass="link table-check"
     483                      image="check_uncheck.png"
     484                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     485                      visible="<%=lastRow && mode.hasCheck()%>"
     486                    />
     487                  </div>
     488                  <div class="icons">
     489                    <base:icon
     490                      subclass="link table-filter-row-action"
     491                      image="add.png"
     492                      tooltip="Add extra filter row"
     493                      visible="<%=lastRow%>"
     494                    /><base:icon
     495                      subclass="link table-filter-row-action"
     496                      image="remove.png"
     497                      tooltip="Remove this filter row"
     498                      visible="<%=numRows > 1 || numFilters > 0 %>"
     499                      data-remove-row="<%=filterNo%>"
     500                    />
     501                  </div>
     502                </div>
    506503              </tbl:header>
    507504              <tbl:propertyfilter row="<%=filterNo%>" />
     
    543540              %>
    544541              <tbl:row>
    545                 <tbl:header
    546                   clazz="index"
    547                   ><%=index%></tbl:header>
    548                 <tbl:header
    549                   clazz="check"
    550                   visible="<%=mode.hasCheck()%>"
    551                   ><input
    552                     type="checkbox"
    553                     name="<%=itemId%>"
    554                     value="<%=itemId%>"
    555                     title="<%=name%>"
    556                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    557                   ></tbl:header>
    558                 <tbl:header
    559                   clazz="check"
    560                   visible="<%=mode.hasRadio()%>"
    561                   ><input
    562                     type="radio"
    563                     name="item_id"
    564                     value="<%=itemId%>"
    565                     title="<%=name%>"
    566                     <%=selectedItemId == itemId ? "checked" : ""%>
    567                   ></tbl:header>
    568                 <tbl:header
    569                   clazz="icons"
    570                   visible="<%=mode.hasIcons()%>"
    571                   ><base:icon
    572                     image="deleted.png"
    573                     id="<%="delete."+itemId %>"
    574                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    575                     data-item-id="<%=itemId%>"
    576                     tooltip="This item has been scheduled for deletion"
    577                     visible="<%=item.isRemoved()%>"
    578                   /><base:icon
    579                     image="shared.png"
    580                     id="<%="share."+itemId %>"
    581                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    582                     data-item-id="<%=itemId%>"
    583                     tooltip="This item is shared to other users, groups and/or projects"
    584                     visible="<%=item.isShared()%>"
    585                   />&nbsp;</tbl:header>
     542                <tbl:header clazz="row-index bg-filled-100">
     543                  <div class="index-<%=mode.getName()%>">
     544                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     545                    <div class="check">
     546                      <base:input
     547                        type="checkbox"
     548                        name="<%=itemId%>"
     549                        value="<%=itemId%>"
     550                        title="<%=name%>"
     551                        checked="<%=cc.getSelected().contains(itemId)%>"
     552                        visible="<%=mode.hasCheck()%>"
     553                      />
     554                      <base:input
     555                        type="radio"
     556                        name="item_id"
     557                        value="<%=itemId%>"
     558                        title="<%=name%>"
     559                        checked="<%=selectedItemId == itemId%>"
     560                        visible="<%=mode.hasRadio()%>"
     561                      />
     562                    </div>
     563                    <div class="icons">
     564                      <base:icon
     565                        image="deleted.png"
     566                        id="<%="delete."+itemId %>"
     567                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     568                        data-item-id="<%=itemId%>"
     569                        tooltip="This item has been scheduled for deletion"
     570                        visible="<%=item.isRemoved()%>"
     571                      /><base:icon
     572                        image="shared.png"
     573                        id="<%="share."+itemId %>"
     574                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     575                        data-item-id="<%=itemId%>"
     576                        tooltip="This item is shared to other users, groups and/or projects"
     577                        visible="<%=item.isShared()%>"
     578                      />
     579                    </div>
     580                  </div>
     581                </tbl:header>
    586582                <tbl:cell column="name"><div
    587583                  class="link table-item"
  • branches/3.18-stable/www/views/experiments/reporters/list_reporters.jsp

    r7932 r7938  
    154154      subcontext="<%=subContext%>"
    155155      filterrows="<%=cc.getFilterRows()%>"
    156       subclass="fulltable sticky-headers"
     156      subclass="fulltable"
     157      stickyheaders="cln.externalId"
    157158      >
    158159      <tbl:hidden
     
    261262        <tbl:headers>
    262263          <tbl:headerrow>
    263             <tbl:header colspan="3" />
     264            <tbl:header clazz="row-index bg-filled-100" />
    264265            <tbl:columnheaders />
    265266          </tbl:headerrow>
     
    272273            %>
    273274            <tbl:headerrow>
    274               <tbl:header subclass="index" />
    275               <tbl:header
    276                 subclass="check"
    277                 visible="<%=mode.hasCheck()%>"
    278                 ><base:icon
    279                   subclass="link table-check"
    280                   image="check_uncheck.png"
    281                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    282                   visible="<%=lastRow%>"
    283                 /></tbl:header>
    284               <tbl:header
    285                 subclass="check"
    286                 visible="<%=mode.hasRadio()%>"
    287                 />
    288               <tbl:header
    289                 subclass="icons"
    290                 visible="<%=mode.hasIcons()%>"
    291                 >
    292                 <base:icon
    293                   subclass="link table-filter-row-action"
    294                   image="add.png"
    295                   tooltip="Add extra filter row"
    296                   visible="<%=lastRow%>"
    297                 /><base:icon
    298                   subclass="link table-filter-row-action"
    299                   image="remove.png"
    300                   tooltip="Remove this filter row"
    301                   visible="<%=numRows > 1 || numFilters > 0 %>"
    302                   data-remove-row="<%=filterNo%>"
    303                 />
     275              <tbl:header subclass="row-index bg-filled-100">
     276                <div class="index-<%=mode.getName()%>">
     277                  <div class="index"></div>
     278                  <div class="check">
     279                    <base:icon
     280                      subclass="link table-check"
     281                      image="check_uncheck.png"
     282                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     283                      visible="<%=lastRow && mode.hasCheck()%>"
     284                    />
     285                  </div>
     286                  <div class="icons">
     287                    <base:icon
     288                      subclass="link table-filter-row-action"
     289                      image="add.png"
     290                      tooltip="Add extra filter row"
     291                      visible="<%=lastRow%>"
     292                    /><base:icon
     293                      subclass="link table-filter-row-action"
     294                      image="remove.png"
     295                      tooltip="Remove this filter row"
     296                      visible="<%=numRows > 1 || numFilters > 0 %>"
     297                      data-remove-row="<%=filterNo%>"
     298                    />
     299                  </div>
     300                </div>
    304301              </tbl:header>
    305302              <tbl:propertyfilter row="<%=filterNo%>" />
     
    339336              %>
    340337              <tbl:row>
    341                 <tbl:header
    342                   clazz="index"
    343                   ><%=index%></tbl:header>
    344                 <tbl:header
    345                   clazz="check"
    346                   visible="<%=mode.hasCheck()%>"
    347                   ><input
    348                     type="checkbox"
    349                     name="<%=itemId%>"
    350                     value="<%=itemId%>"
    351                     title="<%=name%>"
    352                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    353                   ></tbl:header>
    354                 <tbl:header clazz="icons" visible="<%=mode.hasIcons()%>" />
     338                <tbl:header clazz="row-index bg-filled-100">
     339                  <div class="index-<%=mode.getName()%>">
     340                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     341                    <div class="check">
     342                      <base:input
     343                        type="checkbox"
     344                        name="<%=itemId%>"
     345                        value="<%=itemId%>"
     346                        title="<%=name%>"
     347                        checked="<%=cc.getSelected().contains(itemId)%>"
     348                        visible="<%=mode.hasCheck()%>"
     349                      />
     350                    </div>
     351                    <div class="icons"></div>
     352                  </div>
     353                </tbl:header>
    355354
    356355                <tbl:cell column="upToDate" visible="<%=hasUpToDateColumn %>">
  • branches/3.18-stable/www/views/experiments/spotdata/list_spotdata.jsp

    r7932 r7938  
    151151    <ext:scripts context="<%=jspContext%>" />
    152152    <ext:stylesheets context="<%=jspContext%>" />
     153    <style>
     154    .row-index > div
     155    {
     156      grid-template-columns: 1fr !important;
     157    }
     158    .row-index .index
     159    {
     160      padding-right: 3px;
     161    }
     162    </style>
    153163  </base:head>
    154164  <base:body>
     
    197207      subcontext="<%=subContext%>"
    198208      filterrows="<%=cc.getFilterRows()%>"
    199       subclass="fulltable sticky-headers"
     209      subclass="fulltable"
     210      stickyheaders="rep.externalId"
    200211      >
    201212      <tbl:hidden
     
    315326        <tbl:headers>
    316327          <tbl:headerrow>
    317             <tbl:header
    318               clazz="index"
    319               colspan="2"
    320             />
     328            <tbl:header clazz="row-index bg-filled-100" />
    321329            <tbl:columnheaders />
    322330          </tbl:headerrow>
     
    329337            %>
    330338            <tbl:headerrow>
    331               <tbl:header subclass="index" />
    332               <tbl:header
    333                 subclass="icons"
    334                 visible="<%=mode.hasIcons()%>"
    335                 >
    336                 <base:icon
    337                   subclass="link table-filter-row-action"
    338                   image="add.png"
    339                   tooltip="Add extra filter row"
    340                   visible="<%=lastRow%>"
    341                 /><base:icon
    342                   subclass="link table-filter-row-action"
    343                   image="remove.png"
    344                   tooltip="Remove this filter row"
    345                   visible="<%=numRows > 1 || numFilters > 0 %>"
    346                   data-remove-row="<%=filterNo%>"
    347                 />
     339              <tbl:header subclass="row-index bg-filled-100">
     340                <div class="index-<%=mode.getName()%>">
     341                  <div class="icons">
     342                    <base:icon
     343                      subclass="link table-filter-row-action"
     344                      image="add.png"
     345                      tooltip="Add extra filter row"
     346                      visible="<%=lastRow%>"
     347                    /><base:icon
     348                      subclass="link table-filter-row-action"
     349                      image="remove.png"
     350                      tooltip="Remove this filter row"
     351                      visible="<%=numRows > 1 || numFilters > 0 %>"
     352                      data-remove-row="<%=filterNo%>"
     353                    />
     354                  </div>
     355                </div>
    348356              </tbl:header>
    349357              <tbl:propertyfilter row="<%=filterNo%>" />
     
    378386              %>
    379387              <tbl:row>
    380                 <tbl:header
    381                   clazz="index"
    382                   ><%=index%></tbl:header>
    383                 <tbl:header
    384                   clazz="icons"
    385                   visible="<%=mode.hasIcons()%>"
    386                   >&nbsp;</tbl:header>
     388                <tbl:header clazz="row-index bg-filled-100">
     389                  <div class="index-<%=mode.getName()%>">
     390                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     391                  </div>
     392                </tbl:header>
    387393                <%
    388394                int i = 1;
  • branches/3.18-stable/www/views/formulas/list_formulas.jsp

    r7932 r7938  
    156156      item="<%=itemType%>"
    157157      filterrows="<%=cc.getFilterRows()%>"
    158       subclass="fulltable sticky-headers"
     158      subclass="fulltable"
     159      stickyheaders="name"
    159160      >
    160161      <tbl:hidden
     
    446447        <tbl:headers>
    447448          <tbl:headerrow>
    448             <tbl:header colspan="3" />
     449            <tbl:header clazz="row-index bg-filled-100" />
    449450            <tbl:columnheaders />
    450451          </tbl:headerrow>
     
    457458            %>
    458459            <tbl:headerrow>
    459               <tbl:header subclass="index" />
    460               <tbl:header
    461                 subclass="check"
    462                 visible="<%=mode.hasCheck()%>"
    463                 ><base:icon
    464                   subclass="link table-check"
    465                   image="check_uncheck.png"
    466                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    467                   visible="<%=lastRow%>"
    468                 /></tbl:header>
    469               <tbl:header
    470                 subclass="check"
    471                 visible="<%=mode.hasRadio()%>"
    472                 />
    473               <tbl:header
    474                 subclass="icons"
    475                 visible="<%=mode.hasIcons()%>"
    476                 >
    477                 <base:icon
    478                   subclass="link table-filter-row-action"
    479                   image="add.png"
    480                   tooltip="Add extra filter row"
    481                   visible="<%=lastRow%>"
    482                 /><base:icon
    483                   subclass="link table-filter-row-action"
    484                   image="remove.png"
    485                   tooltip="Remove this filter row"
    486                   visible="<%=numRows > 1 || numFilters > 0 %>"
    487                   data-remove-row="<%=filterNo%>"
    488                 />
     460              <tbl:header subclass="row-index bg-filled-100">
     461                <div class="index-<%=mode.getName()%>">
     462                  <div class="index"></div>
     463                  <div class="check">
     464                    <base:icon
     465                      subclass="link table-check"
     466                      image="check_uncheck.png"
     467                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     468                      visible="<%=lastRow && mode.hasCheck()%>"
     469                    />
     470                  </div>
     471                  <div class="icons">
     472                    <base:icon
     473                      subclass="link table-filter-row-action"
     474                      image="add.png"
     475                      tooltip="Add extra filter row"
     476                      visible="<%=lastRow%>"
     477                    /><base:icon
     478                      subclass="link table-filter-row-action"
     479                      image="remove.png"
     480                      tooltip="Remove this filter row"
     481                      visible="<%=numRows > 1 || numFilters > 0 %>"
     482                      data-remove-row="<%=filterNo%>"
     483                    />
     484                  </div>
     485                </div>
    489486              </tbl:header>
    490487              <tbl:propertyfilter row="<%=filterNo%>" />
     
    528525              %>
    529526              <tbl:row>
    530                 <tbl:header
    531                   clazz="index"
    532                   ><%=index%></tbl:header>
    533                 <tbl:header
    534                   clazz="check"
    535                   visible="<%=mode.hasCheck()%>"
    536                   ><input
    537                     type="checkbox"
    538                     name="<%=itemId%>"
    539                     value="<%=itemId%>"
    540                     title="<%=name%>"
    541                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    542                   ></tbl:header>
    543                 <tbl:header
    544                   clazz="check"
    545                   visible="<%=mode.hasRadio()%>"
    546                   ><input
    547                     type="radio"
    548                     name="item_id"
    549                     value="<%=itemId%>"
    550                     title="<%=name%>"
    551                     <%=selectedItemId == itemId ? "checked" : ""%>
    552                   ></tbl:header>
    553                 <tbl:header
    554                   clazz="icons"
    555                   visible="<%=mode.hasIcons()%>"
    556                   ><base:icon
    557                     image="deleted.png"
    558                     id="<%="delete."+itemId %>"
    559                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    560                     data-item-id="<%=itemId%>"
    561                     tooltip="This item has been scheduled for deletion"
    562                     visible="<%=item.isRemoved()%>"
    563                   /><base:icon
    564                     image="shared.png"
    565                     id="<%="share."+itemId %>"
    566                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    567                     data-item-id="<%=itemId%>"
    568                     tooltip="This item is shared to other users, groups and/or projects"
    569                     visible="<%=item.isShared()%>"
    570                   />&nbsp;</tbl:header>
     527                <tbl:header clazz="row-index bg-filled-100">
     528                  <div class="index-<%=mode.getName()%>">
     529                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     530                    <div class="check">
     531                      <base:input
     532                        type="checkbox"
     533                        name="<%=itemId%>"
     534                        value="<%=itemId%>"
     535                        title="<%=name%>"
     536                        checked="<%=cc.getSelected().contains(itemId)%>"
     537                        visible="<%=mode.hasCheck()%>"
     538                      />
     539                      <base:input
     540                        type="radio"
     541                        name="item_id"
     542                        value="<%=itemId%>"
     543                        title="<%=name%>"
     544                        checked="<%=selectedItemId == itemId%>"
     545                        visible="<%=mode.hasRadio()%>"
     546                      />
     547                    </div>
     548                    <div class="icons">
     549                      <base:icon
     550                        image="deleted.png"
     551                        id="<%="delete."+itemId %>"
     552                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     553                        data-item-id="<%=itemId%>"
     554                        tooltip="This item has been scheduled for deletion"
     555                        visible="<%=item.isRemoved()%>"
     556                      /><base:icon
     557                        image="shared.png"
     558                        id="<%="share."+itemId %>"
     559                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     560                        data-item-id="<%=itemId%>"
     561                        tooltip="This item is shared to other users, groups and/or projects"
     562                        visible="<%=item.isShared()%>"
     563                      />
     564                    </div>
     565                  </div>
     566                </tbl:header>
    571567                <tbl:cell column="name"><div
    572568                  class="link table-item"
  • branches/3.18-stable/www/views/itemlists/list_lists.jsp

    r7932 r7938  
    153153    <ext:scripts context="<%=jspContext%>" />
    154154    <ext:stylesheets context="<%=jspContext%>" />
     155    <style>
     156    .row-index
     157    {
     158      width: 8.5em !important;
     159    }
     160    .row-index > div
     161    {
     162      grid-template-columns: 1fr 20px 52px !important;
     163    }
     164    </style>
    155165  </base:head>
    156166 
     
    167177      item="<%=itemType%>"
    168178      filterrows="<%=cc.getFilterRows()%>"
    169       subclass="fulltable sticky-headers"
     179      subclass="fulltable"
     180      stickyheaders="name"
    170181      >
    171182      <tbl:hidden
     
    436447        <tbl:headers>
    437448          <tbl:headerrow>
    438             <tbl:header colspan="3" />
     449            <tbl:header clazz="row-index bg-filled-100" />
    439450            <tbl:columnheaders />
    440451          </tbl:headerrow>
     
    447458            %>
    448459            <tbl:headerrow>
    449               <tbl:header subclass="index" />
    450               <tbl:header
    451                 subclass="check"
    452                 visible="<%=mode.hasCheck()%>"
    453                 ><base:icon
    454                   subclass="link table-check"
    455                   image="check_uncheck.png"
    456                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    457                   visible="<%=lastRow%>"
    458                 /></tbl:header>
    459               <tbl:header
    460                 subclass="check"
    461                 visible="<%=mode.hasRadio()%>"
    462                 />
    463               <tbl:header
    464                 subclass="icons"
    465                 visible="<%=mode.hasIcons()%>"
    466                 >
    467                 <base:icon
    468                   subclass="link table-filter-row-action"
    469                   image="add.png"
    470                   tooltip="Add extra filter row"
    471                   visible="<%=lastRow%>"
    472                 /><base:icon
    473                   subclass="link table-filter-row-action"
    474                   image="remove.png"
    475                   tooltip="Remove this filter row"
    476                   visible="<%=numRows > 1 || numFilters > 0 %>"
    477                   data-remove-row="<%=filterNo%>"
    478                 />
     460              <tbl:header subclass="row-index bg-filled-100">
     461                <div class="index-<%=mode.getName()%>">
     462                  <div class="index"></div>
     463                  <div class="check">
     464                    <base:icon
     465                      subclass="link table-check"
     466                      image="check_uncheck.png"
     467                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     468                      visible="<%=lastRow && mode.hasCheck()%>"
     469                    />
     470                  </div>
     471                  <div class="icons">
     472                    <base:icon
     473                      subclass="link table-filter-row-action"
     474                      image="add.png"
     475                      tooltip="Add extra filter row"
     476                      visible="<%=lastRow%>"
     477                    /><base:icon
     478                      subclass="link table-filter-row-action"
     479                      image="remove.png"
     480                      tooltip="Remove this filter row"
     481                      visible="<%=numRows > 1 || numFilters > 0 %>"
     482                      data-remove-row="<%=filterNo%>"
     483                    />
     484                  </div>
     485                </div>
    479486              </tbl:header>
    480487              <tbl:propertyfilter row="<%=filterNo%>" />
     
    517524              %>
    518525              <tbl:row>
    519                 <tbl:header
    520                   clazz="index"
    521                   ><%=index%></tbl:header>
    522                 <tbl:header
    523                   clazz="check"
    524                   visible="<%=mode.hasCheck()%>"
    525                   ><input
    526                     type="checkbox"
    527                     name="<%=itemId%>"
    528                     value="<%=itemId%>"
    529                     title="<%=name%>"
    530                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    531                   ></tbl:header>
    532                 <tbl:header
    533                   clazz="check"
    534                   visible="<%=mode.hasRadio()%>"
    535                   ><input
    536                     type="radio"
    537                     name="item_id"
    538                     value="<%=itemId%>"
    539                     title="<%=name%>"
    540                     <%=selectedItemId == itemId ? "checked" : ""%>
    541                   ></tbl:header>
    542                 <tbl:header
    543                   clazz="icons"
    544                   visible="<%=mode.hasIcons()%>"
    545                   ><base:icon
    546                     image="deleted.png"
    547                     id="<%="delete."+itemId %>"
    548                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    549                     data-item-id="<%=itemId%>"
    550                     tooltip="This item has been scheduled for deletion"
    551                     visible="<%=item.isRemoved()%>"
    552                   /><base:icon
    553                     image="shared.png"
    554                     id="<%="share."+itemId %>"
    555                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    556                     data-item-id="<%=itemId%>"
    557                     tooltip="This item is shared to other users, groups and/or projects"
    558                     visible="<%=item.isShared()%>"
    559                   /><base:icon
    560                     image="copy.png"
    561                     id="<%="clone."+itemId %>"
    562                     tooltip="Create a new list using this as a template"
    563                     subclass="auto-init"
    564                     data-auto-init="clone"
    565                     data-item-id="<%=itemId %>"
    566                     visible="<%=createPermission%>"
    567                   />&nbsp;</tbl:header>
     526                <tbl:header clazz="row-index bg-filled-100">
     527                  <div class="index-<%=mode.getName()%>">
     528                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     529                    <div class="check">
     530                      <base:input
     531                        type="checkbox"
     532                        name="<%=itemId%>"
     533                        value="<%=itemId%>"
     534                        title="<%=name%>"
     535                        checked="<%=cc.getSelected().contains(itemId)%>"
     536                        visible="<%=mode.hasCheck()%>"
     537                      />
     538                      <base:input
     539                        type="radio"
     540                        name="item_id"
     541                        value="<%=itemId%>"
     542                        title="<%=name%>"
     543                        checked="<%=selectedItemId == itemId%>"
     544                        visible="<%=mode.hasRadio()%>"
     545                      />
     546                    </div>
     547                    <div class="icons">
     548                      <base:icon
     549                        image="deleted.png"
     550                        id="<%="delete."+itemId %>"
     551                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     552                        data-item-id="<%=itemId%>"
     553                        tooltip="This item has been scheduled for deletion"
     554                        visible="<%=item.isRemoved()%>"
     555                      /><base:icon
     556                        image="shared.png"
     557                        id="<%="share."+itemId %>"
     558                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     559                        data-item-id="<%=itemId%>"
     560                        tooltip="This item is shared to other users, groups and/or projects"
     561                        visible="<%=item.isShared()%>"
     562                      />
     563                      <base:icon
     564                        image="copy.png"
     565                        id="<%="clone."+itemId %>"
     566                        tooltip="Create a new list using this as a template"
     567                        subclass="auto-init"
     568                        data-auto-init="clone"
     569                        data-item-id="<%=itemId %>"
     570                        visible="<%=createPermission%>"
     571                      />
     572                    </div>
     573                  </div>
     574                </tbl:header>
    568575                <tbl:cell column="name"><div
    569576                  class="link table-item"
  • branches/3.18-stable/www/views/itemlists/members/list_members.jsp

    r7932 r7938  
    202202      filterrows="<%=cc.getFilterRows()%>"
    203203      subcontext="<%="listmembers."+list.getId()%>"
    204       subclass="fulltable sticky-headers"
     204      subclass="fulltable"
    205205      data-inherited-annotations="<%=annotatable%>"
    206206      data-relateditem-columns="true"
     207      stickyheaders="name"
    207208      >
    208209      <tbl:hidden
     
    444445        <tbl:headers>
    445446          <tbl:headerrow>
    446             <tbl:header colspan="3" />
     447            <tbl:header clazz="row-index bg-filled-100" />
    447448            <tbl:columnheaders />
    448449          </tbl:headerrow>
     
    455456            %>
    456457            <tbl:headerrow>
    457               <tbl:header subclass="index" />
    458               <tbl:header
    459                 subclass="check"
    460                 visible="<%=mode.hasCheck()%>"
    461                 ><base:icon
    462                   subclass="link table-check"
    463                   image="check_uncheck.png"
    464                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    465                   visible="<%=lastRow%>"
    466                 /></tbl:header>
    467               <tbl:header
    468                 subclass="check"
    469                 visible="<%=mode.hasRadio()%>"
    470                 />
    471               <tbl:header
    472                 subclass="icons"
    473                 visible="<%=mode.hasIcons()%>"
    474                 >
    475                 <base:icon
    476                   subclass="link table-filter-row-action"
    477                   image="add.png"
    478                   tooltip="Add extra filter row"
    479                   visible="<%=lastRow%>"
    480                 /><base:icon
    481                   subclass="link table-filter-row-action"
    482                   image="remove.png"
    483                   tooltip="Remove this filter row"
    484                   visible="<%=numRows > 1 || numFilters > 0 %>"
    485                   data-remove-row="<%=filterNo%>"
    486                 />
     458              <tbl:header subclass="row-index bg-filled-100">
     459                <div class="index-<%=mode.getName()%>">
     460                  <div class="index"></div>
     461                  <div class="check">
     462                    <base:icon
     463                      subclass="link table-check"
     464                      image="check_uncheck.png"
     465                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     466                      visible="<%=lastRow && mode.hasCheck()%>"
     467                    />
     468                  </div>
     469                  <div class="icons">
     470                    <base:icon
     471                      subclass="link table-filter-row-action"
     472                      image="add.png"
     473                      tooltip="Add extra filter row"
     474                      visible="<%=lastRow%>"
     475                    /><base:icon
     476                      subclass="link table-filter-row-action"
     477                      image="remove.png"
     478                      tooltip="Remove this filter row"
     479                      visible="<%=numRows > 1 || numFilters > 0 %>"
     480                      data-remove-row="<%=filterNo%>"
     481                    />
     482                  </div>
     483                </div>
    487484              </tbl:header>
    488485              <tbl:propertyfilter row="<%=filterNo%>" />
     
    533530              %>
    534531              <tbl:row>
    535                 <tbl:header
    536                   clazz="index"
    537                   ><%=index%></tbl:header>
    538                 <tbl:header
    539                   clazz="check"
    540                   visible="<%=mode.hasCheck()%>"
    541                   ><input
    542                     type="checkbox"
    543                     name="<%=itemId%>"
    544                     value="<%=itemId%>"
    545                     title="<%=name%>"
    546                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    547                   ></tbl:header>
    548                 <tbl:header
    549                   clazz="check"
    550                   visible="<%=mode.hasRadio()%>"
    551                   ><input
    552                     type="radio"
    553                     name="item_id"
    554                     value="<%=itemId%>"
    555                     title="<%=name%>"
    556                     <%=selectedItemId == itemId ? "checked" : ""%>
    557                   ></tbl:header>
    558                 <tbl:header
    559                   clazz="icons"
    560                   visible="<%=mode.hasIcons()%>"
    561                   ><base:icon
    562                     image="deleted.png"
    563                     id="<%="delete."+itemId %>"
    564                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    565                     data-item-id="<%=itemId%>"
    566                     tooltip="This item has been scheduled for deletion"
    567                     visible="<%=removable && removableItem.isRemoved()%>"
    568                   /><base:icon
    569                     image="shared.png"
    570                     id="<%="share."+itemId %>"
    571                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    572                     data-item-id="<%=itemId%>"
    573                     tooltip="This item is shared to other users, groups and/or projects"
    574                     visible="<%=shareable && sharedItem.isShared()%>"
    575                   />&nbsp;</tbl:header>
     532                <tbl:header clazz="row-index bg-filled-100">
     533                  <div class="index-<%=mode.getName()%>">
     534                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     535                    <div class="check">
     536                      <base:input
     537                        type="checkbox"
     538                        name="<%=itemId%>"
     539                        value="<%=itemId%>"
     540                        title="<%=name%>"
     541                        checked="<%=cc.getSelected().contains(itemId)%>"
     542                        visible="<%=mode.hasCheck()%>"
     543                      />
     544                      <base:input
     545                        type="radio"
     546                        name="item_id"
     547                        value="<%=itemId%>"
     548                        title="<%=name%>"
     549                        checked="<%=selectedItemId == itemId%>"
     550                        visible="<%=mode.hasRadio()%>"
     551                      />
     552                    </div>
     553                    <div class="icons">
     554                      <base:icon
     555                        image="deleted.png"
     556                        id="<%="delete."+itemId %>"
     557                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     558                        data-item-id="<%=itemId%>"
     559                        tooltip="This item has been scheduled for deletion"
     560                        visible="<%=removable && removableItem.isRemoved()%>"
     561                      /><base:icon
     562                        image="shared.png"
     563                        id="<%="share."+itemId %>"
     564                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     565                        data-item-id="<%=itemId%>"
     566                        tooltip="This item is shared to other users, groups and/or projects"
     567                        visible="<%=shareable && sharedItem.isShared()%>"
     568                      />
     569                    </div>
     570                  </div>
     571                </tbl:header>
    576572                <tbl:cell column="name"><div
    577573                  class="link table-item"
  • branches/3.18-stable/www/views/items/list_items.jsp

    r7932 r7938  
    149149      item="<%=itemType%>"
    150150      subcontext="<%=subContext%>"
    151       subclass="fulltable sticky-headers"
     151      subclass="fulltable"
    152152      data-no-linkeditem-columns="1"
     153      stickyheaders="name"
    153154      >
    154155      <tbl:columndef
     
    252253        <tbl:headers>
    253254          <tbl:headerrow>
    254             <tbl:header colspan="3" />
     255            <tbl:header clazz="row-index bg-filled-100" />
    255256            <tbl:columnheaders />
    256257          </tbl:headerrow>
    257258          <tbl:headerrow>
    258             <tbl:header subclass="index" />
    259             <tbl:header
    260               subclass="check"
    261               ><base:icon
    262                 subclass="link table-check"
    263                 image="check_uncheck.png"
    264                 tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    265                 data-regexp="item:"
    266               /></tbl:header>
    267             <tbl:header
    268               subclass="check"
    269               visible="<%=mode.hasRadio()%>"
    270               />
    271             <tbl:header
    272               subclass="icons"
    273               />
     259            <tbl:header subclass="row-index bg-filled-100">
     260              <div class="index-<%=mode.getName()%>">
     261                <div class="index"></div>
     262                <div class="check">
     263                  <base:icon
     264                    subclass="link table-check"
     265                    image="check_uncheck.png"
     266                    tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     267                    data-regexp="item:"
     268                  />
     269                </div>
     270                <div class="icons"></div>
     271              </div>
     272            </tbl:header>
    274273            <tbl:propertyfilter />
    275274          </tbl:headerrow>
     
    335334              %>
    336335              <tbl:row>
    337                 <tbl:header
    338                   clazz="index"
    339                   ><%=index%></tbl:header>
    340                 <tbl:header
    341                   clazz="check"
    342                   ><input
    343                     type="checkbox"
    344                     name="item:<%=item.getType().name()%>"
    345                     value="<%=itemId%>"
    346                   ></tbl:header>
    347                 <tbl:header
    348                   clazz="icons"
    349                   ><base:icon
    350                     image="deleted.png"
    351                     id="<%="delete."+itemId %>"
    352                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    353                     data-item-type="<%=item.getType().name()%>"
    354                     data-item-id="<%=itemId%>"
    355                     tooltip="This item has been marked for deletion"
    356                     visible="<%=isRemoved%>"
    357                   /><base:icon
    358                     image="shared.png"
    359                     id="<%="share."+itemId %>"
    360                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    361                     data-item-type="<%=item.getType().name()%>"
    362                     data-item-id="<%=itemId%>"
    363                     tooltip="This item is shared to other users, groups and/or projects"
    364                     visible="<%=isShared%>"
    365                   />&nbsp;</tbl:header>
     336                <tbl:header clazz="row-index bg-filled-100">
     337                  <div class="index-<%=mode.getName()%>">
     338                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     339                    <div class="check">
     340                      <base:input
     341                        type="checkbox"
     342                        name="<%="item:"+item.getType().name()%>"
     343                        value="<%=itemId%>"
     344                        title="<%=name%>"
     345                      />
     346
     347                    </div>
     348                    <div class="icons">
     349                      <base:icon
     350                        image="deleted.png"
     351                        id="<%="delete."+itemId %>"
     352                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     353                        data-item-id="<%=itemId%>"
     354                        tooltip="This item has been scheduled for deletion"
     355                        visible="<%=isRemoved%>"
     356                      /><base:icon
     357                        image="shared.png"
     358                        id="<%="share."+itemId %>"
     359                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     360                        data-item-id="<%=itemId%>"
     361                        tooltip="This item is shared to other users, groups and/or projects"
     362                        visible="<%=isShared%>"
     363                      />
     364                    </div>
     365                  </div>
     366                </tbl:header>
    366367                <tbl:cell column="type"><%=item.getType()%></tbl:cell>
    367368                <tbl:cell column="name"><%=link%></tbl:cell>
  • branches/3.18-stable/www/views/jobs/list_jobs.jsp

    r7932 r7938  
    165165      item="<%=itemType%>"
    166166      filterrows="<%=cc.getFilterRows()%>"
    167       subclass="fulltable sticky-headers"
     167      subclass="fulltable"
     168      stickyheaders="name"
    168169      >
    169170      <tbl:hidden
     
    530531        <tbl:headers>
    531532          <tbl:headerrow>
    532             <tbl:header colspan="3" />
     533            <tbl:header clazz="row-index bg-filled-100" />
    533534            <tbl:columnheaders />
    534535          </tbl:headerrow>
     
    541542            %>
    542543            <tbl:headerrow>
    543               <tbl:header subclass="index" />
    544               <tbl:header
    545                 subclass="check"
    546                 visible="<%=mode.hasCheck()%>"
    547                 ><base:icon
    548                   subclass="link table-check"
    549                   image="check_uncheck.png"
    550                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    551                   visible="<%=lastRow%>"
    552                 /></tbl:header>
    553               <tbl:header
    554                 subclass="check"
    555                 visible="<%=mode.hasRadio()%>"
    556                 />
    557               <tbl:header
    558                 subclass="icons"
    559                 visible="<%=mode.hasIcons()%>"
    560                 >
    561                 <base:icon
    562                   subclass="link table-filter-row-action"
    563                   image="add.png"
    564                   tooltip="Add extra filter row"
    565                   visible="<%=lastRow%>"
    566                 /><base:icon
    567                   subclass="link table-filter-row-action"
    568                   image="remove.png"
    569                   tooltip="Remove this filter row"
    570                   visible="<%=numRows > 1 || numFilters > 0 %>"
    571                   data-remove-row="<%=filterNo%>"
    572                 />
     544              <tbl:header subclass="row-index bg-filled-100">
     545                <div class="index-<%=mode.getName()%>">
     546                  <div class="index"></div>
     547                  <div class="check">
     548                    <base:icon
     549                      subclass="link table-check"
     550                      image="check_uncheck.png"
     551                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     552                      visible="<%=lastRow && mode.hasCheck()%>"
     553                    />
     554                  </div>
     555                  <div class="icons">
     556                    <base:icon
     557                      subclass="link table-filter-row-action"
     558                      image="add.png"
     559                      tooltip="Add extra filter row"
     560                      visible="<%=lastRow%>"
     561                    /><base:icon
     562                      subclass="link table-filter-row-action"
     563                      image="remove.png"
     564                      tooltip="Remove this filter row"
     565                      visible="<%=numRows > 1 || numFilters > 0 %>"
     566                      data-remove-row="<%=filterNo%>"
     567                    />
     568                  </div>
     569                </div>
    573570              </tbl:header>
    574571              <tbl:propertyfilter row="<%=filterNo%>" />
     
    603600             
    604601              boolean deletePermission = item.hasPermission(Permission.DELETE);
     602              boolean sharePermission = item.hasPermission(Permission.SET_PERMISSION);
    605603              index++;
    606604              numListed++;
     
    627625              %>
    628626              <tbl:row>
    629                 <tbl:header
    630                   clazz="index"
    631                   ><%=index%></tbl:header>
    632                 <tbl:header
    633                   clazz="check"
    634                   visible="<%=mode.hasCheck()%>"
    635                   ><input
    636                     type="checkbox"
    637                     name="<%=itemId%>"
    638                     value="<%=itemId%>"
    639                     title="<%=name%>"
    640                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    641                   ></tbl:header>
    642                 <tbl:header
    643                   clazz="check"
    644                   visible="<%=mode.hasRadio()%>"
    645                   ><input
    646                     type="radio"
    647                     name="item_id"
    648                     value="<%=itemId%>"
    649                     title="<%=name%>"
    650                     <%=selectedItemId == itemId ? "checked" : ""%>
    651                   ></tbl:header>
    652                 <tbl:header
    653                   clazz="icons"
    654                   visible="<%=mode.hasIcons()%>"
    655                   ><base:icon
    656                     image="deleted.png"
    657                     id="<%="delete."+itemId %>"
    658                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    659                     data-item-id="<%=itemId%>"
    660                     tooltip="This item has been scheduled for deletion"
    661                     visible="<%=item.isRemoved()%>"
    662                   />&nbsp;</tbl:header>
     627                <tbl:header clazz="row-index bg-filled-100">
     628                  <div class="index-<%=mode.getName()%>">
     629                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     630                    <div class="check">
     631                      <base:input
     632                        type="checkbox"
     633                        name="<%=itemId%>"
     634                        value="<%=itemId%>"
     635                        title="<%=name%>"
     636                        checked="<%=cc.getSelected().contains(itemId)%>"
     637                        visible="<%=mode.hasCheck()%>"
     638                      />
     639                      <base:input
     640                        type="radio"
     641                        name="item_id"
     642                        value="<%=itemId%>"
     643                        title="<%=name%>"
     644                        checked="<%=selectedItemId == itemId%>"
     645                        visible="<%=mode.hasRadio()%>"
     646                      />
     647                    </div>
     648                    <div class="icons">
     649                      <base:icon
     650                        image="deleted.png"
     651                        id="<%="delete."+itemId %>"
     652                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     653                        data-item-id="<%=itemId%>"
     654                        tooltip="This item has been scheduled for deletion"
     655                        visible="<%=item.isRemoved()%>"
     656                      /><base:icon
     657                        image="shared.png"
     658                        id="<%="share."+itemId %>"
     659                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     660                        data-item-id="<%=itemId%>"
     661                        tooltip="This item is shared to other users, groups and/or projects"
     662                        visible="<%=item.isShared()%>"
     663                      />
     664                    </div>
     665                  </div>
     666                </tbl:header>
    663667                <tbl:cell column="name"><div
    664668                  class="link table-item"
  • branches/3.18-stable/www/views/jobs/view_job.jsp

    r7932 r7938  
    622622        <tbl:table
    623623          id="history" columns="all"
    624           subclass="fulltable sticky-headers" style="border-bottom: 0px;">
     624          subclass="fulltable" stickyheaders="<%=null%>" style="border-bottom: 0px;">
    625625          <tbl:columndef id="changeType" title="Change type" />
    626626          <tbl:columndef id="item" title="Item" />
  • branches/3.18-stable/www/views/permissiontemplates/list_templates.jsp

    r7932 r7938  
    113113      item="<%=itemType%>"
    114114      filterrows="<%=cc.getFilterRows()%>"
    115       subclass="fulltable sticky-headers"
     115      subclass="fulltable"
     116      stickyheaders="name"
    116117      >
    117118      <tbl:hidden
     
    260261        <tbl:headers>
    261262          <tbl:headerrow>
    262             <tbl:header colspan="3" />
     263            <tbl:header clazz="row-index bg-filled-100" />
    263264            <tbl:columnheaders />
    264265          </tbl:headerrow>
     
    271272            %>
    272273            <tbl:headerrow>
    273               <tbl:header subclass="index" />
    274               <tbl:header
    275                 subclass="check"
    276                 visible="<%=mode.hasCheck()%>"
    277                 ><base:icon
    278                   subclass="link table-check"
    279                   image="check_uncheck.png"
    280                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    281                   visible="<%=lastRow%>"
    282                 /></tbl:header>
    283               <tbl:header
    284                 subclass="check"
    285                 visible="<%=mode.hasRadio()%>"
    286                 />
    287               <tbl:header
    288                 subclass="icons"
    289                 visible="<%=mode.hasIcons()%>"
    290                 >
    291                 <base:icon
    292                   subclass="link table-filter-row-action"
    293                   image="add.png"
    294                   tooltip="Add extra filter row"
    295                   visible="<%=lastRow%>"
    296                 /><base:icon
    297                   subclass="link table-filter-row-action"
    298                   image="remove.png"
    299                   tooltip="Remove this filter row"
    300                   visible="<%=numRows > 1 || numFilters > 0 %>"
    301                   data-remove-row="<%=filterNo%>"
    302                 />
     274              <tbl:header subclass="row-index bg-filled-100">
     275                <div class="index-<%=mode.getName()%>">
     276                  <div class="index"></div>
     277                  <div class="check">
     278                    <base:icon
     279                      subclass="link table-check"
     280                      image="check_uncheck.png"
     281                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     282                      visible="<%=lastRow && mode.hasCheck()%>"
     283                    />
     284                  </div>
     285                  <div class="icons">
     286                    <base:icon
     287                      subclass="link table-filter-row-action"
     288                      image="add.png"
     289                      tooltip="Add extra filter row"
     290                      visible="<%=lastRow%>"
     291                    /><base:icon
     292                      subclass="link table-filter-row-action"
     293                      image="remove.png"
     294                      tooltip="Remove this filter row"
     295                      visible="<%=numRows > 1 || numFilters > 0 %>"
     296                      data-remove-row="<%=filterNo%>"
     297                    />
     298                  </div>
     299                </div>
    303300              </tbl:header>
    304301              <tbl:propertyfilter row="<%=filterNo%>" />
     
    340337              %>
    341338              <tbl:row>
    342                 <tbl:header
    343                   clazz="index"
    344                   ><%=index%></tbl:header>
    345                 <tbl:header
    346                   clazz="check"
    347                   visible="<%=mode.hasCheck()%>"
    348                   ><input
    349                     type="checkbox"
    350                     name="<%=itemId%>"
    351                     value="<%=itemId%>"
    352                     title="<%=name%>"
    353                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    354                   ></tbl:header>
    355                 <tbl:header
    356                   clazz="check"
    357                   visible="<%=mode.hasRadio()%>"
    358                   ><input
    359                     type="radio"
    360                     name="item_id"
    361                     value="<%=itemId%>"
    362                     title="<%=name%>"
    363                     <%=selectedItemId == itemId ? "checked" : ""%>
    364                   ></tbl:header>
    365                 <tbl:header
    366                   clazz="icons"
    367                   visible="<%=mode.hasIcons()%>"
    368                   ><base:icon
    369                     image="deleted.png"
    370                     id="<%="delete."+itemId %>"
    371                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    372                     data-item-id="<%=itemId%>"
    373                     tooltip="This item has been scheduled for deletion"
    374                     visible="<%=item.isRemoved()%>"
    375                   /><base:icon
    376                     image="shared.png"
    377                     id="<%="share."+itemId %>"
    378                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    379                     data-item-id="<%=itemId%>"
    380                     tooltip="This item is shared to other users, groups and/or projects"
    381                     visible="<%=item.isShared()%>"
    382                   />&nbsp;</tbl:header>
     339                <tbl:header clazz="row-index bg-filled-100">
     340                  <div class="index-<%=mode.getName()%>">
     341                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     342                    <div class="check">
     343                      <base:input
     344                        type="checkbox"
     345                        name="<%=itemId%>"
     346                        value="<%=itemId%>"
     347                        title="<%=name%>"
     348                        checked="<%=cc.getSelected().contains(itemId)%>"
     349                        visible="<%=mode.hasCheck()%>"
     350                      />
     351                      <base:input
     352                        type="radio"
     353                        name="item_id"
     354                        value="<%=itemId%>"
     355                        title="<%=name%>"
     356                        checked="<%=selectedItemId == itemId%>"
     357                        visible="<%=mode.hasRadio()%>"
     358                      />
     359                    </div>
     360                    <div class="icons">
     361                      <base:icon
     362                        image="deleted.png"
     363                        id="<%="delete."+itemId %>"
     364                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     365                        data-item-id="<%=itemId%>"
     366                        tooltip="This item has been scheduled for deletion"
     367                        visible="<%=item.isRemoved()%>"
     368                      /><base:icon
     369                        image="shared.png"
     370                        id="<%="share."+itemId %>"
     371                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     372                        data-item-id="<%=itemId%>"
     373                        tooltip="This item is shared to other users, groups and/or projects"
     374                        visible="<%=item.isShared()%>"
     375                      />
     376                    </div>
     377                  </div>
     378                </tbl:header>
    383379                <tbl:cell column="name"><div
    384380                  class="link table-item"
  • branches/3.18-stable/www/views/physicalbioassays/list_bioassays.jsp

    r7932 r7938  
    186186      item="<%=itemType%>"
    187187      filterrows="<%=cc.getFilterRows()%>"
    188       subclass="fulltable sticky-headers"
     188      subclass="fulltable"
    189189      data-inherited-annotations="true"
    190190      data-relateditem-columns="true"
     191      stickyheaders="name"
    191192      >
    192193      <tbl:hidden
     
    497498        <tbl:headers>
    498499          <tbl:headerrow>
    499             <tbl:header colspan="3" />
     500            <tbl:header clazz="row-index bg-filled-100" />
    500501            <tbl:columnheaders />
    501502          </tbl:headerrow>
     
    508509            %>
    509510            <tbl:headerrow>
    510               <tbl:header subclass="index" />
    511               <tbl:header
    512                 subclass="check"
    513                 visible="<%=mode.hasCheck()%>"
    514                 ><base:icon
    515                   subclass="link table-check"
    516                   image="check_uncheck.png"
    517                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    518                   visible="<%=lastRow%>"
    519                 /></tbl:header>
    520               <tbl:header
    521                 subclass="check"
    522                 visible="<%=mode.hasRadio()%>"
    523                 />
    524               <tbl:header
    525                 subclass="icons"
    526                 visible="<%=mode.hasIcons()%>"
    527                 >
    528                 <base:icon
    529                   subclass="link table-filter-row-action"
    530                   image="add.png"
    531                   tooltip="Add extra filter row"
    532                   visible="<%=lastRow%>"
    533                 /><base:icon
    534                   subclass="link table-filter-row-action"
    535                   image="remove.png"
    536                   tooltip="Remove this filter row"
    537                   visible="<%=numRows > 1 || numFilters > 0 %>"
    538                   data-remove-row="<%=filterNo%>"
    539                 />
     511              <tbl:header subclass="row-index bg-filled-100">
     512                <div class="index-<%=mode.getName()%>">
     513                  <div class="index"></div>
     514                  <div class="check">
     515                    <base:icon
     516                      subclass="link table-check"
     517                      image="check_uncheck.png"
     518                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     519                      visible="<%=lastRow && mode.hasCheck()%>"
     520                    />
     521                  </div>
     522                  <div class="icons">
     523                    <base:icon
     524                      subclass="link table-filter-row-action"
     525                      image="add.png"
     526                      tooltip="Add extra filter row"
     527                      visible="<%=lastRow%>"
     528                    /><base:icon
     529                      subclass="link table-filter-row-action"
     530                      image="remove.png"
     531                      tooltip="Remove this filter row"
     532                      visible="<%=numRows > 1 || numFilters > 0 %>"
     533                      data-remove-row="<%=filterNo%>"
     534                    />
     535                  </div>
     536                </div>
    540537              </tbl:header>
    541538              <tbl:propertyfilter row="<%=filterNo%>" />
     
    577574              %>
    578575              <tbl:row>
    579                 <tbl:header
    580                   clazz="index"
    581                   ><%=index%></tbl:header>
    582                 <tbl:header
    583                   clazz="check"
    584                   visible="<%=mode.hasCheck()%>"
    585                   ><input
    586                     type="checkbox"
    587                     name="<%=itemId%>"
    588                     value="<%=itemId%>"
    589                     title="<%=name%>"
    590                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    591                   ></tbl:header>
    592                 <tbl:header
    593                   clazz="check"
    594                   visible="<%=mode.hasRadio()%>"
    595                   ><input
    596                     type="radio"
    597                     name="item_id"
    598                     value="<%=itemId%>"
    599                     title="<%=name%>"
    600                     <%=selectedItemId == itemId ? "checked" : ""%>
    601                   ></tbl:header>
    602                 <tbl:header
    603                   clazz="icons"
    604                   visible="<%=mode.hasIcons()%>"
    605                   ><base:icon
    606                     image="deleted.png"
    607                     id="<%="delete."+itemId %>"
    608                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    609                     data-item-id="<%=itemId%>"
    610                     tooltip="This item has been scheduled for deletion"
    611                     visible="<%=item.isRemoved()%>"
    612                   /><base:icon
    613                     image="shared.png"
    614                     id="<%="share."+itemId %>"
    615                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    616                     data-item-id="<%=itemId%>"
    617                     tooltip="This item is shared to other users, groups and/or projects"
    618                     visible="<%=item.isShared()%>"
    619                   />&nbsp;</tbl:header>
     576                <tbl:header clazz="row-index bg-filled-100">
     577                  <div class="index-<%=mode.getName()%>">
     578                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     579                    <div class="check">
     580                      <base:input
     581                        type="checkbox"
     582                        name="<%=itemId%>"
     583                        value="<%=itemId%>"
     584                        title="<%=name%>"
     585                        checked="<%=cc.getSelected().contains(itemId)%>"
     586                        visible="<%=mode.hasCheck()%>"
     587                      />
     588                      <base:input
     589                        type="radio"
     590                        name="item_id"
     591                        value="<%=itemId%>"
     592                        title="<%=name%>"
     593                        checked="<%=selectedItemId == itemId%>"
     594                        visible="<%=mode.hasRadio()%>"
     595                      />
     596                    </div>
     597                    <div class="icons">
     598                      <base:icon
     599                        image="deleted.png"
     600                        id="<%="delete."+itemId %>"
     601                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     602                        data-item-id="<%=itemId%>"
     603                        tooltip="This item has been scheduled for deletion"
     604                        visible="<%=item.isRemoved()%>"
     605                      /><base:icon
     606                        image="shared.png"
     607                        id="<%="share."+itemId %>"
     608                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     609                        data-item-id="<%=itemId%>"
     610                        tooltip="This item is shared to other users, groups and/or projects"
     611                        visible="<%=item.isShared()%>"
     612                      />
     613                    </div>
     614                  </div>
     615                </tbl:header>
    620616                <tbl:cell column="name"><div
    621617                  class="link table-item"
  • branches/3.18-stable/www/views/rawbioassays/rawdata/list_rawdata.jsp

    r7932 r7938  
    190190      subcontext="<%=subContext%>"
    191191      filterrows="<%=cc.getFilterRows()%>"
    192       subclass="fulltable sticky-headers"
     192      subclass="fulltable"
     193      stickyheaders="position"
    193194      >
    194195      <tbl:hidden
     
    644645        <tbl:headers>
    645646          <tbl:headerrow>
    646             <tbl:header colspan="3" />
     647            <tbl:header clazz="row-index bg-filled-100" />
    647648            <tbl:columnheaders />
    648649          </tbl:headerrow>
     
    655656            %>
    656657            <tbl:headerrow>
    657               <tbl:header subclass="index" />
    658               <tbl:header
    659                 subclass="check"
    660                 visible="<%=mode.hasCheck()%>"
    661                 ><base:icon
    662                   subclass="link table-check"
    663                   image="check_uncheck.png"
    664                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    665                   visible="<%=lastRow%>"
    666                 /></tbl:header>
    667               <tbl:header
    668                 subclass="check"
    669                 visible="<%=mode.hasRadio()%>"
    670                 />
    671               <tbl:header
    672                 subclass="icons"
    673                 visible="<%=mode.hasIcons()%>"
    674                 >
    675                 <base:icon
    676                   subclass="link table-filter-row-action"
    677                   image="add.png"
    678                   tooltip="Add extra filter row"
    679                   visible="<%=lastRow%>"
    680                 /><base:icon
    681                   subclass="link table-filter-row-action"
    682                   image="remove.png"
    683                   tooltip="Remove this filter row"
    684                   visible="<%=numRows > 1 || numFilters > 0 %>"
    685                   data-remove-row="<%=filterNo%>"
    686                 />
     658              <tbl:header subclass="row-index bg-filled-100">
     659                <div class="index-<%=mode.getName()%>">
     660                  <div class="index"></div>
     661                  <div class="check">
     662                    <base:icon
     663                      subclass="link table-check"
     664                      image="check_uncheck.png"
     665                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     666                      visible="<%=lastRow && mode.hasCheck()%>"
     667                    />
     668                  </div>
     669                  <div class="icons">
     670                    <base:icon
     671                      subclass="link table-filter-row-action"
     672                      image="add.png"
     673                      tooltip="Add extra filter row"
     674                      visible="<%=lastRow%>"
     675                    /><base:icon
     676                      subclass="link table-filter-row-action"
     677                      image="remove.png"
     678                      tooltip="Remove this filter row"
     679                      visible="<%=numRows > 1 || numFilters > 0 %>"
     680                      data-remove-row="<%=filterNo%>"
     681                    />
     682                  </div>
     683                </div>
    687684              </tbl:header>
    688685              <tbl:propertyfilter row="<%=filterNo%>" />
     
    718715              %>
    719716              <tbl:row>
    720                 <tbl:header
    721                   clazz="index"
    722                   ><%=index%></tbl:header>
    723                 <tbl:header
    724                   clazz="check"
    725                   visible="<%=mode.hasCheck()%>"
    726                   ><input
    727                       type="checkbox"
    728                       name="<%=itemId%>"
    729                       value="<%=itemId%>"
    730                       title="TODO"
    731                       <%=request.getParameter(Integer.toString(itemId)) == null ? "" : "checked"%>
    732                     ></tbl:header>
    733                 <tbl:header
    734                   clazz="check"
    735                   visible="<%=mode.hasRadio()%>"
    736                   ><input
    737                       type="radio"
    738                       name="item_id"
    739                       value="<%=itemId%>"
    740                       title="TODO"
    741                       <%=selectedItemId == itemId ? "checked" : ""%>
    742                     ></tbl:header>
    743                 <tbl:header
    744                   clazz="icons"
    745                   visible="<%=mode.hasIcons()%>"
    746                   ></tbl:header>
     717                <tbl:header clazz="row-index bg-filled-100">
     718                  <div class="index-<%=mode.getName()%>">
     719                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     720                    <div class="check">
     721                      <base:input
     722                        type="checkbox"
     723                        name="<%=itemId%>"
     724                        value="<%=itemId%>"
     725                        checked="<%=request.getParameter(Integer.toString(itemId)) != null%>"
     726                        visible="<%=mode.hasCheck()%>"
     727                      />
     728                      <base:input
     729                        type="radio"
     730                        name="item_id"
     731                        value="<%=itemId%>"
     732                        checked="<%=selectedItemId == itemId%>"
     733                        visible="<%=mode.hasRadio()%>"
     734                      />
     735                    </div>
     736                    <div class="icons"></div>
     737                  </div>
     738                </tbl:header>
    747739                <tbl:cell column="position"><div
    748740                  class="link table-item"
  • branches/3.18-stable/www/views/reporterlists/list_reporterlists.jsp

    r7932 r7938  
    115115      item="<%=itemType%>"
    116116      filterrows="<%=cc.getFilterRows()%>"
    117       subclass="fulltable sticky-headers"
     117      subclass="fulltable"
     118      stickyheaders="name"
    118119      >
    119120      <tbl:hidden
     
    299300        <tbl:headers>
    300301          <tbl:headerrow>
    301             <tbl:header colspan="3" />
     302            <tbl:header clazz="row-index bg-filled-100" />
    302303            <tbl:columnheaders />
    303304          </tbl:headerrow>
     
    310311            %>
    311312            <tbl:headerrow>
    312               <tbl:header subclass="index" />
    313               <tbl:header
    314                 subclass="check"
    315                 visible="<%=mode.hasCheck()%>"
    316                 ><base:icon
    317                   subclass="link table-check"
    318                   image="check_uncheck.png"
    319                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    320                   visible="<%=lastRow%>"
    321                 /></tbl:header>
    322               <tbl:header
    323                 subclass="check"
    324                 visible="<%=mode.hasRadio()%>"
    325                 />
    326               <tbl:header
    327                 subclass="icons"
    328                 visible="<%=mode.hasIcons()%>"
    329                 >
    330                 <base:icon
    331                   subclass="link table-filter-row-action"
    332                   image="add.png"
    333                   tooltip="Add extra filter row"
    334                   visible="<%=lastRow%>"
    335                 /><base:icon
    336                   subclass="link table-filter-row-action"
    337                   image="remove.png"
    338                   tooltip="Remove this filter row"
    339                   visible="<%=numRows > 1 || numFilters > 0 %>"
    340                   data-remove-row="<%=filterNo%>"
    341                 />
     313              <tbl:header subclass="row-index bg-filled-100">
     314                <div class="index-<%=mode.getName()%>">
     315                  <div class="index"></div>
     316                  <div class="check">
     317                    <base:icon
     318                      subclass="link table-check"
     319                      image="check_uncheck.png"
     320                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     321                      visible="<%=lastRow && mode.hasCheck()%>"
     322                    />
     323                  </div>
     324                  <div class="icons">
     325                    <base:icon
     326                      subclass="link table-filter-row-action"
     327                      image="add.png"
     328                      tooltip="Add extra filter row"
     329                      visible="<%=lastRow%>"
     330                    /><base:icon
     331                      subclass="link table-filter-row-action"
     332                      image="remove.png"
     333                      tooltip="Remove this filter row"
     334                      visible="<%=numRows > 1 || numFilters > 0 %>"
     335                      data-remove-row="<%=filterNo%>"
     336                    />
     337                  </div>
     338                </div>
    342339              </tbl:header>
    343340              <tbl:propertyfilter row="<%=filterNo%>" />
     
    379376              %>
    380377              <tbl:row>
    381                 <tbl:header
    382                   clazz="index"
    383                   ><%=index%></tbl:header>
    384                 <tbl:header
    385                   clazz="check"
    386                   visible="<%=mode.hasCheck()%>"
    387                   ><input
    388                     type="checkbox"
    389                     name="<%=itemId%>"
    390                     value="<%=itemId%>"
    391                     title="<%=name%>"
    392                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    393                   ></tbl:header>
    394                 <tbl:header
    395                   clazz="check"
    396                   visible="<%=mode.hasRadio()%>"
    397                   ><input
    398                     type="radio"
    399                     name="item_id"
    400                     value="<%=itemId%>"
    401                     title="<%=name%>"
    402                     <%=selectedItemId == itemId ? "checked" : ""%>
    403                   ></tbl:header>
    404                 <tbl:header
    405                   clazz="icons"
    406                   visible="<%=mode.hasIcons()%>"
    407                   ><base:icon
    408                     image="deleted.png"
    409                     id="<%="delete."+itemId %>"
    410                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    411                     data-item-id="<%=itemId%>"
    412                     tooltip="This item has been scheduled for deletion"
    413                     visible="<%=item.isRemoved()%>"
    414                   /><base:icon
    415                     image="shared.png"
    416                     id="<%="share."+itemId %>"
    417                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    418                     data-item-id="<%=itemId%>"
    419                     tooltip="This item is shared to other users, groups and/or projects"
    420                     visible="<%=item.isShared()%>"
    421                   />&nbsp;</tbl:header>
     378                <tbl:header clazz="row-index bg-filled-100">
     379                  <div class="index-<%=mode.getName()%>">
     380                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     381                    <div class="check">
     382                      <base:input
     383                        type="checkbox"
     384                        name="<%=itemId%>"
     385                        value="<%=itemId%>"
     386                        title="<%=name%>"
     387                        checked="<%=cc.getSelected().contains(itemId)%>"
     388                        visible="<%=mode.hasCheck()%>"
     389                      />
     390                      <base:input
     391                        type="radio"
     392                        name="item_id"
     393                        value="<%=itemId%>"
     394                        title="<%=name%>"
     395                        checked="<%=selectedItemId == itemId%>"
     396                        visible="<%=mode.hasRadio()%>"
     397                      />
     398                    </div>
     399                    <div class="icons">
     400                      <base:icon
     401                        image="deleted.png"
     402                        id="<%="delete."+itemId %>"
     403                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     404                        data-item-id="<%=itemId%>"
     405                        tooltip="This item has been scheduled for deletion"
     406                        visible="<%=item.isRemoved()%>"
     407                      /><base:icon
     408                        image="shared.png"
     409                        id="<%="share."+itemId %>"
     410                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     411                        data-item-id="<%=itemId%>"
     412                        tooltip="This item is shared to other users, groups and/or projects"
     413                        visible="<%=item.isShared()%>"
     414                      />
     415                    </div>
     416                  </div>
     417                </tbl:header>
    422418                <tbl:cell column="name"><div
    423419                  class="link table-item"
  • branches/3.18-stable/www/views/reporterlists/reporters/list_reporters.jsp

    r7932 r7938  
    147147      item="<%=itemType%>"
    148148      filterrows="<%=cc.getFilterRows()%>"
    149       subclass="fulltable sticky-headers"
     149      subclass="fulltable"
     150      stickyheaders="name"
    150151      >
    151152      <tbl:hidden
     
    358359        <tbl:headers>
    359360          <tbl:headerrow>
    360             <tbl:header colspan="3" />
     361            <tbl:header clazz="row-index bg-filled-100" />
    361362            <tbl:columnheaders />
    362363          </tbl:headerrow>
     
    369370            %>
    370371            <tbl:headerrow>
    371               <tbl:header subclass="index" />
    372               <tbl:header
    373                 subclass="check"
    374                 visible="<%=mode.hasCheck()%>"
    375                 ><base:icon
    376                   subclass="link table-check"
    377                   image="check_uncheck.png"
    378                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    379                   visible="<%=lastRow%>"
    380                 /></tbl:header>
    381               <tbl:header
    382                 subclass="check"
    383                 visible="<%=mode.hasRadio()%>"
    384                 />
    385               <tbl:header
    386                 subclass="icons"
    387                 visible="<%=mode.hasIcons()%>"
    388                 >
    389                 <base:icon
    390                   subclass="link table-filter-row-action"
    391                   image="add.png"
    392                   tooltip="Add extra filter row"
    393                   visible="<%=lastRow%>"
    394                 /><base:icon
    395                   subclass="link table-filter-row-action"
    396                   image="remove.png"
    397                   tooltip="Remove this filter row"
    398                   visible="<%=numRows > 1 || numFilters > 0 %>"
    399                   data-remove-row="<%=filterNo%>"
    400                 />
     372              <tbl:header subclass="row-index bg-filled-100">
     373                <div class="index-<%=mode.getName()%>">
     374                  <div class="index"></div>
     375                  <div class="check">
     376                    <base:icon
     377                      subclass="link table-check"
     378                      image="check_uncheck.png"
     379                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     380                      visible="<%=lastRow && mode.hasCheck()%>"
     381                    />
     382                  </div>
     383                  <div class="icons">
     384                    <base:icon
     385                      subclass="link table-filter-row-action"
     386                      image="add.png"
     387                      tooltip="Add extra filter row"
     388                      visible="<%=lastRow%>"
     389                    /><base:icon
     390                      subclass="link table-filter-row-action"
     391                      image="remove.png"
     392                      tooltip="Remove this filter row"
     393                      visible="<%=numRows > 1 || numFilters > 0 %>"
     394                      data-remove-row="<%=filterNo%>"
     395                    />
     396                  </div>
     397                </div>
    401398              </tbl:header>
    402399              <tbl:propertyfilter row="<%=filterNo%>" />
     
    434431              %>
    435432              <tbl:row>
    436                 <tbl:header
    437                   clazz="index"
    438                   ><%=index%></tbl:header>
    439                 <tbl:header
    440                   clazz="check"
    441                   visible="<%=mode.hasCheck()%>"
    442                   ><input
    443                     type="checkbox"
    444                     name="<%=itemId%>"
    445                     value="<%=itemId%>"
    446                     title="<%=name%>"
    447                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    448                   ></tbl:header>
    449                 <tbl:header
    450                   clazz="check"
    451                   visible="<%=mode.hasRadio()%>"
    452                   ><input
    453                     type="radio"
    454                     name="item_id"
    455                     value="<%=itemId%>"
    456                     title="<%=name%>"
    457                     <%=selectedItemId == itemId ? "checked" : ""%>
    458                   ></tbl:header>
    459                 <tbl:header
    460                   clazz="icons"
    461                   visible="<%=mode.hasIcons()%>"
    462                   >&nbsp;</tbl:header>
     433                <tbl:header clazz="row-index bg-filled-100">
     434                  <div class="index-<%=mode.getName()%>">
     435                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     436                    <div class="check">
     437                      <base:input
     438                        type="checkbox"
     439                        name="<%=itemId%>"
     440                        value="<%=itemId%>"
     441                        title="<%=name%>"
     442                        checked="<%=cc.getSelected().contains(itemId)%>"
     443                        visible="<%=mode.hasCheck()%>"
     444                      />
     445                      <base:input
     446                        type="radio"
     447                        name="item_id"
     448                        value="<%=itemId%>"
     449                        title="<%=name%>"
     450                        checked="<%=selectedItemId == itemId%>"
     451                        visible="<%=mode.hasRadio()%>"
     452                      />
     453                    </div>
     454                    <div class="icons"></div>
     455                  </div>
     456                </tbl:header>
    463457                <tbl:cell column="name"><div
    464458                  class="link table-item"
  • branches/3.18-stable/www/views/reporters/list_reporters.jsp

    r7932 r7938  
    131131      item="<%=itemType%>"
    132132      filterrows="<%=cc.getFilterRows() %>"
    133       subclass="fulltable sticky-headers"
     133      subclass="fulltable"
     134      stickyheaders="name"
    134135      >
    135136      <tbl:hidden
     
    348349        <tbl:headers>
    349350          <tbl:headerrow>
    350             <tbl:header colspan="3" />
     351            <tbl:header clazz="row-index bg-filled-100" />
    351352            <tbl:columnheaders />
    352353          </tbl:headerrow>
     
    359360            %>
    360361            <tbl:headerrow>
    361               <tbl:header subclass="index" />
    362               <tbl:header
    363                 subclass="check"
    364                 visible="<%=mode.hasCheck()%>"
    365                 ><base:icon
    366                   subclass="link table-check"
    367                   image="check_uncheck.png"
    368                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    369                   visible="<%=lastRow%>"
    370                 /></tbl:header>
    371               <tbl:header
    372                 subclass="check"
    373                 visible="<%=mode.hasRadio()%>"
    374                 />
    375               <tbl:header
    376                 subclass="icons"
    377                 visible="<%=mode.hasIcons()%>"
    378                 >
    379                 <base:icon
    380                   subclass="link table-filter-row-action"
    381                   image="add.png"
    382                   tooltip="Add extra filter row"
    383                   visible="<%=lastRow%>"
    384                 /><base:icon
    385                   subclass="link table-filter-row-action"
    386                   image="remove.png"
    387                   tooltip="Remove this filter row"
    388                   visible="<%=numRows > 1 || numFilters > 0 %>"
    389                   data-remove-row="<%=filterNo%>"
    390                 />
     362              <tbl:header subclass="row-index bg-filled-100">
     363                <div class="index-<%=mode.getName()%>">
     364                  <div class="index"></div>
     365                  <div class="check">
     366                    <base:icon
     367                      subclass="link table-check"
     368                      image="check_uncheck.png"
     369                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     370                      visible="<%=lastRow && mode.hasCheck()%>"
     371                    />
     372                  </div>
     373                  <div class="icons">
     374                    <base:icon
     375                      subclass="link table-filter-row-action"
     376                      image="add.png"
     377                      tooltip="Add extra filter row"
     378                      visible="<%=lastRow%>"
     379                    /><base:icon
     380                      subclass="link table-filter-row-action"
     381                      image="remove.png"
     382                      tooltip="Remove this filter row"
     383                      visible="<%=numRows > 1 || numFilters > 0 %>"
     384                      data-remove-row="<%=filterNo%>"
     385                    />
     386                  </div>
     387                </div>
    391388              </tbl:header>
    392389              <tbl:propertyfilter row="<%=filterNo%>" />
     
    423420              %>
    424421              <tbl:row>
    425                 <tbl:header
    426                   clazz="index"
    427                   ><%=index%></tbl:header>
    428                 <tbl:header
    429                   clazz="check"
    430                   visible="<%=mode.hasCheck()%>"
    431                   ><input
    432                     type="checkbox"
    433                     name="<%=itemId%>"
    434                     value="<%=itemId%>"
    435                     title="<%=name%>"
    436                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    437                   ></tbl:header>
    438                 <tbl:header
    439                   clazz="check"
    440                   visible="<%=mode.hasRadio()%>"
    441                   ><input
    442                     type="radio"
    443                     name="item_id"
    444                     value="<%=itemId%>"
    445                     title="<%=name%>"
    446                     <%=selectedItemId == itemId ? "checked" : ""%>
    447                   ></tbl:header>
    448                 <tbl:header
    449                   clazz="icons"
    450                   visible="<%=mode.hasIcons()%>"
    451                   >&nbsp;</tbl:header>
     422                <tbl:header clazz="row-index bg-filled-100">
     423                  <div class="index-<%=mode.getName()%>">
     424                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     425                    <div class="check">
     426                      <base:input
     427                        type="checkbox"
     428                        name="<%=itemId%>"
     429                        value="<%=itemId%>"
     430                        title="<%=name%>"
     431                        checked="<%=cc.getSelected().contains(itemId)%>"
     432                        visible="<%=mode.hasCheck()%>"
     433                      />
     434                      <base:input
     435                        type="radio"
     436                        name="item_id"
     437                        value="<%=itemId%>"
     438                        title="<%=name%>"
     439                        checked="<%=selectedItemId == itemId%>"
     440                        visible="<%=mode.hasRadio()%>"
     441                      />
     442                    </div>
     443                    <div class="icons"></div>
     444                  </div>
     445                </tbl:header>
    452446                <tbl:cell column="name"><div
    453447                  class="link table-item"
  • branches/3.18-stable/www/views/sessions/list_sessions.jsp

    r7932 r7938  
    121121      item="<%=itemType%>"
    122122      filterrows="<%=cc.getFilterRows()%>"
    123       subclass="fulltable sticky-headers"
     123      subclass="fulltable"
     124      stickyheaders="loginTime"
    124125      >
    125126      <tbl:hidden
     
    286287        <tbl:headers>
    287288          <tbl:headerrow>
    288             <tbl:header colspan="3" />
     289            <tbl:header clazz="row-index bg-filled-100" />
    289290            <tbl:columnheaders />
    290291          </tbl:headerrow>
     
    297298            %>
    298299            <tbl:headerrow>
    299               <tbl:header subclass="index" />
    300               <tbl:header
    301                 subclass="check"
    302                 visible="<%=mode.hasCheck()%>"
    303                 ><base:icon
    304                   subclass="link table-check"
    305                   image="check_uncheck.png"
    306                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    307                   visible="<%=lastRow%>"
    308                 /></tbl:header>
    309               <tbl:header
    310                 subclass="check"
    311                 visible="<%=mode.hasRadio()%>"
    312                 />
    313               <tbl:header
    314                 subclass="icons"
    315                 visible="<%=mode.hasIcons()%>"
    316                 >
    317                 <base:icon
    318                   subclass="link table-filter-row-action"
    319                   image="add.png"
    320                   tooltip="Add extra filter row"
    321                   visible="<%=lastRow%>"
    322                 /><base:icon
    323                   subclass="link table-filter-row-action"
    324                   image="remove.png"
    325                   tooltip="Remove this filter row"
    326                   visible="<%=numRows > 1 || numFilters > 0 %>"
    327                   data-remove-row="<%=filterNo%>"
    328                 />
     300              <tbl:header subclass="row-index bg-filled-100">
     301                <div class="index-<%=mode.getName()%>">
     302                  <div class="index"></div>
     303                  <div class="check">
     304                    <base:icon
     305                      subclass="link table-check"
     306                      image="check_uncheck.png"
     307                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     308                      visible="<%=lastRow && mode.hasCheck()%>"
     309                    />
     310                  </div>
     311                  <div class="icons">
     312                    <base:icon
     313                      subclass="link table-filter-row-action"
     314                      image="add.png"
     315                      tooltip="Add extra filter row"
     316                      visible="<%=lastRow%>"
     317                    /><base:icon
     318                      subclass="link table-filter-row-action"
     319                      image="remove.png"
     320                      tooltip="Remove this filter row"
     321                      visible="<%=numRows > 1 || numFilters > 0 %>"
     322                      data-remove-row="<%=filterNo%>"
     323                    />
     324                  </div>
     325                </div>
    329326              </tbl:header>
    330327              <tbl:propertyfilter row="<%=filterNo%>" />
     
    361358              %>
    362359              <tbl:row>
    363                 <tbl:header
    364                   clazz="index"
    365                   ><%=index%></tbl:header>
    366                 <tbl:header
    367                   clazz="check"
    368                   visible="<%=mode.hasCheck()%>"
    369                   ><input
    370                     type="checkbox"
    371                     name="<%=itemId%>"
    372                     value="<%=itemId%>"
    373                     title="<%=name%>"
    374                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    375                   ></tbl:header>
    376                 <tbl:header
    377                   clazz="check"
    378                   visible="<%=mode.hasRadio()%>"
    379                   ><input
    380                     type="radio"
    381                     name="item_id"
    382                     value="<%=itemId%>"
    383                     title="<%=name%>"
    384                     <%=selectedItemId == itemId ? "checked" : ""%>
    385                   ></tbl:header>
    386                 <tbl:header
    387                   clazz="icons"
    388                   visible="<%=mode.hasIcons()%>"
    389                   >&nbsp;</tbl:header>
     360                <tbl:header clazz="row-index bg-filled-100">
     361                  <div class="index-<%=mode.getName()%>">
     362                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     363                    <div class="check">
     364                      <base:input
     365                        type="checkbox"
     366                        name="<%=itemId%>"
     367                        value="<%=itemId%>"
     368                        title="<%=name%>"
     369                        checked="<%=cc.getSelected().contains(itemId)%>"
     370                        visible="<%=mode.hasCheck()%>"
     371                      />
     372                      <base:input
     373                        type="radio"
     374                        name="item_id"
     375                        value="<%=itemId%>"
     376                        title="<%=name%>"
     377                        checked="<%=selectedItemId == itemId%>"
     378                        visible="<%=mode.hasRadio()%>"
     379                      />
     380                    </div>
     381                    <div class="icons"></div>
     382                  </div>
     383                </tbl:header>
    390384                <tbl:cell column="id"><%=item.getId()%></tbl:cell>
    391385                <tbl:cell column="loginTime"><div
  • branches/3.18-stable/www/views/trashcan/list_trash.jsp

    r7932 r7938  
    2424  @version 2.0
    2525--%>
     26<%@page import="net.sf.basedb.clients.web.ModeInfo"%>
    2627<%@ page pageEncoding="UTF-8" session="false"
    2728  import="net.sf.basedb.core.SessionControl"
     
    8788final String ID = sc.getId();
    8889final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, subContext, null, null);
     90final ModeInfo mode = ModeInfo.DEFAULT;
    8991
    9092final DbControl dc = sc.newDbControl();
     
    149151      item="<%=itemType%>"
    150152      subcontext="<%=subContext%>"
    151       subclass="fulltable sticky-headers"
     153      subclass="fulltable"
    152154      data-no-linkeditem-columns="1"
     155      stickyheaders="name"
    153156      >
    154157      <tbl:columndef
     
    263266        <tbl:headers>
    264267          <tbl:headerrow>
    265             <tbl:header colspan="3" />
     268            <tbl:header clazz="row-index bg-filled-100" />
    266269            <tbl:columnheaders />
    267270          </tbl:headerrow>
    268271          <tbl:headerrow>
    269             <tbl:header subclass="index" />
    270             <tbl:header
    271               subclass="check"
    272               ><base:icon
    273                 subclass="link table-check"
    274                 image="check_uncheck.png"
    275                 tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    276                 data-regexp="item:"
    277               /></tbl:header>
    278             <tbl:header
    279               subclass="icons"
    280               />
     272            <tbl:header subclass="row-index bg-filled-100">
     273              <div class="index-<%=mode.getName()%>">
     274                <div class="index"></div>
     275                <div class="check">
     276                  <base:icon
     277                    subclass="link table-check"
     278                    image="check_uncheck.png"
     279                    tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     280                    data-regexp="item:"
     281                  />
     282                </div>
     283                <div class="icons"></div>
     284              </div>
     285            </tbl:header>
    281286            <tbl:propertyfilter />
    282287          </tbl:headerrow>
     
    331336              %>
    332337              <tbl:row>
    333                 <tbl:header
    334                   clazz="index"
    335                   ><%=index%></tbl:header>
    336                 <tbl:header
    337                   clazz="check"
    338                   ><input
    339                     type="checkbox"
    340                     name="item:<%=item.getType().name()%>"
    341                     value="<%=itemId%>"
    342                   ></tbl:header>
    343                 <tbl:header
    344                   clazz="icons"
    345                   ><base:icon
    346                     subclass="link auto-init"
    347                     data-auto-init="show-using-items"
    348                     data-item-type="<%=item.getType().name() %>"
    349                     data-item-id="<%=itemId %>"
    350                     image="used.png"
    351                     tooltip="This item is used by other items and cannot be deleted"
    352                     visible="<%=isUsed%>"
    353                   />&nbsp;</tbl:header>
     338                <tbl:header clazz="row-index bg-filled-100">
     339                  <div class="index-<%=mode.getName()%>">
     340                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     341                    <div class="check">
     342                      <base:input
     343                        type="checkbox"
     344                        name="<%="item:"+item.getType().name()%>"
     345                        value="<%=itemId%>"
     346                      />
     347                    </div>
     348                    <div class="icons">
     349                      <base:icon
     350                        subclass="link auto-init"
     351                        data-auto-init="show-using-items"
     352                        data-item-type="<%=item.getType().name() %>"
     353                        data-item-id="<%=itemId %>"
     354                        image="used.png"
     355                        tooltip="This item is used by other items and cannot be deleted"
     356                        visible="<%=isUsed%>"
     357                      />
     358                    </div>
     359                  </div>
     360                </tbl:header>
    354361                <tbl:cell column="type"><%=item.getType()%></tbl:cell>
    355362                <tbl:cell column="name"><%=link%></tbl:cell>
Note: See TracChangeset for help on using the changeset viewer.