Metadata-Version: 1.1
Name: lona-chartjs
Version: 0.1.2
Summary: Chart.js widgets for Lona
Home-page: https://github.com/lona-web-org/lona-chartjs
Author: Florian Scherf
Author-email: f.scherf@pengutronix.de
License: MIT
Description: lona-chartjs
        ============
        
        This package contains `Lona <http://lona-web.org>`_ widgets to integrate
        `Chart.js <https://www.chartjs.org/>`_
        
        
        Installation
        ------------
        
        .. code-block:: text
        
            $ pip install lona-chartjs
        
        
        Usage
        -----
        
        ``lona_chartjs.Chart`` defines a thin wrapper around the Javascript API of
        Chart.js. You can take any demo off
        ``chartjs.org <https://www.chartjs.org/docs/3.5.0/>`` and pass the chart config
        into ``Chart.data``.
        
        All data you passed in is available in ``Chart.data`` and can be reset and
        altered. To redraw the chart with altered data run ``self.show(chart)`` from
        your view.
        
        .. image:: images/bar-chart.png
        
        .. code-block:: python
        
            from lona import LonaApp, LonaView
            from lona.html import HTML, H1, H2
            from lona_chartjs import Chart
        
            app = LonaApp(__file__)
        
            app.settings.CLIENT_RECOMPILE = True
        
            BAR_CHART_DATA = {
                # Taken from https://www.chartjs.org/docs/latest/getting-started/usage.html
        
                'type': 'bar',
                'data': {
                    'labels': ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
                    'datasets': [{
                        'label': '# of Votes',
                        'data': [12, 19, 3, 5, 2, 3],
                        'backgroundColor': [
                            'rgba(255, 99, 132, 0.2)',
                            'rgba(54, 162, 235, 0.2)',
                            'rgba(255, 206, 86, 0.2)',
                            'rgba(75, 192, 192, 0.2)',
                            'rgba(153, 102, 255, 0.2)',
                            'rgba(255, 159, 64, 0.2)'
                        ],
                        'borderColor': [
                            'rgba(255, 99, 132, 1)',
                            'rgba(54, 162, 235, 1)',
                            'rgba(255, 206, 86, 1)',
                            'rgba(75, 192, 192, 1)',
                            'rgba(153, 102, 255, 1)',
                            'rgba(255, 159, 64, 1)'
                        ],
                        'borderWidth': 1
                    }]
                },
                'options': {
                    'responsive': False,
                    'scales': {
                        'y': {
                            'beginAtZero': True,
                        }
                    }
                }
            }
        
        
            @app.route('/')
            class MyLonaView(LonaView):
                def handle_request(self, request):
                    html = HTML(
                        H1('Hello World'),
                        H2('Bar Chart'),
                        Chart(
                            width='500px',
                            height='300px',
                            data=BAR_CHART_DATA,
                        ),
                    )
        
                    self.show(html)
        
        
            app.run()
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
