1.0.0 • Published 9 months ago

@e-mohaned-ghawar/json-chart-viewer v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

JSON Chart Viewer Web Component

A powerful and customizable web component for visualizing JSON data as interactive charts. Created by MohaNed Ghawar.

Features

  • Multiple chart types (bar, line, pie, doughnut)
  • Auto-refresh data
  • Custom titles and labels
  • Data labels toggle
  • Grid lines toggle
  • Adjustable legend position
  • Custom color picker
  • Zoom and pan controls
  • Fullscreen mode
  • Dark/light theme support
  • Responsive design

Installation

Via NPM

npm install @e-mohaned-ghawar/json-chart-viewer

Via CDN

<script src="https://unpkg.com/@e-mohaned-ghawar/json-chart-viewer"></script>

Usage

<json-chart-viewer
    data-url="https://api.example.com/data"
    refresh-interval="30000"
    chart-type="bar"
    chart-title="My Chart"
    x-label="X Axis"
    y-label="Y Axis"
    show-data-labels="true"
    show-grid="true"
    legend-position="right"
    chart-color="#2196F3"
    zoom-enabled="true"
    default-x="name"
    default-y="value">
</json-chart-viewer>

Attributes

AttributeTypeDefaultDescription
data-urlstring-URL for JSON data source
refresh-intervalnumber0Auto-refresh interval in milliseconds
chart-typestring'bar'Chart type (bar/line/pie/doughnut)
chart-titlestring'Chart'Main chart title
x-labelstring'X Axis'X-axis label
y-labelstring'Y Axis'Y-axis label
show-data-labelsbooleanfalseShow data point labels
show-gridbooleantrueShow grid lines
legend-positionstring'right'Legend position (top/right/bottom/left)
chart-colorstring'#2196F3'Primary chart color
zoom-enabledbooleanfalseEnable zoom controls
default-xstring-Default X-axis field from JSON
default-ystring-Default Y-axis field from JSON
themestring'light'Color theme (light/dark)

Interactive Features

  • Fullscreen Mode: Click expand button or press ESC to exit
  • Zoom: Mouse wheel or pinch gesture
  • Pan: Click and drag on chart area
  • Reset View: Double-click to reset zoom/pan

Dependencies

  • Chart.js
  • chartjs-plugin-datalabels
  • chartjs-plugin-zoom

Contributing

Feel free to submit issues and pull requests on GitHub.

Author

MohaNed Ghawar

License

MIT License