Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Table Visualization] remove legacy table and add table visualization #2279

Conversation

ananzh
Copy link
Member

@ananzh ananzh commented Sep 7, 2022

Description

To convert the table visualization into React & OUI DataGrid component, in this PR, we did two main things:

  • clean out legacy angular code
  • restore table vis in react
  • Datagrid component does not support splitted grids. For future transfer to OUI Datagrid, we create a tableGroup in visData for splitted grids.

Issues Resolved

#2212
#2213

Notes

This PR does not add up any tests or components. I will open separate issues for those tasks. Right now, from what I test, the visConfig is loaded correctly and visData are handled correctly. These two are needed to render the Datagrid component. Here are some example settings:

  • split rows
    table has rows and columns
    tableGroup is empty
    direction: undefined
    

Screen Shot 2022-09-07 at 12 07 41

  • split table -- rows direction
    table is empty
    a tableGroup is created with split tables
    direction: row
    

Screen Shot 2022-09-07 at 12 06 31

  • split table -- columns direction
     table is empty
     a tableGroup is created with split tables
     direction: column
    

Screen Shot 2022-09-07 at 12 05 48

Check List

  • New functionality includes testing.
    • All tests pass
      • yarn test:jest
      • yarn test:jest_integration
      • yarn test:ftr
  • New functionality has been documented.
  • Commits are signed per the DCO using --signoff

@ananzh ananzh requested a review from a team as a code owner September 7, 2022 19:13
@ananzh ananzh self-assigned this Sep 7, 2022
@ananzh ananzh added the tableVis table visualization label Sep 7, 2022
@ananzh ananzh force-pushed the feature/table-clean-and-restore branch from a23c898 to 95e64c8 Compare September 8, 2022 06:53
Copy link
Member

@ashwin-pc ashwin-pc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks nice! What are we doing about existing table visualizations though?

@ananzh
Copy link
Member Author

ananzh commented Sep 15, 2022

plan is to keep all the features but just replace it from angular to react. Then use this to replace the current table vis in v2.4.

To convert the table visualization into React & OUI DataGrid component,
in this PR, we did two main things:
* clean out legacy angular code
* restore table vis in react
* Datagrid component does not support splitted grids. For future transfer
to OUI Datagrid, we create a tableGroup in visData for splitted grids.

issue resolved:
opensearch-project#2212
https://github.com/opensearch-project/OpenSearch-Dashboards/issues/2213a

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

rename visTable back to opensearch_dashboards_table and add stronger type

Signed-off-by: Anan Zhuang <ananzh@amazon.com>
@ananzh ananzh force-pushed the feature/table-clean-and-restore branch from 95e64c8 to 0dd02d4 Compare September 15, 2022 23:04
@ananzh ananzh merged commit 135956f into opensearch-project:feature/tableVis Sep 20, 2022
ananzh added a commit to ananzh/OpenSearch-Dashboards that referenced this pull request Oct 25, 2022
…opensearch-project#2279)

To convert the table visualization into React & OUI DataGrid component,
in this PR, we did two main things:
* clean out legacy angular code
* restore table vis in react
* Datagrid component does not support splitted grids. For future transfer
to OUI Datagrid, we create a tableGroup in visData for splitted grids.

issue resolved:
opensearch-project#2212
https://github.com/opensearch-project/OpenSearch-Dashboards/issues/2213a

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

rename visTable back to opensearch_dashboards_table and add stronger type

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] add a plain datagrid component (opensearch-project#2390)

implement a plain OuiDataGrid component use the basic
pagenation, sort and format.

Partially resolve:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] restore datagrid columns (opensearch-project#2411)

* restore datagrid columns
* display column title correctly
* deangular and re-use formatted column
* convert formatted column to data grid column
* restore filter in and filter out value functions

Partially resolve:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] restore pagination to table vis (opensearch-project#2461)

* add pagination

patically resolved:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] make table vis column resizable (opensearch-project#2464)

* add resizable state to column

Partially resolve:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] make table vis column sortable (opensearch-project#2502)

* add sort state (asc | desc)  to column
* fix pagination issue

Partially resolve:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] format table cell and restore showTotal feature (opensearch-project#2562)

* format table cell to show Date and percent
* restore showTotal feature: it allows table vis to show total,
avg, min, max and count statics on count
* fix some type errors

Partically resolved:
opensearch-project#2379

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization]restore export csv feature to table vis (opensearch-project#2568)

* add addtional action in toolbar to allow export data to csv.
there are two types of csv, raw and formatted. raw is the original
data and formatted is to show formatted Date and percentage data
when needed.
* when table is not saved, export csv file will be named as
unsaved-raw.csv if choose raw. when table is saved with a filename,
it will be saved as [filename]-[raw/formatted].csv

Partically resolved:
opensearch-project#2379

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] split table in rows and columns

