d-scrollable-table

0.4.2 • Public • Published

d-scrollable-table

Scrollable table with fixed (floating) thead and N first column(s)

Usage

app.component( require('d-scrollable-table') );

There are 2 ways to set up scroll handling:

1. (preferred) Bind to container's scroll event

<div style="overflow: auto" on-scroll="scrollable.scroll($element)">
  <view is="d-scrollable-table" as="scrollable"></view>
  <table>
  
    <tbody>
      <tr>
        <!-- 
          IMPORTANT! Cells that should be fixed when scrolling horizontally
          MUST be <th>. So if you want 3 first columns to be fixed when 
          scrolling, make sure that first 3 cells in each row of <tbody>
          are <th> and all the others are <td>
        -->
        <th>Fixed 1</th>
        <th>Fixed 2</th>
        <th>Fixed 3</th>
        
        <td>Normal</td>
        <td>Normal</td>
        <!-- ... -->
        <td>Normal</td>
      </tr>
      <!-- ... -->
      <tr>
        <!-- ... -->
      </tr>
    </tbody>
    
    <thead>
      <!-- 
        IMPORTANT! thead MUST be on the very bottom after <tbody>.
        All browsers will still render it on the top so don't worry.
        All cells must be <th>.
      -->      
      <tr>
        <th>...</th>
        <th>...</th>
        <!-- ... -->
        <th>...</th>
      <tr>
    </thead>
    
  </table>
</div>

2. Bind to the table itself

<view is="d-scrollable-table" as="scrollable" 
      on-create="scrollable.scrollParent($controller.table)"></view>
<table as='table'>
  <!-- ... -->
</table>

Options

  • hiddenClass specifies the class name of hidden <tr>s. It's used in <th>-search algorithm that determines the amount of columns to make float. By default it's u-hidden, so all <tr>s with this class will be omitted.

  • update is any variable that you can pass to listen for its changes and force update the table (useful when your columns may change dynamically)

Licence

MIT

/d-scrollable-table/

    Package Sidebar

    Install

    npm i d-scrollable-table

    Weekly Downloads

    6

    Version

    0.4.2

    License

    none

    Unpacked Size

    11.2 kB

    Total Files

    5

    Last publish

    Collaborators

    • nbhim12
    • rustem-as
    • anagami
    • vibranovskym
    • vinoron
    • nariman322
    • zag2art
    • vmakhaev
    • yska
    • cray0000
    • maestro.sc
    • fctsvirus
    • tarlord
    • goonyaa
    • diesel457
    • dewens
    • rabbit-abyss
    • ovvn
    • dm-deploys
    • astranomus
    • byshock
    • frenz1e
    • zheoreh
    • maugliwork
    • kondrashov98
    • ice9k
    • olvipi
    • katamoritoka