← 返回首页
fix: pkgs via npm, not CDN; alt-drag for zoom (#10795) · ietf-tools/datatracker@65cd4ab · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

Commit 65cd4ab

Browse files
fix: pkgs via npm, not CDN; alt-drag for zoom (#10795)
1 parent b816bd6 commit 65cd4ab

7 files changed

Lines changed: 181 additions & 10 deletions

File tree

‎.pnp.cjs‎

Lines changed: 102 additions & 0 deletions
Load DiffSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎ietf/static/js/meeting_stats.js‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
// Copyright The IETF Trust 2026, All Rights Reserved
2+
import Chart from 'chart.js/auto'
3+
import autocolors from 'chartjs-plugin-autocolors'
4+
25
document.addEventListener('DOMContentLoaded', () => {
3-
// Need to use autocolors plug-in else all slices are gray...
4-
const autocolors = window['chartjs-plugin-autocolors']
56
Chart.register(autocolors)
67
// ── Safely parse JSON data injected from Django view ──
78
const totalChartData = JSON.parse(document.getElementById('total-chart-data').textContent)

‎ietf/static/js/meeting_timeline.js‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
// Copyright The IETF Trust 2026, All Rights Reserved
2+
import Chart from 'chart.js/auto'
3+
import zoomPlugin from 'chartjs-plugin-zoom'
4+
25
document.addEventListener('DOMContentLoaded', () => {
6+
Chart.register(zoomPlugin) // enable the zoom plugin
7+
38
// ── Safely parse JSON data injected from Django view ──
49
const totalChartData = JSON.parse(document.getElementById('total-chart-data').textContent)
510
const inPersonChartData = JSON.parse(document.getElementById('in-person-chart-data').textContent)
@@ -50,7 +55,10 @@ document.addEventListener('DOMContentLoaded', () => {
5055
zoom: {
5156
wheel: { enabled: true }, // scroll to zoom
5257
pinch: { enabled: true }, // pinch on mobile
53-
drag: { enabled: true }, // drag to select range
58+
drag: { // drag to select range
59+
enabled: true,
60+
modifierKey: 'alt'
61+
},
5462
mode: 'xy', // zoom X-axis and Y-axis
5563
},
5664
pan: {

‎ietf/templates/stats/meeting_stats.html‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
{% origin %}
44
{% load ietf_filters static django_bootstrap5 %}
55
{% block js %}
6-
<!-- Chart.js CDN -->
7-
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
8-
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-autocolors"></script>
96
{{ total_chart_data|json_script:"total-chart-data" }}
107
{{ in_person_chart_data|json_script:"in-person-chart-data" }}
118
<script src="{% static 'ietf/js/meeting_stats.js' %}"></script>

‎ietf/templates/stats/meetings_timeline.html‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33
{% origin %}
44
{% load ietf_filters static django_bootstrap5 %}
55
{% block js %}
6-
<!-- Chart.js CDN -->
7-
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
8-
<script src="https://cdn.jsdelivr.net/npm/hammerjs@2.0.8"></script>
9-
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-zoom"></script>
106
{{ total_chart_data|json_script:"total-chart-data" }}
117
{{ in_person_chart_data|json_script:"in-person-chart-data" }}
128
{{ stats_type|json_script:"stats-type-data" }}

‎package.json‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,16 @@
1616
"@fullcalendar/luxon3": "6.1.11",
1717
"@fullcalendar/timegrid": "6.1.11",
1818
"@fullcalendar/vue3": "6.1.11",
19+
"@kurkle/color": "0.3.1",
1920
"@popperjs/core": "2.11.8",
2021
"@twuni/emojify": "1.0.2",
2122
"bootstrap": "5.3.3",
2223
"bootstrap-icons": "1.11.3",
2324
"browser-fs-access": "0.35.0",
2425
"caniuse-lite": "1.0.30001603",
26+
"chart.js": "^4.5.1",
27+
"chartjs-plugin-autocolors": "0.3.1",
28+
"chartjs-plugin-zoom": "2.2.0",
2529
"d3": "7.9.0",
2630
"file-saver": "2.0.5",
2731
"highcharts": "11.4.0",

‎yarn.lock‎

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,20 @@ __metadata:
532532
languageName: node
533533
linkType: hard
534534

535+
"@kurkle/color@npm:0.3.1":
536+
version: 0.3.1
537+
resolution: "@kurkle/color@npm:0.3.1"
538+
checksum: e6be5c081bf5acfd4a1803dcd5a0733caf450e73148d5f02dc536b1ff0c60c959c23472a26c9c3c6c78ada04fb6a53c9202db9b2de8ea56f6eeec381f9cc3a1a
539+
languageName: node
540+
linkType: hard
541+
542+
"@kurkle/color@npm:^0.3.0":
543+
version: 0.3.4
544+
resolution: "@kurkle/color@npm:0.3.4"
545+
checksum: b95c6abe0241ba1745b3c84de3b464296b95ce577110b54f46e6c6dcc9a0966491533df43812bd6c66f92cf818e385d1390b280cd5851d4afb52fc37f8a6c0b9
546+
languageName: node
547+
linkType: hard
548+
535549
"@lezer/common@npm:^0.15.0, @lezer/common@npm:^0.15.7":
536550
version: 0.15.12
537551
resolution: "@lezer/common@npm:0.15.12"
@@ -1944,6 +1958,13 @@ __metadata:
19441958
languageName: node
19451959
linkType: hard
19461960

1961+
"@types/hammerjs@npm:^2.0.45":
1962+
version: 2.0.46
1963+
resolution: "@types/hammerjs@npm:2.0.46"
1964+
checksum: caba6ec788d19905c71092670b58514b3d1f5eee5382bf9205e8df688d51e7857b7994e2dd7aed57fac8977bdf0e456d67fbaf23440a4385b8ce25fe2af1ec39
1965+
languageName: node
1966+
linkType: hard
1967+
19471968
"@types/istanbul-lib-coverage@npm:^2.0.1":
19481969
version: 2.0.4
19491970
resolution: "@types/istanbul-lib-coverage@npm:2.0.4"
@@ -2728,6 +2749,37 @@ browserlist@latest:
27282749
languageName: node
27292750
linkType: hard
27302751

2752+
"chart.js@npm:^4.5.1":
2753+
version: 4.5.1
2754+
resolution: "chart.js@npm:4.5.1"
2755+
dependencies:
2756+
"@kurkle/color": ^0.3.0
2757+
checksum: 34b35b373642994b2adac197e91363625930530e29fc1baa6dbb411b5e1295f9f6572922003a0224a21a3019aec916567c1ed00c33b1373081f189fc188e5a7b
2758+
languageName: node
2759+
linkType: hard
2760+
2761+
"chartjs-plugin-autocolors@npm:0.3.1":
2762+
version: 0.3.1
2763+
resolution: "chartjs-plugin-autocolors@npm:0.3.1"
2764+
peerDependencies:
2765+
"@kurkle/color": ^0.3.1
2766+
chart.js: ">=2"
2767+
checksum: de4f87b5bb3e042aa1d3de3886425bbd2340a55ca455b645569d0def602079833182ef214e205ff4466fb5ab1e708761cf37eb51ab3cd622284242c05ed94128
2768+
languageName: node
2769+
linkType: hard
2770+
2771+
"chartjs-plugin-zoom@npm:2.2.0":
2772+
version: 2.2.0
2773+
resolution: "chartjs-plugin-zoom@npm:2.2.0"
2774+
dependencies:
2775+
"@types/hammerjs": ^2.0.45
2776+
hammerjs: ^2.0.8
2777+
peerDependencies:
2778+
chart.js: ">=3.2.0"
2779+
checksum: a540e3834082eeb4dedb5ec6ca381f94d7e101075c19a7b65f2a4cd2d12685b3a416e718c9cf7145799802874fb397f69b71a955dfc56b035946cde4d1eb6c8e
2780+
languageName: node
2781+
linkType: hard
2782+
27312783
"chokidar@npm:>=3.0.0 <4.0.0":
27322784
version: 3.5.3
27332785
resolution: "chokidar@npm:3.5.3"
@@ -4616,6 +4668,13 @@ browserlist@latest:
46164668
languageName: node
46174669
linkType: hard
46184670

4671+
"hammerjs@npm:^2.0.8":
4672+
version: 2.0.8
4673+
resolution: "hammerjs@npm:2.0.8"
4674+
checksum: b092da7d1565a165d7edb53ef0ce212837a8b11f897aa3cf81a7818b66686b0ab3f4747fbce8fc8a41d1376594639ce3a054b0fd4889ca8b5b136a29ca500e27
4675+
languageName: node
4676+
linkType: hard
4677+
46194678
"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2":
46204679
version: 1.0.2
46214680
resolution: "has-bigints@npm:1.0.2"
@@ -7030,6 +7089,7 @@ browserlist@latest:
70307089
"@fullcalendar/luxon3": 6.1.11
70317090
"@fullcalendar/timegrid": 6.1.11
70327091
"@fullcalendar/vue3": 6.1.11
7092+
"@kurkle/color": 0.3.1
70337093
"@parcel/optimizer-data-url": 2.12.0
70347094
"@parcel/transformer-inline-string": 2.12.0
70357095
"@parcel/transformer-sass": 2.12.0
@@ -7044,6 +7104,9 @@ browserlist@latest:
70447104
browserlist: latest
70457105
c8: 9.1.0
70467106
caniuse-lite: 1.0.30001603
7107+
chart.js: ^4.5.1
7108+
chartjs-plugin-autocolors: 0.3.1
7109+
chartjs-plugin-zoom: 2.2.0
70477110
d3: 7.9.0
70487111
eslint: 8.57.0
70497112
eslint-config-standard: 17.1.0

0 commit comments

Comments
 (0)

Footer

© 2026 GitHub, Inc.