This PR implement a group component TableVisGroupComponent utilizing
TableVisComponent as sub component. It also adds a title to TableVisComponent.

Partically resolved:
opensearch-project#2379

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] remove local state

* remove local col width state to allow split tables to fetch
updated col width state
* fix type errors in usePagination

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] remove repeated column from split tables

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization][BUG] partical rows option generate repeated metrics

Signed-off-by: Anan Zhuang <ananzh@amazon.com>
ananzh added a commit to ananzh/OpenSearch-Dashboards that referenced this pull request Oct 28, 2022
…opensearch-project#2279)

To convert the table visualization into React & OUI DataGrid component,
in this PR, we did two main things:
* clean out legacy angular code
* restore table vis in react
* Datagrid component does not support splitted grids. For future transfer
to OUI Datagrid, we create a tableGroup in visData for splitted grids.

issue resolved:
opensearch-project#2212
https://github.com/opensearch-project/OpenSearch-Dashboards/issues/2213a

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

rename visTable back to opensearch_dashboards_table and add stronger type

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] add a plain datagrid component (opensearch-project#2390)

implement a plain OuiDataGrid component use the basic
pagenation, sort and format.

Partially resolve:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] restore datagrid columns (opensearch-project#2411)

* restore datagrid columns
* display column title correctly
* deangular and re-use formatted column
* convert formatted column to data grid column
* restore filter in and filter out value functions

Partially resolve:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] restore pagination to table vis (opensearch-project#2461)

* add pagination

patically resolved:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] make table vis column resizable (opensearch-project#2464)

* add resizable state to column

Partially resolve:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] make table vis column sortable (opensearch-project#2502)

* add sort state (asc | desc)  to column
* fix pagination issue

Partially resolve:
opensearch-project#2305

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] format table cell and restore showTotal feature (opensearch-project#2562)

* format table cell to show Date and percent
* restore showTotal feature: it allows table vis to show total,
avg, min, max and count statics on count
* fix some type errors

Partically resolved:
opensearch-project#2379

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization]restore export csv feature to table vis (opensearch-project#2568)

* add addtional action in toolbar to allow export data to csv.
there are two types of csv, raw and formatted. raw is the original
data and formatted is to show formatted Date and percentage data
when needed.
* when table is not saved, export csv file will be named as
unsaved-raw.csv if choose raw. when table is saved with a filename,
it will be saved as [filename]-[raw/formatted].csv

Partically resolved:
opensearch-project#2379

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization] split table in rows and columns (opensearch-project#2578)

This PR implement a group component TableVisGroupComponent utilizing
TableVisComponent as sub component. It also adds a title to TableVisComponent.

Partically resolved:
opensearch-project#2379

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization][IMPROVE] remove repeated column from split tables (opensearch-project#2583)

Currently, when we split table by columns, the split column is shown
both in the table title and as a separate column. This is not needed.
In this PR, we remove the repeated column in split tables in col.

Partically resolved:
opensearch-project#2579 (comment)

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization][BUG] remove local column width state (opensearch-project#2582)

* remove local col width state to allow split tables to fetch
updated col width state
* fix type errors in usePagination

Partially resolved:
opensearch-project#2579 (comment)

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

Signed-off-by: Anan Zhuang <ananzh@amazon.com>

[Table Visualization][BUG] partical rows shows metrics for all columns (opensearch-project#2648)

Currently, when we enable Show partial rows in the Options panel, we see metrics been
added to every column even though Show metrics for every bucket/level is not enabled.

Metrics are added and returned when we enable the partial rows. This PR fixed the bug
by slice the returned data to allow only the last set of metrices.

Partially resolved:
opensearch-project#2579 (comment)

Signed-off-by: Anan Zhuang <ananzh@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tableVis table visualization
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants