📊 Interactive JavaScript Charts built on SVG
275 matches across 5 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 71 | const line = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 94 | const line = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 118 | const baseLine = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 140 | const offsetLine = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 163 | chart.w.globals.dom.baseEl.querySelector('.custom-xaxis-line') |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 171 | const parent = chart.w.globals.dom.baseEl.querySelector('.apexcharts-svg') |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 205 | const rects = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 227 | const rect = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 250 | const rect = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 274 | chart.w.globals.dom.baseEl.querySelector('.custom-xaxis-rect') |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 297 | const label = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 318 | const topLabel = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 336 | const bottomLabel = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 369 | const label = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 397 | const label = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 419 | const label = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 441 | const group = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 460 | const lines = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 478 | const lines = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 494 | const group = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 527 | const group = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 561 | const group = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 577 | const parent = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 610 | const line = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 629 | const labels = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/xaxis-annotations.spec.js | 654 | const line = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/annotation-helpers.spec.js | 66 | const xAnno = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/annotation-helpers.spec.js | 109 | const annoEl = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/annotation-helpers.spec.js | 143 | const annoEl = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 42 | const marker = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 67 | const marker = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 87 | const markers = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/points-annotations.spec.js | 123 | const label = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 146 | const labels = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/points-annotations.spec.js | 171 | const label = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 204 | const group = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 231 | const groups = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/points-annotations.spec.js | 265 | const img = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 292 | const images = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/points-annotations.spec.js | 321 | const marker = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 343 | const parent = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 377 | const parent = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/points-annotations.spec.js | 409 | const group = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 38 | const line = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 62 | const el = chart.w.globals.dom.baseEl.querySelector('.my-yaxis-line') |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 80 | const lines = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 110 | const rect = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 133 | const rect = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 156 | const el = chart.w.globals.dom.baseEl.querySelector('.my-yaxis-rect') |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 176 | const rect = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 213 | const label = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 236 | const labels = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 260 | const label = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/yaxis-annotations.spec.js | 279 | const group = chart.w.globals.dom.baseEl.querySelector( |
| CRITICAL | tests/unit/annotations.spec.js | 100 | const xAxisAnnotations = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/annotations.spec.js | 103 | const yAxisAnnotations = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/annotations.spec.js | 118 | const annotations = chart.w.globals.dom.baseEl.querySelectorAll( |
| CRITICAL | tests/unit/annotations.spec.js | 150 | const images = chart.w.globals.dom.baseEl.querySelectorAll('image') |
| CRITICAL | tests/unit/annotations.spec.js | 172 | const images = chart.w.globals.dom.baseEl.querySelectorAll('image') |
| CRITICAL | tests/unit/annotations.spec.js | 198 | chart.w.globals.dom.baseEl.querySelectorAll('.apexcharts-text') |
| 30 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tsconfig.json | 3 | // ── Validation mode (no output files) ───────────────────────────────────── |
| MEDIUM | tsconfig.json | 9 | // ── Strictness — full strict mode ──────────────────── |
| MEDIUM | tsconfig.json | 12 | // ── Module resolution ────────────────────────────────────────────────────── |
| MEDIUM | tsconfig.json | 17 | // ── Type resolution ──────────────────────────────────────────────────────── |
| MEDIUM | tsconfig.json | 23 | // ── Paths ────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 20 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 23 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 49 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 51 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 94 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 96 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 159 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 161 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 206 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 208 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 269 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-animation.spec.js | 271 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-math.spec.js | 11 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-math.spec.js | 13 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-math.spec.js | 93 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-math.spec.js | 95 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-math.spec.js | 228 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/svg-math.spec.js | 230 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 5 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 16 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 30 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 32 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 135 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 137 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 181 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 183 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 250 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 252 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 297 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 302 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 531 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/timescale.spec.js | 536 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/monotone-cubic.spec.js | 11 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/monotone-cubic.spec.js | 13 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/monotone-cubic.spec.js | 78 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/monotone-cubic.spec.js | 80 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/monotone-cubic.spec.js | 131 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/monotone-cubic.spec.js | 133 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/monotone-cubic.spec.js | 184 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/monotone-cubic.spec.js | 186 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 16 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 18 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 103 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 105 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 143 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 145 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 166 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 168 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 241 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/path-morphing.spec.js | 243 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/scales.spec.js | 16 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/scales.spec.js | 18 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/scales.spec.js | 143 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/scales.spec.js | 145 | // ───────────────────────────────────────────────────────────────────────────── |
| MEDIUM | tests/unit/scales.spec.js | 209 | // ───────────────────────────────────────────────────────────────────────────── |
| 83 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | samples/vanilla-js/scatter/scatter-datetime.html | 42 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/vanilla-js/line/syncing-charts.html | 101 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/vanilla-js/line/brush-charts.html | 52 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | …mples/vanilla-js/dashboards/realtime/assets/scripts.js | 61 | function generateMinuteWiseTimeSeries(baseval, count, yrange) { |
| LOW | …s/vanilla-js/candlestick/candlestick-parsing-data.html | 86 | function generateSingleCandlestick( |
| LOW | samples/vue/scatter/scatter-datetime.html | 44 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/vue/line/syncing-charts.html | 103 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/vue/line/brush-charts.html | 54 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/vue/candlestick/candlestick-parsing-data.html | 88 | function generateSingleCandlestick( |
| LOW | samples/source/scatter/scatter-datetime.xml | 21 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/source/line/brush-charts.xml | 31 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/source/line/syncing-charts.xml | 80 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/source/dashboards/realtime/assets/scripts.js | 61 | function generateMinuteWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/source/candlestick/candlestick-parsing-data.xml | 59 | function generateSingleCandlestick(date, previousClose, minPrice = 120, maxPrice = 180) { |
| LOW | samples/react/scatter/scatter-datetime.html | 47 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/react/line/syncing-charts.html | 106 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/react/line/brush-charts.html | 57 | function generateDayWiseTimeSeries(baseval, count, yrange) { |
| LOW | samples/react/candlestick/candlestick-parsing-data.html | 91 | function generateSingleCandlestick( |
| LOW | src/modules/Series.js | 97 | function iterateOnAllCollapsedSeries(series) { |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | jest.config.js | 41 | // The root directory that Jest should scan for tests and modules within |
| LOW | tests/unit/timescale.spec.js | 1 | import TimeScale from '../../src/modules/TimeScale' |
| LOW | tests/e2e/samples.js | 441 | // const attrCY = await paths.$$eval('circle', (nodes) => |
| LOW | samples/source/radialBar/stroked-gauge.xml | 61 | // window.setInterval(function () { |
| LOW | .github/workflows/codeql-analysis.yml | 1 | # For most projects, this workflow file will not need changing; you simply need |
| LOW | src/types/internal.d.ts | 441 | axisFlags: AxisFlags |
| LOW | src/modules/Scales.js | 181 | // gcdStep is a multiple of range because crudeStep is a multiple. |
| LOW | src/modules/Scales.js | 341 | // possible products of those factors in order from smallest to biggest, |
| LOW | src/modules/CoreUtils.js | 161 | |
| LOW | src/modules/CoreUtils.js | 181 | // show: false. If the chart is stacked, it's assumed that series 1..4 are |
| LOW | src/modules/ZoomPanSelection.js | 941 | |
| LOW | src/modules/Base.js | 141 | xAxisGroupLabelsHeight: 0, |
| LOW | src/modules/settings/Options.js | 261 | }, |
| LOW | src/modules/settings/Options.js | 601 | shape: 'arc', |
| LOW | src/modules/tooltip/Tooltip.js | 241 | // the rest of the glass theme (border, shadow) still applies cleanly. |
| LOW | src/modules/tooltip/Utils.js | 201 | |
| LOW | src/modules/accessibility/KeyboardNavigation.js | 161 | if (!this._isNavEnabled()) return |
| LOW | src/modules/accessibility/KeyboardNavigation.js | 741 | ttCtx.tooltipUtil.isInitialSeriesSameLen() |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/unit/responsive.spec.js | 177 | // Step 1: Activate a breakpoint (viewport < 1024) |
| LOW | tests/unit/responsive.spec.js | 184 | // Step 2: Resize above the breakpoint (viewport > 1024) |
| LOW | tests/unit/responsive.spec.js | 322 | // Step 1: Activate breakpoint |
| LOW | tests/unit/responsive.spec.js | 328 | // Step 2: Simulate series update (user calls updateSeries) |
| LOW | tests/unit/responsive.spec.js | 331 | // Step 3: Resize above breakpoint — config resets but series should be preserved |