Feat: Use selective import, improve tooltip UI

This commit is contained in:
Nelson Chan 2021-08-12 00:31:21 +08:00
parent 71bec74081
commit 6ed1d8cb2f

View file

@ -3,7 +3,7 @@
</template> </template>
<script> <script>
import { Chart, registerables } from "chart.js"; import { BarController, BarElement, Chart, Filler, LinearScale, LineController, LineElement, PointElement, TimeScale, Tooltip } from "chart.js";
import dayjs from "dayjs"; import dayjs from "dayjs";
import utc from "dayjs/plugin/utc"; import utc from "dayjs/plugin/utc";
import timezone from "dayjs/plugin/timezone"; import timezone from "dayjs/plugin/timezone";
@ -12,7 +12,7 @@ import { LineChart } from "vue-chart-3";
dayjs.extend(utc); dayjs.extend(utc);
dayjs.extend(timezone); dayjs.extend(timezone);
Chart.register(...registerables); Chart.register(LineController, BarController, LineElement, PointElement, TimeScale, BarElement, LinearScale, Tooltip, Filler);
export default { export default {
components: { LineChart }, components: { LineChart },
@ -86,9 +86,17 @@ export default {
bounds: "ticks", bounds: "ticks",
plugins: { plugins: {
tooltip: { tooltip: {
mode: "nearest",
intersect: false,
padding: 10,
filter: function (tooltipItem) { filter: function (tooltipItem) {
return tooltipItem.datasetIndex === 0; return tooltipItem.datasetIndex === 0;
}, },
callbacks: {
label: (context) => {
return ` ${new Intl.NumberFormat().format(context.parsed.y)} ms`
},
}
}, },
legend: { legend: {
display: false, display: false,