Changeset 7936 for branches/3.18-stable


Ignore:
Timestamp:
Apr 30, 2021, 11:49:40 AM (6 weeks ago)
Author:
Nicklas Nordborg
Message:

References #2246: Sticky table headers

Implemented on all list page under the Biomaterial LIMS menu.

Location:
branches/3.18-stable/www
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/3.18-stable/www/biomaterials/bioplateeventtypes/list_eventtypes.jsp

    r7932 r7936  
    116116      item="<%=itemType%>"
    117117      filterrows="<%=cc.getFilterRows()%>"
    118       subclass="fulltable sticky-headers"
     118      subclass="fulltable"
     119      stickyheaders="name"
    119120      >
    120121      <tbl:hidden
     
    241242        <tbl:headers>
    242243          <tbl:headerrow>
    243             <tbl:header colspan="3" />
     244            <tbl:header clazz="row-index bg-filled-100" />
    244245            <tbl:columnheaders />
    245246          </tbl:headerrow>
     
    252253            %>
    253254            <tbl:headerrow>
    254               <tbl:header subclass="index" />
    255               <tbl:header
    256                 subclass="check"
    257                 visible="<%=mode.hasCheck()%>"
    258                 ><base:icon
    259                   subclass="link table-check"
    260                   image="check_uncheck.png"
    261                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    262                   visible="<%=lastRow%>"
    263                 /></tbl:header>
    264               <tbl:header
    265                 subclass="check"
    266                 visible="<%=mode.hasRadio()%>"
    267                 />
    268               <tbl:header
    269                 subclass="icons"
    270                 visible="<%=mode.hasIcons()%>"
    271                 >
    272                 <base:icon
    273                   subclass="link table-filter-row-action"
    274                   image="add.png"
    275                   tooltip="Add extra filter row"
    276                   visible="<%=lastRow%>"
    277                 /><base:icon
    278                   subclass="link table-filter-row-action"
    279                   image="remove.png"
    280                   tooltip="Remove this filter row"
    281                   visible="<%=numRows > 1 || numFilters > 0 %>"
    282                   data-remove-row="<%=filterNo%>"
    283                 />
     255              <tbl:header subclass="row-index bg-filled-100">
     256                <div class="index-<%=mode.getName()%>">
     257                  <div class="index"></div>
     258                  <div class="check">
     259                    <base:icon
     260                      subclass="link table-check"
     261                      image="check_uncheck.png"
     262                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     263                      visible="<%=lastRow && mode.hasCheck()%>"
     264                    />
     265                  </div>
     266                  <div class="icons">
     267                    <base:icon
     268                      subclass="link table-filter-row-action"
     269                      image="add.png"
     270                      tooltip="Add extra filter row"
     271                      visible="<%=lastRow%>"
     272                    /><base:icon
     273                      subclass="link table-filter-row-action"
     274                      image="remove.png"
     275                      tooltip="Remove this filter row"
     276                      visible="<%=numRows > 1 || numFilters > 0 %>"
     277                      data-remove-row="<%=filterNo%>"
     278                    />
     279                  </div>
     280                </div>
    284281              </tbl:header>
    285282              <tbl:propertyfilter row="<%=filterNo%>" />
     
    319316              %>
    320317              <tbl:row>
    321                 <tbl:header
    322                   clazz="index"
    323                   ><%=index%></tbl:header>
    324                 <tbl:header
    325                   clazz="check"
    326                   visible="<%=mode.hasCheck()%>"
    327                   ><input
    328                     type="checkbox"
    329                     name="<%=itemId%>"
    330                     value="<%=itemId%>"
    331                     title="<%=name%>"
    332                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    333                   ></tbl:header>
    334                 <tbl:header
    335                   clazz="check"
    336                   visible="<%=mode.hasRadio()%>"
    337                   ><input
    338                     type="radio"
    339                     name="item_id"
    340                     value="<%=itemId%>"
    341                     title="<%=name%>"
    342                     <%=selectedItemId == itemId ? "checked" : ""%>
    343                   ></tbl:header>
    344                 <tbl:header
    345                   clazz="icons"
    346                   visible="<%=mode.hasIcons()%>"
    347                   ><base:icon
    348                     image="deleted.png"
    349                     id="<%="delete."+itemId %>"
    350                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    351                     data-item-id="<%=itemId%>"
    352                     tooltip="This item has been scheduled for deletion"
    353                     visible="<%=item.isRemoved()%>"
    354                   />&nbsp;</tbl:header>
     318                <tbl:header clazz="row-index bg-filled-100">
     319                  <div class="index-<%=mode.getName()%>">
     320                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     321                    <div class="check">
     322                      <base:input
     323                        type="checkbox"
     324                        name="<%=itemId%>"
     325                        value="<%=itemId%>"
     326                        title="<%=name%>"
     327                        checked="<%=cc.getSelected().contains(itemId)%>"
     328                        visible="<%=mode.hasCheck()%>"
     329                      />
     330                      <base:input
     331                        type="radio"
     332                        name="item_id"
     333                        value="<%=itemId%>"
     334                        title="<%=name%>"
     335                        checked="<%=selectedItemId == itemId%>"
     336                        visible="<%=mode.hasRadio()%>"
     337                      />
     338                    </div>
     339                    <div class="icons">
     340                      <base:icon
     341                        image="deleted.png"
     342                        id="<%="delete."+itemId %>"
     343                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     344                        data-item-id="<%=itemId%>"
     345                        tooltip="This item has been scheduled for deletion"
     346                        visible="<%=item.isRemoved()%>"
     347                      />
     348                    </div>
     349                  </div>
     350                </tbl:header>
    355351                <tbl:cell column="name"><div
    356352                  class="link table-item"
  • branches/3.18-stable/www/biomaterials/bioplates/events/list_events.jsp

    r7932 r7936  
    153153      item="<%=itemType%>"
    154154      filterrows="<%=cc.getFilterRows()%>"
    155       subclass="fulltable sticky-headers"
     155      subclass="fulltable"
     156      stickyheaders="name"
    156157      >
    157158      <tbl:hidden
     
    370371        <tbl:headers>
    371372          <tbl:headerrow>
    372             <tbl:header colspan="3" />
     373            <tbl:header clazz="row-index bg-filled-100" />
    373374            <tbl:columnheaders />
    374375          </tbl:headerrow>
     
    381382            %>
    382383            <tbl:headerrow>
    383               <tbl:header subclass="index" />
    384               <tbl:header
    385                 subclass="check"
    386                 visible="<%=mode.hasCheck()%>"
    387                 ><base:icon
    388                   subclass="link table-check"
    389                   image="check_uncheck.png"
    390                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    391                   visible="<%=lastRow%>"
    392                 /></tbl:header>
    393               <tbl:header
    394                 subclass="check"
    395                 visible="<%=mode.hasRadio()%>"
    396                 />
    397               <tbl:header
    398                 subclass="icons"
    399                 visible="<%=mode.hasIcons()%>"
    400                 >
    401                 <base:icon
    402                   subclass="link table-filter-row-action"
    403                   image="add.png"
    404                   tooltip="Add extra filter row"
    405                   visible="<%=lastRow%>"
    406                 /><base:icon
    407                   subclass="link table-filter-row-action"
    408                   image="remove.png"
    409                   tooltip="Remove this filter row"
    410                   visible="<%=numRows > 1 || numFilters > 0 %>"
    411                   data-remove-row="<%=filterNo%>"
    412                 />
     384              <tbl:header subclass="row-index bg-filled-100">
     385                <div class="index-<%=mode.getName()%>">
     386                  <div class="index"></div>
     387                  <div class="check">
     388                    <base:icon
     389                      subclass="link table-check"
     390                      image="check_uncheck.png"
     391                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     392                      visible="<%=lastRow && mode.hasCheck()%>"
     393                    />
     394                  </div>
     395                  <div class="icons">
     396                    <base:icon
     397                      subclass="link table-filter-row-action"
     398                      image="add.png"
     399                      tooltip="Add extra filter row"
     400                      visible="<%=lastRow%>"
     401                    /><base:icon
     402                      subclass="link table-filter-row-action"
     403                      image="remove.png"
     404                      tooltip="Remove this filter row"
     405                      visible="<%=numRows > 1 || numFilters > 0 %>"
     406                      data-remove-row="<%=filterNo%>"
     407                    />
     408                  </div>
     409                </div>
    413410              </tbl:header>
    414411              <tbl:propertyfilter row="<%=filterNo%>" />
     
    451448              %>
    452449              <tbl:row>
    453                 <tbl:header
    454                   clazz="index"
    455                   ><%=index%></tbl:header>
    456                 <tbl:header
    457                   clazz="check"
    458                   visible="<%=mode.hasCheck()%>"
    459                   ><input
    460                     type="checkbox"
    461                     name="<%=itemId%>"
    462                     value="<%=itemId%>"
    463                     title="<%=name%>"
    464                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    465                   ></tbl:header>
    466                 <tbl:header
    467                   clazz="check"
    468                   visible="<%=mode.hasRadio()%>"
    469                   ><input
    470                     type="radio"
    471                     name="item_id"
    472                     value="<%=itemId%>"
    473                     title="<%=name%>"
    474                     <%=selectedItemId == itemId ? "checked" : ""%>
    475                   ></tbl:header>
    476                 <tbl:header
    477                   clazz="icons"
    478                   visible="<%=mode.hasIcons()%>"
    479                   ><base:icon
    480                     image="deleted.png"
    481                     id="<%="delete."+itemId %>"
    482                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    483                     data-item-id="<%=itemId%>"
    484                     tooltip="This item has been scheduled for deletion"
    485                     visible="<%=item.isRemoved()%>"
    486                   /><base:icon
    487                     image="shared.png"
    488                     id="<%="share."+itemId %>"
    489                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    490                     data-item-id="<%=itemId%>"
    491                     tooltip="This item is shared to other users, groups and/or projects"
    492                     visible="<%=item.isShared()%>"
    493                   />&nbsp;</tbl:header>
     450                <tbl:header clazz="row-index bg-filled-100">
     451                  <div class="index-<%=mode.getName()%>">
     452                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     453                    <div class="check">
     454                      <base:input
     455                        type="checkbox"
     456                        name="<%=itemId%>"
     457                        value="<%=itemId%>"
     458                        title="<%=name%>"
     459                        checked="<%=cc.getSelected().contains(itemId)%>"
     460                        visible="<%=mode.hasCheck()%>"
     461                      />
     462                      <base:input
     463                        type="radio"
     464                        name="item_id"
     465                        value="<%=itemId%>"
     466                        title="<%=name%>"
     467                        checked="<%=selectedItemId == itemId%>"
     468                        visible="<%=mode.hasRadio()%>"
     469                      />
     470                    </div>
     471                    <div class="icons">
     472                      <base:icon
     473                        image="deleted.png"
     474                        id="<%="delete."+itemId %>"
     475                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     476                        data-item-id="<%=itemId%>"
     477                        tooltip="This item has been scheduled for deletion"
     478                        visible="<%=item.isRemoved()%>"
     479                      /><base:icon
     480                        image="shared.png"
     481                        id="<%="share."+itemId %>"
     482                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     483                        data-item-id="<%=itemId%>"
     484                        tooltip="This item is shared to other users, groups and/or projects"
     485                        visible="<%=item.isShared()%>"
     486                      />
     487                    </div>
     488                  </div>
     489                </tbl:header>
    494490                <tbl:cell column="name"><div
    495491                  class="link table-item"
  • branches/3.18-stable/www/biomaterials/bioplates/list_bioplates.jsp

    r7932 r7936  
    164164      item="<%=itemType%>"
    165165      filterrows="<%=cc.getFilterRows()%>"
    166       subclass="fulltable sticky-headers"
     166      subclass="fulltable"
     167      stickyheaders="name"
    167168      >
    168169      <tbl:hidden
     
    480481        <tbl:headers>
    481482          <tbl:headerrow>
    482             <tbl:header colspan="3" />
     483            <tbl:header clazz="row-index bg-filled-100" />
    483484            <tbl:columnheaders />
    484485          </tbl:headerrow>
     
    491492            %>
    492493            <tbl:headerrow>
    493               <tbl:header subclass="index" />
    494               <tbl:header
    495                 subclass="check"
    496                 visible="<%=mode.hasCheck()%>"
    497                 ><base:icon
    498                   subclass="link table-check"
    499                   image="check_uncheck.png"
    500                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    501                   visible="<%=lastRow%>"
    502                 /></tbl:header>
    503               <tbl:header
    504                 subclass="check"
    505                 visible="<%=mode.hasRadio()%>"
    506                 />
    507               <tbl:header
    508                 subclass="icons"
    509                 visible="<%=mode.hasIcons()%>"
    510                 >
    511                 <base:icon
    512                   subclass="link table-filter-row-action"
    513                   image="add.png"
    514                   tooltip="Add extra filter row"
    515                   visible="<%=lastRow%>"
    516                 /><base:icon
    517                   subclass="link table-filter-row-action"
    518                   image="remove.png"
    519                   tooltip="Remove this filter row"
    520                   visible="<%=numRows > 1 || numFilters > 0 %>"
    521                   data-remove-row="<%=filterNo%>"
    522                 />
     494              <tbl:header subclass="row-index bg-filled-100">
     495                <div class="index-<%=mode.getName()%>">
     496                  <div class="index"></div>
     497                  <div class="check">
     498                    <base:icon
     499                      subclass="link table-check"
     500                      image="check_uncheck.png"
     501                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     502                      visible="<%=lastRow && mode.hasCheck()%>"
     503                    />
     504                  </div>
     505                  <div class="icons">
     506                    <base:icon
     507                      subclass="link table-filter-row-action"
     508                      image="add.png"
     509                      tooltip="Add extra filter row"
     510                      visible="<%=lastRow%>"
     511                    /><base:icon
     512                      subclass="link table-filter-row-action"
     513                      image="remove.png"
     514                      tooltip="Remove this filter row"
     515                      visible="<%=numRows > 1 || numFilters > 0 %>"
     516                      data-remove-row="<%=filterNo%>"
     517                    />
     518                  </div>
     519                </div>
    523520              </tbl:header>
    524521              <tbl:propertyfilter row="<%=filterNo%>" />
     
    560557              %>
    561558              <tbl:row>
    562                 <tbl:header
    563                   clazz="index"
    564                   ><%=index%></tbl:header>
    565                 <tbl:header
    566                   clazz="check"
    567                   visible="<%=mode.hasCheck()%>"
    568                   ><input
    569                     type="checkbox"
    570                     name="<%=itemId%>"
    571                     value="<%=itemId%>"
    572                     title="<%=name%>"
    573                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    574                   ></tbl:header>
    575                 <tbl:header
    576                   clazz="check"
    577                   visible="<%=mode.hasRadio()%>"
    578                   ><input
    579                     type="radio"
    580                     name="item_id"
    581                     value="<%=itemId%>"
    582                     title="<%=name%>"
    583                     <%=selectedItemId == itemId ? "checked" : ""%>
    584                   ></tbl:header>
    585                 <tbl:header
    586                   clazz="icons"
    587                   visible="<%=mode.hasIcons()%>"
    588                   ><base:icon
    589                     image="deleted.png"
    590                     id="<%="delete."+itemId %>"
    591                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    592                     data-item-id="<%=itemId%>"
    593                     tooltip="This item has been scheduled for deletion"
    594                     visible="<%=item.isRemoved()%>"
    595                   /><base:icon
    596                     image="shared.png"
    597                     id="<%="share."+itemId %>"
    598                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    599                     data-item-id="<%=itemId%>"
    600                     tooltip="This item is shared to other users, groups and/or projects"
    601                     visible="<%=item.isShared()%>"
    602                   />&nbsp;</tbl:header>
     559                <tbl:header clazz="row-index bg-filled-100">
     560                  <div class="index-<%=mode.getName()%>">
     561                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     562                    <div class="check">
     563                      <base:input
     564                        type="checkbox"
     565                        name="<%=itemId%>"
     566                        value="<%=itemId%>"
     567                        title="<%=name%>"
     568                        checked="<%=cc.getSelected().contains(itemId)%>"
     569                        visible="<%=mode.hasCheck()%>"
     570                      />
     571                      <base:input
     572                        type="radio"
     573                        name="item_id"
     574                        value="<%=itemId%>"
     575                        title="<%=name%>"
     576                        checked="<%=selectedItemId == itemId%>"
     577                        visible="<%=mode.hasRadio()%>"
     578                      />
     579                    </div>
     580                    <div class="icons">
     581                      <base:icon
     582                        image="deleted.png"
     583                        id="<%="delete."+itemId %>"
     584                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     585                        data-item-id="<%=itemId%>"
     586                        tooltip="This item has been scheduled for deletion"
     587                        visible="<%=item.isRemoved()%>"
     588                      /><base:icon
     589                        image="shared.png"
     590                        id="<%="share."+itemId %>"
     591                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     592                        data-item-id="<%=itemId%>"
     593                        tooltip="This item is shared to other users, groups and/or projects"
     594                        visible="<%=item.isShared()%>"
     595                      />
     596                    </div>
     597                  </div>
     598                </tbl:header>
    603599                <tbl:cell column="name"><div
    604600                  class="link table-item"
  • branches/3.18-stable/www/biomaterials/bioplates/wells/list_biowells.jsp

    r7932 r7936  
    206206      item="<%=itemType%>"
    207207      filterrows="<%=cc.getFilterRows()%>"
    208       subclass="fulltable sticky-headers"
     208      subclass="fulltable"
     209      stickyheaders="<%=null%>"
    209210      >
    210211      <tbl:hidden
     
    461462        <tbl:headers>
    462463          <tbl:headerrow>
    463             <tbl:header colspan="3" />
     464            <tbl:header clazz="row-index bg-filled-100" />
    464465            <tbl:columnheaders />
    465466          </tbl:headerrow>
     
    472473            %>
    473474            <tbl:headerrow>
    474               <tbl:header subclass="index" />
    475               <tbl:header
    476                 subclass="check"
    477                 visible="<%=mode.hasCheck()%>"
    478                 ><base:icon
    479                   subclass="link table-check"
    480                   image="check_uncheck.png"
    481                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    482                   visible="<%=lastRow%>"
    483                 /></tbl:header>
    484               <tbl:header
    485                 subclass="check"
    486                 visible="<%=mode.hasRadio()%>"
    487                 />
    488               <tbl:header
    489                 subclass="icons"
    490                 visible="<%=mode.hasIcons()%>"
    491                 >
    492                 <base:icon
    493                   subclass="link table-filter-row-action"
    494                   image="add.png"
    495                   tooltip="Add extra filter row"
    496                   visible="<%=lastRow%>"
    497                 /><base:icon
    498                   subclass="link table-filter-row-action"
    499                   image="remove.png"
    500                   tooltip="Remove this filter row"
    501                   visible="<%=numRows > 1 || numFilters > 0 %>"
    502                   data-remove-row="<%=filterNo%>"
    503                 />
     475              <tbl:header subclass="row-index bg-filled-100">
     476                <div class="index-<%=mode.getName()%>">
     477                  <div class="index"></div>
     478                  <div class="check">
     479                    <base:icon
     480                      subclass="link table-check"
     481                      image="check_uncheck.png"
     482                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     483                      visible="<%=lastRow && mode.hasCheck()%>"
     484                    />
     485                  </div>
     486                  <div class="icons">
     487                    <base:icon
     488                      subclass="link table-filter-row-action"
     489                      image="add.png"
     490                      tooltip="Add extra filter row"
     491                      visible="<%=lastRow%>"
     492                    /><base:icon
     493                      subclass="link table-filter-row-action"
     494                      image="remove.png"
     495                      tooltip="Remove this filter row"
     496                      visible="<%=numRows > 1 || numFilters > 0 %>"
     497                      data-remove-row="<%=filterNo%>"
     498                    />
     499                  </div>
     500                </div>
    504501              </tbl:header>
    505502              <tbl:propertyfilter row="<%=filterNo%>" />
     
    554551              %>
    555552              <tbl:row>
    556                 <tbl:header
    557                   clazz="index"
    558                   ><%=index%></tbl:header>
    559                 <tbl:header
    560                   clazz="check"
    561                   visible="<%=mode.hasCheck()%>"
    562                   ><input
    563                     type="checkbox"
    564                     name="<%=itemId%>"
    565                     value="<%=itemId%>"
    566                     title="<%=coordinate%>"
    567                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    568                   ></tbl:header>
    569                 <tbl:header
    570                   clazz="check"
    571                   visible="<%=mode.hasRadio()%>"
    572                   ><input
    573                     type="radio"
    574                     name="item_id"
    575                     value="<%=itemId%>"
    576                     title="<%=coordinate%>"
    577                     <%=selectedItemId == itemId ? "checked" : ""%>
    578                   ></tbl:header>
    579                 <tbl:header
    580                   clazz="icons"
    581                   visible="<%=mode.hasIcons()%>"
    582                   >&nbsp;</tbl:header>
    583                
     553                <tbl:header clazz="row-index bg-filled-100">
     554                  <div class="index-<%=mode.getName()%>">
     555                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     556                    <div class="check">
     557                      <base:input
     558                        type="checkbox"
     559                        name="<%=itemId%>"
     560                        value="<%=itemId%>"
     561                        title="<%=coordinate%>"
     562                        checked="<%=cc.getSelected().contains(itemId)%>"
     563                        visible="<%=mode.hasCheck()%>"
     564                      />
     565                      <base:input
     566                        type="radio"
     567                        name="item_id"
     568                        value="<%=itemId%>"
     569                        title="<%=coordinate%>"
     570                        checked="<%=selectedItemId == itemId%>"
     571                        visible="<%=mode.hasRadio()%>"
     572                      />
     573                    </div>
     574                    <div class="icons">
     575                    </div>
     576                  </div>
     577                </tbl:header>
    584578                <tbl:cell column="id"><%=item.getId()%></tbl:cell>
    585579                <tbl:cell column="row">
  • branches/3.18-stable/www/biomaterials/bioplatetypes/list_platetypes.jsp

    r7932 r7936  
    144144      item="<%=itemType%>"
    145145      filterrows="<%=cc.getFilterRows()%>"
    146       subclass="fulltable sticky-headers"
     146      subclass="fulltable"
     147      stickyheaders="name"
    147148      >
    148149      <tbl:hidden
     
    303304        <tbl:headers>
    304305          <tbl:headerrow>
    305             <tbl:header colspan="3" />
     306            <tbl:header clazz="row-index bg-filled-100" />
    306307            <tbl:columnheaders />
    307308          </tbl:headerrow>
     
    314315            %>
    315316            <tbl:headerrow>
    316               <tbl:header subclass="index" />
    317               <tbl:header
    318                 subclass="check"
    319                 visible="<%=mode.hasCheck()%>"
    320                 ><base:icon
    321                   subclass="link table-check"
    322                   image="check_uncheck.png"
    323                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    324                   visible="<%=lastRow%>"
    325                 /></tbl:header>
    326               <tbl:header
    327                 subclass="check"
    328                 visible="<%=mode.hasRadio()%>"
    329                 />
    330               <tbl:header
    331                 subclass="icons"
    332                 visible="<%=mode.hasIcons()%>"
    333                 >
    334                 <base:icon
    335                   subclass="link table-filter-row-action"
    336                   image="add.png"
    337                   tooltip="Add extra filter row"
    338                   visible="<%=lastRow%>"
    339                 /><base:icon
    340                   subclass="link table-filter-row-action"
    341                   image="remove.png"
    342                   tooltip="Remove this filter row"
    343                   visible="<%=numRows > 1 || numFilters > 0 %>"
    344                   data-remove-row="<%=filterNo%>"
    345                 />
     317              <tbl:header subclass="row-index bg-filled-100">
     318                <div class="index-<%=mode.getName()%>">
     319                  <div class="index"></div>
     320                  <div class="check">
     321                    <base:icon
     322                      subclass="link table-check"
     323                      image="check_uncheck.png"
     324                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     325                      visible="<%=lastRow && mode.hasCheck()%>"
     326                    />
     327                  </div>
     328                  <div class="icons">
     329                    <base:icon
     330                      subclass="link table-filter-row-action"
     331                      image="add.png"
     332                      tooltip="Add extra filter row"
     333                      visible="<%=lastRow%>"
     334                    /><base:icon
     335                      subclass="link table-filter-row-action"
     336                      image="remove.png"
     337                      tooltip="Remove this filter row"
     338                      visible="<%=numRows > 1 || numFilters > 0 %>"
     339                      data-remove-row="<%=filterNo%>"
     340                    />
     341                  </div>
     342                </div>
    346343              </tbl:header>
    347344              <tbl:propertyfilter row="<%=filterNo%>" />
     
    381378              %>
    382379              <tbl:row>
    383                 <tbl:header
    384                   clazz="index"
    385                   ><%=index%></tbl:header>
    386                 <tbl:header
    387                   clazz="check"
    388                   visible="<%=mode.hasCheck()%>"
    389                   ><input
    390                     type="checkbox"
    391                     name="<%=itemId%>"
    392                     value="<%=itemId%>"
    393                     title="<%=name%>"
    394                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    395                   ></tbl:header>
    396                 <tbl:header
    397                   clazz="check"
    398                   visible="<%=mode.hasRadio()%>"
    399                   ><input
    400                     type="radio"
    401                     name="item_id"
    402                     value="<%=itemId%>"
    403                     title="<%=name%>"
    404                     <%=selectedItemId == itemId ? "checked" : ""%>
    405                   ></tbl:header>
    406                 <tbl:header
    407                   clazz="icons"
    408                   visible="<%=mode.hasIcons()%>"
    409                   ><base:icon
    410                     image="deleted.png"
    411                     id="<%="delete."+itemId %>"
    412                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    413                     data-item-id="<%=itemId%>"
    414                     tooltip="This item has been scheduled for deletion"
    415                     visible="<%=item.isRemoved()%>"
    416                   />&nbsp;</tbl:header>
     380                <tbl:header clazz="row-index bg-filled-100">
     381                  <div class="index-<%=mode.getName()%>">
     382                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     383                    <div class="check">
     384                      <base:input
     385                        type="checkbox"
     386                        name="<%=itemId%>"
     387                        value="<%=itemId%>"
     388                        title="<%=name%>"
     389                        checked="<%=cc.getSelected().contains(itemId)%>"
     390                        visible="<%=mode.hasCheck()%>"
     391                      />
     392                      <base:input
     393                        type="radio"
     394                        name="item_id"
     395                        value="<%=itemId%>"
     396                        title="<%=name%>"
     397                        checked="<%=selectedItemId == itemId%>"
     398                        visible="<%=mode.hasRadio()%>"
     399                      />
     400                    </div>
     401                    <div class="icons">
     402                      <base:icon
     403                        image="deleted.png"
     404                        id="<%="delete."+itemId %>"
     405                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     406                        data-item-id="<%=itemId%>"
     407                        tooltip="This item has been scheduled for deletion"
     408                        visible="<%=item.isRemoved()%>"
     409                      />
     410                    </div>
     411                  </div>
     412                </tbl:header>
    417413                <tbl:cell column="name"><div
    418414                  class="link table-item"
  • branches/3.18-stable/www/biomaterials/biosources/list_biosources.jsp

    r7932 r7936  
    161161        item="<%=itemType%>"
    162162        filterrows="<%=cc.getFilterRows()%>"
    163         subclass="fulltable sticky-headers"
     163        subclass="fulltable"
    164164        data-relateditem-columns="true"
     165        stickyheaders="name"
    165166      >
    166167      <tbl:hidden
     
    404405        <tbl:headers>
    405406          <tbl:headerrow>
    406             <tbl:header colspan="3" />
     407            <tbl:header clazz="row-index bg-filled-100" />
    407408            <tbl:columnheaders />
    408409          </tbl:headerrow>
     
    415416            %>
    416417            <tbl:headerrow>
    417               <tbl:header subclass="index" />
    418               <tbl:header
    419                 subclass="check"
    420                 visible="<%=mode.hasCheck()%>"
    421                 ><base:icon
    422                   subclass="link table-check"
    423                   image="check_uncheck.png"
    424                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    425                   visible="<%=lastRow%>"
    426                 /></tbl:header>
    427               <tbl:header
    428                 subclass="check"
    429                 visible="<%=mode.hasRadio()%>"
    430                 />
    431               <tbl:header
    432                 subclass="icons"
    433                 visible="<%=mode.hasIcons()%>"
    434                 >
    435                 <base:icon
    436                   subclass="link table-filter-row-action"
    437                   image="add.png"
    438                   tooltip="Add extra filter row"
    439                   visible="<%=lastRow%>"
    440                 /><base:icon
    441                   subclass="link table-filter-row-action"
    442                   image="remove.png"
    443                   tooltip="Remove this filter row"
    444                   visible="<%=numRows > 1 || numFilters > 0 %>"
    445                   data-remove-row="<%=filterNo%>"
    446                 />
     418              <tbl:header subclass="row-index bg-filled-100">
     419                <div class="index-<%=mode.getName()%>">
     420                  <div class="index"></div>
     421                  <div class="check">
     422                    <base:icon
     423                      subclass="link table-check"
     424                      image="check_uncheck.png"
     425                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     426                      visible="<%=lastRow && mode.hasCheck()%>"
     427                    />
     428                  </div>
     429                  <div class="icons">
     430                    <base:icon
     431                      subclass="link table-filter-row-action"
     432                      image="add.png"
     433                      tooltip="Add extra filter row"
     434                      visible="<%=lastRow%>"
     435                    /><base:icon
     436                      subclass="link table-filter-row-action"
     437                      image="remove.png"
     438                      tooltip="Remove this filter row"
     439                      visible="<%=numRows > 1 || numFilters > 0 %>"
     440                      data-remove-row="<%=filterNo%>"
     441                    />
     442                  </div>
     443                </div>
    447444              </tbl:header>
    448445              <tbl:propertyfilter row="<%=filterNo%>" />
     
    485482              %>
    486483              <tbl:row>
    487                 <tbl:header
    488                   clazz="index"
    489                   ><%=index%></tbl:header>
    490                 <tbl:header
    491                   clazz="check"
    492                   visible="<%=mode.hasCheck()%>"
    493                   ><input
    494                     type="checkbox"
    495                     name="<%=itemId%>"
    496                     value="<%=itemId%>"
    497                     title="<%=name%>"
    498                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    499                   ></tbl:header>
    500                 <tbl:header
    501                   clazz="check"
    502                   visible="<%=mode.hasRadio()%>"
    503                   ><input
    504                     type="radio"
    505                     name="item_id"
    506                     value="<%=itemId%>"
    507                     title="<%=name%>"
    508                     <%=selectedItemId == itemId ? "checked" : ""%>
    509                   ></tbl:header>
    510                 <tbl:header
    511                   clazz="icons"
    512                   visible="<%=mode.hasIcons()%>"
    513                   ><base:icon
    514                     image="deleted.png"
    515                     id="<%="delete."+itemId %>"
    516                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    517                     data-item-id="<%=itemId%>"
    518                     tooltip="This item has been scheduled for deletion"
    519                     visible="<%=item.isRemoved()%>"
    520                   /><base:icon
    521                     image="shared.png"
    522                     id="<%="share."+itemId %>"
    523                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    524                     data-item-id="<%=itemId%>"
    525                     tooltip="This item is shared to other users, groups and/or projects"
    526                     visible="<%=item.isShared()%>"
    527                   />&nbsp;</tbl:header>
     484                <tbl:header clazz="row-index bg-filled-100">
     485                  <div class="index-<%=mode.getName()%>">
     486                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     487                    <div class="check">
     488                      <base:input
     489                        type="checkbox"
     490                        name="<%=itemId%>"
     491                        value="<%=itemId%>"
     492                        title="<%=name%>"
     493                        checked="<%=cc.getSelected().contains(itemId)%>"
     494                        visible="<%=mode.hasCheck()%>"
     495                      />
     496                      <base:input
     497                        type="radio"
     498                        name="item_id"
     499                        value="<%=itemId%>"
     500                        title="<%=name%>"
     501                        checked="<%=selectedItemId == itemId%>"
     502                        visible="<%=mode.hasRadio()%>"
     503                      />
     504                    </div>
     505                    <div class="icons">
     506                      <base:icon
     507                        image="deleted.png"
     508                        id="<%="delete."+itemId %>"
     509                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     510                        data-item-id="<%=itemId%>"
     511                        tooltip="This item has been scheduled for deletion"
     512                        visible="<%=item.isRemoved()%>"
     513                      /><base:icon
     514                        image="shared.png"
     515                        id="<%="share."+itemId %>"
     516                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     517                        data-item-id="<%=itemId%>"
     518                        tooltip="This item is shared to other users, groups and/or projects"
     519                        visible="<%=item.isShared()%>"
     520                      />
     521                    </div>
     522                  </div>
     523                </tbl:header>
    528524                <tbl:cell column="name"><div
    529525                  class="link table-item"
  • branches/3.18-stable/www/biomaterials/events/list_events.jsp

    r7932 r7936  
    159159      item="<%=itemType%>"
    160160      filterrows="<%=cc.getFilterRows()%>"
    161       subclass="fulltable sticky-headers"
     161      subclass="fulltable"
     162      stickyheaders="<%=null%>"
    162163      >
    163164      <tbl:hidden
     
    357358        <tbl:headers>
    358359          <tbl:headerrow>
    359             <tbl:header colspan="3" />
     360            <tbl:header clazz="row-index bg-filled-100" />
    360361            <tbl:columnheaders />
    361362          </tbl:headerrow>
     
    368369            %>
    369370            <tbl:headerrow>
    370               <tbl:header subclass="index" />
    371               <tbl:header
    372                 subclass="check"
    373                 visible="<%=mode.hasCheck()%>"
    374                 ><base:icon
    375                   subclass="link table-check"
    376                   image="check_uncheck.png"
    377                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    378                   visible="<%=lastRow%>"
    379                 /></tbl:header>
    380               <tbl:header
    381                 subclass="check"
    382                 visible="<%=mode.hasRadio()%>"
    383                 />
    384               <tbl:header
    385                 subclass="icons"
    386                 visible="<%=mode.hasIcons()%>"
    387                 >
    388                 <base:icon
    389                   subclass="link table-filter-row-action"
    390                   image="add.png"
    391                   tooltip="Add extra filter row"
    392                   visible="<%=lastRow%>"
    393                 /><base:icon
    394                   subclass="link table-filter-row-action"
    395                   image="remove.png"
    396                   tooltip="Remove this filter row"
    397                   visible="<%=numRows > 1 || numFilters > 0 %>"
    398                   data-remove-row="<%=filterNo%>"
    399                 />
     371              <tbl:header subclass="row-index bg-filled-100">
     372                <div class="index-<%=mode.getName()%>">
     373                  <div class="index"></div>
     374                  <div class="check">
     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 && mode.hasCheck()%>"
     380                    />
     381                  </div>
     382                  <div class="icons">
     383                    <base:icon
     384                      subclass="link table-filter-row-action"
     385                      image="add.png"
     386                      tooltip="Add extra filter row"
     387                      visible="<%=lastRow%>"
     388                    /><base:icon
     389                      subclass="link table-filter-row-action"
     390                      image="remove.png"
     391                      tooltip="Remove this filter row"
     392                      visible="<%=numRows > 1 || numFilters > 0 %>"
     393                      data-remove-row="<%=filterNo%>"
     394                    />
     395                  </div>
     396                </div>
    400397              </tbl:header>
    401398              <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="TODO"
    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">
     455                    </div>
     456                  </div>
     457                </tbl:header>
    463458                <tbl:cell column="type">
    464459                  <%
  • branches/3.18-stable/www/biomaterials/kits/list_kits.jsp

    r7932 r7936  
    136136      item="<%=itemType%>"
    137137      filterrows="<%=cc.getFilterRows()%>"
    138       subclass="fulltable sticky-headers"
     138      subclass="fulltable"
     139      stickyheaders="name"
    139140      >
    140141      <tbl:hidden
     
    359360        <tbl:headers>
    360361          <tbl:headerrow>
    361             <tbl:header colspan="3" />
     362            <tbl:header clazz="row-index bg-filled-100" />
    362363            <tbl:columnheaders />
    363364          </tbl:headerrow>
     
    370371            %>
    371372            <tbl:headerrow>
    372               <tbl:header subclass="index" />
    373               <tbl:header
    374                 subclass="check"
    375                 visible="<%=mode.hasCheck()%>"
    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%>"
    381                 /></tbl:header>
    382               <tbl:header
    383                 subclass="check"
    384                 visible="<%=mode.hasRadio()%>"
    385                 />
    386               <tbl:header
    387                 subclass="icons"
    388                 visible="<%=mode.hasIcons()%>"
    389                 >
    390                 <base:icon
    391                   subclass="link table-filter-row-action"
    392                   image="add.png"
    393                   tooltip="Add extra filter row"
    394                   visible="<%=lastRow%>"
    395                 /><base:icon
    396                   subclass="link table-filter-row-action"
    397                   image="remove.png"
    398                   tooltip="Remove this filter row"
    399                   visible="<%=numRows > 1 || numFilters > 0 %>"
    400                   data-remove-row="<%=filterNo%>"
    401                 />
     373              <tbl:header subclass="row-index bg-filled-100">
     374                <div class="index-<%=mode.getName()%>">
     375                  <div class="index"></div>
     376                  <div class="check">
     377                    <base:icon
     378                      subclass="link table-check"
     379                      image="check_uncheck.png"
     380                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     381                      visible="<%=lastRow && mode.hasCheck()%>"
     382                    />
     383                  </div>
     384                  <div class="icons">
     385                    <base:icon
     386                      subclass="link table-filter-row-action"
     387                      image="add.png"
     388                      tooltip="Add extra filter row"
     389                      visible="<%=lastRow%>"
     390                    /><base:icon
     391                      subclass="link table-filter-row-action"
     392                      image="remove.png"
     393                      tooltip="Remove this filter row"
     394                      visible="<%=numRows > 1 || numFilters > 0 %>"
     395                      data-remove-row="<%=filterNo%>"
     396                    />
     397                  </div>
     398                </div>
    402399              </tbl:header>
    403400              <tbl:propertyfilter row="<%=filterNo%>" />
     
    438435              %>
    439436              <tbl:row>
    440                 <tbl:header
    441                   clazz="index"
    442                   ><%=index%></tbl:header>
    443                 <tbl:header
    444                   clazz="check"
    445                   visible="<%=mode.hasCheck()%>"
    446                   ><input
    447                     type="checkbox"
    448                     name="<%=itemId%>"
    449                     value="<%=itemId%>"
    450                     title="<%=name%>"
    451                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    452                   ></tbl:header>
    453                 <tbl:header
    454                   clazz="check"
    455                   visible="<%=mode.hasRadio()%>"
    456                   ><input
    457                     type="radio"
    458                     name="item_id"
    459                     value="<%=itemId%>"
    460                     title="<%=name%>"
    461                     <%=selectedItemId == itemId ? "checked" : ""%>
    462                   ></tbl:header>
    463                 <tbl:header
    464                   clazz="icons"
    465                   visible="<%=mode.hasIcons()%>"
    466                   ><base:icon
    467                     image="deleted.png"
    468                     id="<%="delete."+itemId %>"
    469                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    470                     data-item-id="<%=itemId%>"
    471                     tooltip="This item has been scheduled for deletion"
    472                     visible="<%=item.isRemoved()%>"
    473                   /><base:icon
    474                     image="shared.png"
    475                     id="<%="share."+itemId %>"
    476                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    477                     data-item-id="<%=itemId%>"
    478                     tooltip="This item is shared to other users, groups and/or projects"
    479                     visible="<%=item.isShared()%>"
    480                   />&nbsp;</tbl:header>
     437                <tbl:header clazz="row-index bg-filled-100">
     438                  <div class="index-<%=mode.getName()%>">
     439                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     440                    <div class="check">
     441                      <base:input
     442                        type="checkbox"
     443                        name="<%=itemId%>"
     444                        value="<%=itemId%>"
     445                        title="<%=name%>"
     446                        checked="<%=cc.getSelected().contains(itemId)%>"
     447                        visible="<%=mode.hasCheck()%>"
     448                      />
     449                      <base:input
     450                        type="radio"
     451                        name="item_id"
     452                        value="<%=itemId%>"
     453                        title="<%=name%>"
     454                        checked="<%=selectedItemId == itemId%>"
     455                        visible="<%=mode.hasRadio()%>"
     456                      />
     457                    </div>
     458                    <div class="icons">
     459                      <base:icon
     460                        image="deleted.png"
     461                        id="<%="delete."+itemId %>"
     462                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     463                        data-item-id="<%=itemId%>"
     464                        tooltip="This item has been scheduled for deletion"
     465                        visible="<%=item.isRemoved()%>"
     466                      /><base:icon
     467                        image="shared.png"
     468                        id="<%="share."+itemId %>"
     469                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     470                        data-item-id="<%=itemId%>"
     471                        tooltip="This item is shared to other users, groups and/or projects"
     472                        visible="<%=item.isShared()%>"
     473                      />
     474                    </div>
     475                  </div>
     476                </tbl:header>
    481477                <tbl:cell column="name"><div
    482478                  class="link table-item"
  • branches/3.18-stable/www/biomaterials/tags/list_tags.jsp

    r7932 r7936  
    140140      item="<%=itemType%>"
    141141      filterrows="<%=cc.getFilterRows()%>"
    142       subclass="fulltable sticky-headers"
     142      subclass="fulltable"
     143      stickyheaders="name"
    143144      >
    144145      <tbl:hidden
     
    351352        <tbl:headers>
    352353          <tbl:headerrow>
    353             <tbl:header colspan="3" />
     354            <tbl:header clazz="row-index bg-filled-100" />
    354355            <tbl:columnheaders />
    355356          </tbl:headerrow>
     
    362363            %>
    363364            <tbl:headerrow>
    364               <tbl:header subclass="index" />
    365               <tbl:header
    366                 subclass="check"
    367                 visible="<%=mode.hasCheck()%>"
    368                 ><base:icon
    369                   subclass="link table-check"
    370                   image="check_uncheck.png"
    371                   tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
    372                   visible="<%=lastRow%>"
    373                 /></tbl:header>
    374               <tbl:header
    375                 subclass="check"
    376                 visible="<%=mode.hasRadio()%>"
    377                 />
    378               <tbl:header
    379                 subclass="icons"
    380                 visible="<%=mode.hasIcons()%>"
    381                 >
    382                 <base:icon
    383                   subclass="link table-filter-row-action"
    384                   image="add.png"
    385                   tooltip="Add extra filter row"
    386                   visible="<%=lastRow%>"
    387                 /><base:icon
    388                   subclass="link table-filter-row-action"
    389                   image="remove.png"
    390                   tooltip="Remove this filter row"
    391                   visible="<%=numRows > 1 || numFilters > 0 %>"
    392                   data-remove-row="<%=filterNo%>"
    393                 />
     365              <tbl:header subclass="row-index bg-filled-100">
     366                <div class="index-<%=mode.getName()%>">
     367                  <div class="index"></div>
     368                  <div class="check">
     369                    <base:icon
     370                      subclass="link table-check"
     371                      image="check_uncheck.png"
     372                      tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)"
     373                      visible="<%=lastRow && mode.hasCheck()%>"
     374                    />
     375                  </div>
     376                  <div class="icons">
     377                    <base:icon
     378                      subclass="link table-filter-row-action"
     379                      image="add.png"
     380                      tooltip="Add extra filter row"
     381                      visible="<%=lastRow%>"
     382                    /><base:icon
     383                      subclass="link table-filter-row-action"
     384                      image="remove.png"
     385                      tooltip="Remove this filter row"
     386                      visible="<%=numRows > 1 || numFilters > 0 %>"
     387                      data-remove-row="<%=filterNo%>"
     388                    />
     389                  </div>
     390                </div>
    394391              </tbl:header>
    395392              <tbl:propertyfilter row="<%=filterNo%>" />
     
    432429              %>
    433430              <tbl:row>
    434                 <tbl:header
    435                   clazz="index"
    436                   ><%=index%></tbl:header>
    437                 <tbl:header
    438                   clazz="check"
    439                   visible="<%=mode.hasCheck()%>"
    440                   ><input
    441                     type="checkbox"
    442                     name="<%=itemId%>"
    443                     value="<%=itemId%>"
    444                     title="<%=name%>"
    445                     <%=cc.getSelected().contains(itemId) ? "checked" : ""%>
    446                   ></tbl:header>
    447                 <tbl:header
    448                   clazz="check"
    449                   visible="<%=mode.hasRadio()%>"
    450                   ><input
    451                     type="radio"
    452                     name="item_id"
    453                     value="<%=itemId%>"
    454                     title="<%=name%>"
    455                     <%=selectedItemId == itemId ? "checked" : ""%>
    456                   ></tbl:header>
    457                 <tbl:header
    458                   clazz="icons"
    459                   visible="<%=mode.hasIcons()%>"
    460                   ><base:icon
    461                     image="deleted.png"
    462                     id="<%="delete."+itemId %>"
    463                     subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
    464                     data-item-id="<%=itemId%>"
    465                     tooltip="This item has been scheduled for deletion"
    466                     visible="<%=item.isRemoved()%>"
    467                   /><base:icon
    468                     image="shared.png"
    469                     id="<%="share."+itemId %>"
    470                     subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
    471                     data-item-id="<%=itemId%>"
    472                     tooltip="This item is shared to other users, groups and/or projects"
    473                     visible="<%=item.isShared()%>"
    474                   />&nbsp;</tbl:header>
     431                <tbl:header clazz="row-index bg-filled-100">
     432                  <div class="index-<%=mode.getName()%>">
     433                    <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
     434                    <div class="check">
     435                      <base:input
     436                        type="checkbox"
     437                        name="<%=itemId%>"
     438                        value="<%=itemId%>"
     439                        title="<%=name%>"
     440                        checked="<%=cc.getSelected().contains(itemId)%>"
     441                        visible="<%=mode.hasCheck()%>"
     442                      />
     443                      <base:input
     444                        type="radio"
     445                        name="item_id"
     446                        value="<%=itemId%>"
     447                        title="<%=name%>"
     448                        checked="<%=selectedItemId == itemId%>"
     449                        visible="<%=mode.hasRadio()%>"
     450                      />
     451                    </div>
     452                    <div class="icons">
     453                      <base:icon
     454                        image="deleted.png"
     455                        id="<%="delete."+itemId %>"
     456                        subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
     457                        data-item-id="<%=itemId%>"
     458                        tooltip="This item has been scheduled for deletion"
     459                        visible="<%=item.isRemoved()%>"
     460                      /><base:icon
     461                        image="shared.png"
     462                        id="<%="share."+itemId %>"
     463                        subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
     464                        data-item-id="<%=itemId%>"
     465                        tooltip="This item is shared to other users, groups and/or projects"
     466                        visible="<%=item.isShared()%>"
     467                      />
     468                    </div>
     469                  </div>
     470                </tbl:header>
    475471                <tbl:cell column="name"><div
    476472                  class="link table-item"
  • branches/3.18-stable/www/include/scripts/table.js

    r7935 r7936  
    185185    if (stickyCols.length > 0 && data.length > 0)
    186186    {
    187       var rowIndex = element.getElementsByClassName('row-index');
    188       var leftPos = rowIndex.length > 0 ? Doc.getElementPosition(rowIndex[0]).right : 0;
    189       var leftPos1 = leftPos-1;
    190       for (var i = 0; i < stickyCols.length; i++)
    191       {
    192         stickyCols[i].style.left = leftPos1+'px';
    193       }
    194      
    195       var observer = new IntersectionObserver(internal.handleStickyCol,
     187      // Need to run this later since the table may be hidden and leftCol=0
     188      Doc.addFinalizer(
     189        function()
    196190        {
    197           root: data[0],
    198           rootMargin: '0px 0px 0px -'+(leftPos)+'px',
    199           threshold: 1.0
     191          var rowIndex = element.getElementsByClassName('row-index');
     192          var leftPos = rowIndex.length > 0 ? Doc.getElementPosition(rowIndex[0]).right : 0;
     193          if (leftPos > 0)
     194          {
     195            var leftPos1 = leftPos-1;
     196            for (var i = 0; i < stickyCols.length; i++)
     197            {
     198              stickyCols[i].style.left = leftPos1+'px';
     199            }
     200          }
     201         
     202          var observer = new IntersectionObserver(internal.handleStickyCol,
     203            {
     204              root: data[0],
     205              rootMargin: '0px 0px 0px -'+(leftPos)+'px',
     206              threshold: 1.0
     207            });
     208          observer.table = element;
     209          observer.observe(stickyCols[0]);
    200210        });
    201       observer.table = element;
    202       observer.observe(stickyCols[0]);
    203211    }
    204212  }
  • branches/3.18-stable/www/include/styles/table.css

    r7935 r7936  
    538538  left: 0;
    539539  min-width: 7rem;
     540  width: 7rem;
    540541  border-right-width: 1px;
    541542  border-right-style: dotted;
Note: See TracChangeset for help on using the changeset viewer.