From 849e7844fe157502ac96b940419b6d36f70573b0 Mon Sep 17 00:00:00 2001 From: Oleh Omelchenko Date: Mon, 17 Nov 2025 14:11:01 +0200 Subject: [PATCH] feat: Implement Chart Builder feature with UI and functionality - Added a new modal for the Chart Builder to allow users to create visualizations from datasets. - Integrated chart builder state management and validation for encoding configurations. - Implemented auto-selection of default fields based on dataset column types. - Added live preview functionality for real-time chart rendering. - Created a new JavaScript file (chart-builder.js) to handle chart building logic. - Updated app.js to initialize the chart builder and handle URL state changes. - Enhanced styles in styles.css for the chart builder UI components. - Documented the implementation details in project-docs/chart-builder-implementation.md. --- .claude/settings.local.json | 9 + index.html | 149 ++++++ project-docs/chart-builder-implementation.md | 435 ++++++++++++++++++ src/js/app.js | 18 + src/js/chart-builder.js | 457 +++++++++++++++++++ src/js/config.js | 28 +- src/styles.css | 58 +++ 7 files changed, 1147 insertions(+), 7 deletions(-) create mode 100644 .claude/settings.local.json create mode 100644 project-docs/chart-builder-implementation.md create mode 100644 src/js/chart-builder.js diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..6c45768 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,9 @@ +{ + "permissions": { + "allow": [ + "Bash(node --check:*)" + ], + "deny": [], + "ask": [] + } +} diff --git a/index.html b/index.html index f523dd4..1bbf359 100644 --- a/index.html +++ b/index.html @@ -201,6 +201,7 @@
+ @@ -358,6 +359,153 @@
+ + +