From b497d7bf1031c67e5b4c2d5a4cc3ab70d6de6062 Mon Sep 17 00:00:00 2001 From: AnnMarueW Date: Tue, 25 Jul 2023 15:00:38 -0700 Subject: [PATCH 1/3] added dash-docs alert to docs --- docs/app.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/app.py b/docs/app.py index 805842a..e9f1741 100644 --- a/docs/app.py +++ b/docs/app.py @@ -76,6 +76,13 @@ app._callback_list.extend(new_callback_list) +alert = dbc.Alert([ + html.H1("Great News! Dash AG Grid docs are now available at:", className="p-5" ), + html.H3(" https://dash.plotly.com/dash-ag-grid"), + html.H5("Please use the official dash-docs as this site is no longer being updated. ") +], className="text-center", dismissable=True ) + + app.layout = dbc.Container( [ dbc.Row(dbc.Col(alert, className="mx-auto")), From 43f49a0c93079de62d758aba5a2b1c34d1776d27 Mon Sep 17 00:00:00 2001 From: AnnMarueW Date: Sat, 3 Feb 2024 08:07:29 -0800 Subject: [PATCH 2/3] Update readme --- README.md | 120 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 89 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 63e5b42..b0aa412 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,110 @@ -# Dash AG Grid +# Dash AG Grid [![PyPi Version](https://img.shields.io/pypi/v/dash-ag-grid.svg)](https://pypi.org/project/dash-ag-grid/) Dash AG Grid is a Dash component wrapper for the AG Grid JavaScript package, enabling you to display AG Grid components natively in your Dash app. The underlying AG Grid JavaScript package is a third-party software component developed by [AG Grid Ltd](http://www.ag-grid.com/). Many features are available for free in the AG Grid [Community version](https://github.com/ag-grid/ag-grid). Some features require a paid subscription to the AG Grid Enterprise version ([more info available here](https://www.ag-grid.com/license-pricing.php)). Both the community and enterprise versions are included in this component, but the enterprise features require you to provide a valid AG Grid license key. The demos which use Enterprise features are clearly marked. -## v2.0.0 Release +### Documentation +Please see the [Plotly Dash AG Grid Documentation](https://dash.plotly.com/dash-ag-grid). -If you have tried v2.0.0 alpha releases, release candidates, or our v1.x enterprise package, please see our [Migration Guide](https://dash.plotly.com/dash-ag-grid/migration-guide) (previously hosted [here](https://dashaggrid.pythonanywhere.com/getting-started/migration-guide)). +### Quick Start +`pip install dash-ag-grid` -### Getting Started +This basic grid has the following features enabled by default: +- Alpine theme +- Sort +- Resize, reorder and pin columns +- Boolean values rendered as check boxes +- Row animation on sort -`pip install dash-ag-grid` +```python +import dash_ag_grid as dag +from dash import Dash +import pandas as pd + +app = Dash() + +df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/ag-grid/space-mission-data.csv") + +app.layout = dag.AgGrid( + rowData=df.to_dict("records"), + columnDefs=[{"field": i} for i in df.columns], +) + +app.run(debug=True) +``` + + + + +### AG Grid Community Features +Here are a few of the AG Grid Community features available: + +- Column Interactions (resize, reorder, and pin columns) +- Column Spanning +- Column Grouping +- Pagination +- Sorting +- Row Selection +- Row Reordering +- Row Spanning +- Pinned Rows +- Full Width Rows + +- Cell data types with automatic type inference +- Custom Filtering +- Cell Editing + +- Provided components including number editors, date picker, select editor, text editor, large text editor +- Custom Components in cells - add your own components such as buttons, graphs, indicators, markdown and more +- Tooltips in cells and headers + +- Provided themes with light/dark versions +- Customizable themes +- Figma Design System to design and customize themes + +- Format Cell Data +- Conditional formatting + +- Data Export to CSV +- Keyboard Navigation +- Accessibility support +- Localization -### Documentation -Please see the [Dash Documentation](https://dash.plotly.com/dash-ag-grid). -## Contributing + +### AG Grid Enterprise features +Here are a few of the features available in AG Grid Enterprise. See the AG Grid docs for more information. + +- Grouping / Aggregation +- Advanced Filtering +- Records Lazy Loading +- Server-Side Records Operations +- Hierarchical Data Support & Tree View +- Data Export to Excel +- Excel-like Pivoting +- Copy / Paste +- Sparklines + +### See a [live demo](https://www.ag-grid.com/example/) of AG Grid Community and Enterprise Features + +--------- + + + + + + +### Contributing Dash AG Grid welcomes community contributions! If you have identified a bug or have an idea for a new feature, it's best to start with a GitHub issue. First look at existing issues at https://github.com/plotly/dash-ag-grid/issues to make sure this is not a duplicate. Then create a new issue. Bug reports should be accompanied by a small example app that someone else can copy and run to reproduce the problem. -The docs are under development as well. There are many examples in the official AG Grid docs that have not been included here yet. Please open an issue or do pull requests for edits or to add examples. Or post your question, comments or demo apps on the [Dash Community Forum](https://community.plotly.com/). +If you have questions, please ask on the [Dash Community Forum](https://community.plotly.com/). rather than using GitHub issues. ### Developing in this repo @@ -43,25 +123,3 @@ Now install the component in development mode: $ pip install -e . ``` In development mode, Python uses the files in this directory when you import the package. So you can write a testing app in another folder, and whenever you change some code and rebuild the component here it will update in your testing app. - -### Create a production build - -Create source and wheel distributions in the generated `dist/` folder, after emptying out any previous builds: -``` -rm -rf dist build -python setup.py sdist bdist_wheel -``` -See [PyPA](https://packaging.python.org/guides/distributing-packages-using-setuptools/#packaging-your-project) -for more information. -Then use [`twine`](https://pypi.org/project/twine/) to upload these to PyPI: -``` -twine upload dist/* -``` -We also publish the JavaScript build to NPM, so `unpkg` has the bundles if users set `serve_locally=False`. First make a test of the NPM package, verify that its contents are reasonable: -``` -npm pack -``` -Then publish: -``` -npm publish -``` \ No newline at end of file From 6e12b36632e9de6c5383ed0fcd9aaf8334872655 Mon Sep 17 00:00:00 2001 From: AnnMarueW Date: Wed, 7 Feb 2024 06:51:50 -0800 Subject: [PATCH 3/3] Update readme --- CONTRIBUTING.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 26 ++------------------------ 2 files changed, 50 insertions(+), 24 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..088ff01 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,48 @@ + +# Dash AG Grid Contributing Guide + +Dash AG Grid welcomes community contributions! + +If you have identified a bug or have an idea for a new feature, it's best to start with a GitHub issue. First look at existing issues at https://github.com/plotly/dash-ag-grid/issues to make sure this is not a duplicate. Then create a new issue. Bug reports should be accompanied by a small example app that someone else can copy and run to reproduce the problem. + +If you have questions, please ask on the [Dash Community Forum](https://community.plotly.com/). rather than using GitHub issues. + + +### Developing in this repo + +Make sure you have Dash installed with dev and testing extras: +``` +pip install dash[dev,testing] +``` +Build the component (from the root of this repo): +``` +npm i +npm run build +``` +Now install the component in development mode: +``` +$ pip install -e . +``` +In development mode, Python uses the files in this directory when you import the package. So you can write a testing app in another folder, and whenever you change some code and rebuild the component here it will update in your testing app. + +### Create a production build + +Create source and wheel distributions in the generated `dist/` folder, after emptying out any previous builds: +``` +rm -rf dist build +python setup.py sdist bdist_wheel +``` +See [PyPA](https://packaging.python.org/guides/distributing-packages-using-setuptools/#packaging-your-project) +for more information. +Then use [`twine`](https://pypi.org/project/twine/) to upload these to PyPI: +``` +twine upload dist/* +``` +We also publish the JavaScript build to NPM, so `unpkg` has the bundles if users set `serve_locally=False`. First make a test of the NPM package, verify that its contents are reasonable: +``` +npm pack +``` +Then publish: +``` +npm publish +``` \ No newline at end of file diff --git a/README.md b/README.md index b0aa412..f710433 100644 --- a/README.md +++ b/README.md @@ -97,29 +97,7 @@ Here are a few of the features available in AG Grid Enterprise. See the AG Grid +### Contributing -### Contributing +We welcome contributions to `dash-ag-grid`. Please see our [contributing guide](https://github.com/plotly/dash-ag-grid/blob/main/CONTRIBUTING.md) for more information. -Dash AG Grid welcomes community contributions! - -If you have identified a bug or have an idea for a new feature, it's best to start with a GitHub issue. First look at existing issues at https://github.com/plotly/dash-ag-grid/issues to make sure this is not a duplicate. Then create a new issue. Bug reports should be accompanied by a small example app that someone else can copy and run to reproduce the problem. - -If you have questions, please ask on the [Dash Community Forum](https://community.plotly.com/). rather than using GitHub issues. - - -### Developing in this repo - -Make sure you have Dash installed with dev and testing extras: -``` -pip install dash[dev,testing] -``` -Build the component (from the root of this repo): -``` -npm i -npm run build -``` -Now install the component in development mode: -``` -$ pip install -e . -``` -In development mode, Python uses the files in this directory when you import the package. So you can write a testing app in another folder, and whenever you change some code and rebuild the component here it will update in your testing app.