Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
f987a2b
Apply dark mode
forman Dec 1, 2024
6852230
respect themes
forman Dec 2, 2024
a0c5292
Using new theme prop
forman Dec 4, 2024
68a4546
Isolated Plot into its own sole module that uses Vega; removed MUI de…
forman Dec 4, 2024
d543727
Don't set `chart` if it is None
forman Dec 4, 2024
661b088
improved split plan
forman Dec 4, 2024
ac29b6a
Python side of Plot -> VegaChart
forman Dec 4, 2024
989b2ab
fixed linting issues
forman Dec 4, 2024
c2fa73f
Merge branch 'forman-x-plot_with_theme' into forman-x-allow_div_chart…
forman Dec 4, 2024
64c5341
we now have plugins, however, we still have one large JS chunk
forman Dec 4, 2024
1d4eba7
relative plugin imports
forman Dec 4, 2024
78d95ea
rename
forman Dec 5, 2024
cab2a9a
further split
forman Dec 5, 2024
9c22258
removed demo code
forman Dec 5, 2024
09ffd4e
config update
forman Dec 5, 2024
8fd8585
fixed types
forman Dec 5, 2024
bcfcdca
introduced workspaces
forman Dec 5, 2024
b20a247
moved project files
forman Dec 5, 2024
762b084
update
forman Dec 5, 2024
8060c61
separate demo folder
forman Dec 5, 2024
055852c
update
forman Dec 5, 2024
fe6ae3c
update
forman Dec 6, 2024
466a126
update
forman Dec 6, 2024
e47d3b3
removed demo test
forman Dec 6, 2024
281ea0c
updated ci
forman Dec 6, 2024
e4c49ba
format
forman Dec 6, 2024
eb14a12
format
forman Dec 6, 2024
c65d9e0
updated docs
forman Dec 6, 2024
75a8459
avoid duplication
forman Dec 6, 2024
c21b9ee
docs update
forman Dec 6, 2024
66950ef
docs update
forman Dec 6, 2024
3a31d04
fixed paths
forman Dec 6, 2024
eaf9248
simplified Python demo code
forman Dec 6, 2024
47ae4f9
update & format
forman Dec 6, 2024
b30a3e7
fixed docstring
forman Dec 6, 2024
4ac41f9
improved docs
forman Dec 6, 2024
276fca2
typo
forman Dec 6, 2024
c545a83
typo
forman Dec 6, 2024
630e24e
allow switching theme modes
forman Dec 6, 2024
c290678
update
forman Dec 6, 2024
0aa40d6
update
forman Dec 6, 2024
716b30c
panels respect theme mode
forman Dec 6, 2024
cda0738
allow VegaChart to know current theme mode
forman Dec 6, 2024
7e57908
no more Roboto
forman Dec 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions .github/workflows/frontend-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,32 @@ jobs:
with:
node-version: '18.x'

- name: Install dependencies
- name: Install common dependencies
run: |
cd chartlets.js
npm install

- name: Linter
- name: Lib lint
run: |
cd chartlets.js
cd chartlets.js/packages/lib
npm run lint

- name: Run frontend tests
- name: Lib tests
run: |
cd chartlets.js
cd chartlets.js/packages/lib
npm run test

- name: Build frontend application
- name: Lib build
run: |
cd chartlets.js
cd chartlets.js/packages/lib
npm run build

- name: Demo lint
run: |
cd chartlets.js/packages/demo
npm run lint

- name: Demo build
run: |
cd chartlets.js/packages/demo
npm run build
8 changes: 6 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,11 @@ jobs:
cache-dependency-path: chartlets.js/package-lock.json

- run: npm ci
- run: npm run build
- run: npm publish --access public
- run: |
cd packages/lib
npm run build
- run: |
cd packages/lib
npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ Please see the [Documentation](https://bcdev.github.io/chartlets/) for more info

## Features

- Enhance your React web application by UI-contributions programmed in Python
- Enhance your (Python) web API to serve server-side UI-contributions.
- Uses [Material UI](https://mui.com/material-ui/) components and
[Vega-Lite](https://vega.github.io/vega-lite/) charts.
- Enhance your React web application by UI-contributions programmed in Python.
- Enhance your Python REST server to publish server-side UI-contributions.
- Support your favorite charting library or UI component library by plugins.
- Use provided plugins for [Vega-Lite](https://vega.github.io/vega-lite/) charts and [Material UI](https://mui.com/material-ui/)
components.

## License

Expand Down
2 changes: 1 addition & 1 deletion chartlets.js/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
packages/lib/node_modules
dist
dist-ssr
*.local
Expand Down
30 changes: 30 additions & 0 deletions chartlets.js/CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
## Version 0.1.0 (in development)

* Reorganised Chartlets project to better separate demo from library code.
Using monorepo layout for `chartlets.js` with workspaces `lib` and `demo`
that host the packages for `chartlets` and `chartlets-demo`.

* Chartlets now allows for plugins that can provide individual component
implementations.
The Vega-based chart and MUI components are now optional and have been
moved into respective plugin modules `chartlets/plugins/vega` and
`chartlets/plugins/mui`.
To activate them, use the new `plugins: PluginLike[]` option
of `FrameworkOptions`:
```TypeScript
import { configureFramework } from "chartlets";
import mui from "chartlets/plugins/mui";
import vega from "chartlets/plugins/vega";

configureFramework({ plugins: [mui(), vega()], ... });
```

* Renamed `Plot` component into `VegaChart`.

* The new `VegaChart` component respects a `theme` property. If not given,
it will respect the current theme mode `"dark"` otherwise fallback to the
Vega default theme.

* The demo application now allows for switching the theme mode between
dark, light, and system mode.

## Version 0.0.29 (from 2024/11/26)

* Resolved warnings that appeared when using Vega charts.
Expand Down
17 changes: 4 additions & 13 deletions chartlets.js/README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
# chartlets
# Chartlets

[![Frontend CI workflow](https://github.com/bcdev/chartlets/actions/workflows/frontend-ci.yml/badge.svg)](https://github.com/bcdev/chartlets/actions/workflows/frontend-ci.yml)
[![NPM Version](https://badge.fury.io/js/chartlets.svg)](https://npmjs.org/package/chartlets)
[![CI](https://github.com/bcdev/chartlets/actions/workflows/frontend-ci.yml/badge.svg)](https://github.com/bcdev/chartlets/actions/workflows/frontend-ci.yml)
[![npm](https://badge.fury.io/js/chartlets.svg)](https://npmjs.org/package/chartlets)
![](https://img.shields.io/badge/Linting-TypeScript%20%26%20Prettier-blue?logo=typescript&logoColor=white)


[![NPM Download Stats](https://nodei.co/npm/chartlets.png?downloads=true)](https://www.npmjs.com/package/chartlets)

Chartlets is a software framework that allows websites developed with
React to be extended by server-side widgets programmed in Python or other
programming languages.

This is the JavaScript/React library of the framework.
This is the **JavaScript/React library** of the framework.

For details refer to the [documentation](https://bcdev.github.io/chartlets/).

## Run the demo UI

``` bash
npm install
npm run dev
```
Loading
Loading