@@ -6,56 +6,53 @@ templ debugImport() {
6
6
<div ></div >
7
7
}
8
8
9
- var chartHandle = templ.NewOnceHandle ()
10
9
11
10
templ pieChart (projects []database.ProjectHours ) {
12
11
@ templ.JSONScript (" projectData" , projects)
13
- @ chartHandle.Once () {
14
- <script type =" text/javascript" >
15
- var chartDom = document .getElementById (' piechart' );
16
- if (window .matchMedia && window .matchMedia (' (prefers-color-scheme: dark)' ).matches ) {
17
- // dark mode
18
- var myChart = echarts .init (chartDom, ' dark' );
19
- } else {
20
- var myChart = echarts .init (chartDom);
21
- }
22
- var option;
23
- const importData = JSON .parse (document .getElementById (' projectData' ).textContent );
24
- const dataArray = importData .slice (0 ,- 1 ).map ((project ) => ({' value' : parseFloat (project .workhours ), ' name' : project .name }))
25
- option = {
26
- backgroundColor: " transparent" ,
27
- title: {
28
- text: ' Projects' ,
29
- left: ' center'
30
- },
31
- tooltip: {
32
- trigger: ' item'
33
- },
34
- dataset: [{source: dataArray}],
35
- series: [
36
- {
37
- type: ' pie' ,
38
- radius: ' 60%'
39
- },
40
- {
41
- name: ' Project Hours' ,
12
+ <script type =" text/javascript" >
13
+ var chartDom = document .getElementById (' piechart' );
14
+ if (window .matchMedia && window .matchMedia (' (prefers-color-scheme: dark)' ).matches ) {
15
+ // dark mode
16
+ var myChart = echarts .init (chartDom, ' dark' );
17
+ } else {
18
+ var myChart = echarts .init (chartDom);
19
+ }
20
+ var option;
21
+ var importData = JSON .parse (document .getElementById (' projectData' ).textContent );
22
+ var dataArray = importData .slice (0 ,- 1 ).map ((project ) => ({' value' : parseFloat (project .workhours ), ' name' : project .name }))
23
+ option = {
24
+ backgroundColor: " transparent" ,
25
+ title: {
26
+ text: ' Projects' ,
27
+ left: ' center'
28
+ },
29
+ tooltip: {
30
+ trigger: ' item'
31
+ },
32
+ dataset: [{source: dataArray}],
33
+ series: [
34
+ {
42
35
type: ' pie' ,
43
- radius: ' 60%' ,
44
- label: {position: ' inside' , formatter: ' {d}%' , color: ' black' , fontSize: 18 },
45
- percentPrecision: 0 ,
46
- emphasis: {
47
- label: {show: true },
48
- itemStyle: {
49
- shadowBlur: 10 ,
50
- shadowOffsetX: 0 ,
51
- shadowColor: ' rgba(0, 0, 0, 0.5)'
52
- }
53
- }
36
+ radius: ' 60%'
37
+ },
38
+ {
39
+ name: ' Project Hours' ,
40
+ type: ' pie' ,
41
+ radius: ' 60%' ,
42
+ label: {position: ' inside' , formatter: ' {d}%' , color: ' black' , fontSize: 18 },
43
+ percentPrecision: 0 ,
44
+ emphasis: {
45
+ label: {show: true },
46
+ itemStyle: {
47
+ shadowBlur: 10 ,
48
+ shadowOffsetX: 0 ,
49
+ shadowColor: ' rgba(0, 0, 0, 0.5)'
54
50
}
55
- ]
56
- };
51
+ }
52
+ }
53
+ ]
54
+ };
57
55
58
- option && myChart .setOption (option);
59
- </script >
60
- }
56
+ option && myChart .setOption (option);
57
+ </script >
61
58
}
0 commit comments