Giter Site home page Giter Site logo

reacttable's People

Contributors

caguthrie avatar dmandepudi avatar erfangc avatar erfangchen avatar raghumbm avatar wenjiechen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reacttable's Issues

Table Header issue on filtering

When I do filtering on a column, and if the filter text results in no data points matching, the table header gets messed up. The same thing happens if you attempt to render a table with no data rows.
Is there a work around here?

Please see the screenshot.
image

Streamline the Internal Implementation of Filter

The previous implementation of the table is actually fairly ripe accommodate the filtering functionality

with the latest few commits we introduced some extraneous states to the TreeNode class. We can consolidate

Example of Redundancy:

 this.display = true; // this determines whether rasterizeTree() will show the row or not
    this.children = [];
    this.ultimateChildren = [];
    this.collapsed = this.parent != null;
    this.sortIndex = null;
    this.hiddenByFilter = false; // therefore this is redundant

The extraneous states is being manipulated or depended on in different parts of the library, which makes it slightly harder to reason about.

Ideally, we should minimize states and streamline dataflow, specifically: filtering should just toggle .display property of TreeNode objects and we will leave rasterizeTree() to determine how to display it.

From that perspective this change should make the code base slightly lighter.

The "+" button at the end of the table is broken

In the master version the plus button is now somehow either overlapping the last header cell or exhibiting other behaviors. this is likely the result of the new grand total column at the bottom of the table

Being able to render tree table data directly

By default I believe, react table uses a flat list as the data input with grouping and subtotalling done on the front end. If the data is already grouped and exists in a tree table format, we cannot render it directly using react table. it would be great if we could do so.

Sample data:
[
{
Name: "USA",
Area: 9826675,
Population: 318212000,
TimeZone: "UTC -5 to -10",
children: [
{
Name: "California",
Area: 423970,
Population: 38340000,
TimeZone: "Pacific Time",
children: [
{
Name: "San Francisco",
Area: 231,
Population: 837442,
TimeZone: "PST"
},
{
Name: "Los Angeles",
Area: 503,
Population: 3904657,
TimeZone: "PST"
}
]
},
{
Name: "Illinois",
Area: 57914,
Population: 12882135,
TimeZone: "Central Time Zone",
children: [
{
Name: "Chicago",
Area: 234,
Population: 2695598,
TimeZone: "CST"
}
]
}
]
},
{
Name: "Texas",
Area: 268581,
Population: 26448193,
TimeZone: "Mountain"
}
];

Group by functionality not working in 3.0.4

After moving from ReactTable 2.2.8 to 3.0.4 the group by functionality has stopped working.

The following warning is displayed in the console log:
Each child in an array should have a unique "key" prop. Check the render method of ReactTable. See http://fb.me/react-warning-keys for more information.

I can confirm that the data does not contain duplicate rows as I added a unique key for each row.
Also tried changing the rowkey option to use the unique key without success.

Installation

HI

Is this plugin available in npm ? And is it compatible with latest version of React i.e 0.14...

Thank you

Server side Pagination

Many existing tables like datatables have server-side pagination. Even though, react table is capable of performing aggregation operations on massive amounts of data on the front end, it would be a great feature since sending huge amount of data over network might clog the bandwidth, thus need to be able to perform sorting or summarizing in the backend.

Sector Level Sorting

currently sorting only works on the detail level. client code can pass in custom sort routines through the sort property to columnDef objects

the callback function is then called by the internal master sorting function sorterFactory() see SortUtil.js

inside the master sorting routine you will see that sector sorting takes a callback as well.

currently the default implementation for sector sorting only sort on sector path. (since we need sector paths of summary rows to be in the correct order to render the table correctly, i.e. a child summary row is always suppose to come after the parent summary row in the data array)

the challenge here is to be able to sort both on sector path and by some arbitrary criteria (such as the aggregated value of a column)

replaceData no longer available in 3.0.4.

Does a reactTable function exist which allows the data to be updated?
In version 3.0.4 the replaceData function no longer exists. Looking at the code I can't find anything
which performs a similar function.

Selectively Disable Features

Selectively Disable:

Add Button
Remove Button(s) in the Menu
The Ability to Summarize
Sorting
Disable Grand Subtotaling

Multi-Column Filter

Need an Input box on each column(on a right click or any other operation) which will have the dropdown list of all the distinct values for that column.When a user selects a particular value, then the table should only show rows havingthe column value equivalent to the filter.

Slowness of the master

the current table seems significantly slower than before, as discussed with @wenjiechen this appears to be caused by adjustHeaders()

we either have to reimplement the header and grand total footer using a method that does not rely on adjustHeader() OR we have to investigate why adjustHeader() is suddenly slowing the widget down significantly more than before

Refactor / Rename + Sustainability Enhancements

new branch created to incorporate the following changes

  • adopt font-awesome as the default icon provider
  • improve infinite scrolling to ensure high performance throughout the scroll
  • remove old classes/components
  • rename things that no longer make sense
  • factor out custom menu item creation - right now this is hard-coded to create infoBoxes only - we need the ability to create custom menu items as react components
  • *** clean up states and props ***

selectedKeys not implemented

{..., selectedKeys: value, ...}

value should be an array of "rowKey"s so when the table is created, it will have rows selected automatically that may have been previously selected

enhance the look and feel

enhance look and feel since bootstrap dependency has been removed

  • de-couple styling into standalone css instead (use class names in the table JS instead of in-line styles)
  • create default look and feel through ReactTable.css

Cell callback

Row callbacks work but we need to perform cell specific operations if the user clicks on a particular cell of the row like right click or double click on a cell which will work as a filter, etc..

Aggregation callback

Aggregating/de-aggregating tree will call custom callback with aggregation state if passed in upon initialization

add ajax api for generate large size excel

in the front end, experotToExcel can't handle large size of data. we can add an ajax api to send the data to backend and generate download excel. If this api defined by user, we call this api, otherwise we use experotToExcel method.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.