| | |
| | | {{- $data := index $.Page.Params $datasetKey }} |
| | | {{- $dataURL := $data.fileLink }} |
| | | {{- $separator := "," }} |
| | | {{- $rawData := resources.Get $dataURL }} |
| | | {{- $dataFile := $rawData | transform.Unmarshal (dict "delimiter" $separator) }} |
| | | {{- $dataFile := unmarshal (dict "delimiter" $separator) (readFile $dataURL) }} |
| | | |
| | | {{- $dataCompactData := dict -}} |
| | | {{- $activeColumn := sub $data.baseChartOn 1 }} |
| | | {{- with .Get 2 }} |
| | | {{- $activeColumn = sub (int .) 1 }} |
| | | {{- $activeColumn = sub (int .) 1 }} |
| | | {{- end }} |
| | | {{- range $dataFile -}} |
| | | {{- $value := trim (index . $activeColumn) " " -}} |
| | | {{- with index $dataCompactData $value -}} |
| | | {{- $dataCompactData = merge $dataCompactData (dict $value (add 1 .)) -}} |
| | | {{- else -}} |
| | | {{- $dataCompactData = merge $dataCompactData (dict $value 1) -}} |
| | | {{- end -}} |
| | | {{- $value := trim (index . $activeColumn) " " -}} |
| | | {{- with index $dataCompactData $value -}} |
| | | {{- $dataCompactData = merge $dataCompactData (dict $value (add 1 .)) -}} |
| | | {{- else -}} |
| | | {{- $dataCompactData = merge $dataCompactData (dict $value 1) -}} |
| | | {{- end -}} |
| | | {{- end -}} |
| | | |
| | | {{- $labels := slice }} |
| | | {{- range $key, $value := $dataCompactData }} |
| | | {{- $labels = append $key $labels }} |
| | | {{- $labels = append $key $labels }} |
| | | {{- end }} |
| | | |
| | | {{- if in $charts "table" }} |
| | | <script src = '{{ absURL "js/w3.js" }}'></script> |
| | | <script src='{{ absURL "js/w3.js" }}'></script> |
| | | <div class="table_wrap"> |
| | | {{- if not (in $charts "noFilter") }} |
| | | <p> |
| | | <input oninput="w3.filterHTML('#chartTable', '.row', this.value)" class="form_search search_field forminput" placeholder="Filter Table Values"> |
| | | <input oninput="w3.filterHTML('#chartTable', '.row', this.value)" class="form_search search_field forminput" |
| | | placeholder="Filter Table Values"> |
| | | </p> |
| | | {{- end }} |
| | | <table id="chartTable"> |
| | | <thead> |
| | | {{- range $index, $title := $data.columnTitles }} |
| | | <th onclick="w3.sortHTML('#chartTable', '.row', 'td:nth-child({{ add $index 1 }})')">{{ $title }} {{ partial "sprite" (dict "icon" "sort") . }}</th> |
| | | <th onclick="w3.sortHTML('#chartTable', '.row', 'td:nth-child({{ add $index 1 }})')">{{ $title }} {{ partial |
| | | "sprite" (dict "icon" "sort") . }}</th> |
| | | {{- end }} |
| | | </thead> |
| | | |
| | | {{- range $dataFile }} |
| | | {{- $entry := . }} |
| | | {{- $entry := . }} |
| | | <tr class="row"> |
| | | {{- range $index, $_ := $data.columnTitles }} |
| | | <td>{{ index $entry $index }}</td> |
| | |
| | | </div> |
| | | {{- end }} |
| | | |
| | | {{- $labels = split (delimit $labels ",") "," }} |
| | | {{- $dataTally := split (delimit $dataCompactData ",") "," }} |
| | | {{- $labels = split (delimit $labels ",") "," }} |
| | | {{- $dataTally := split (delimit $dataCompactData ",") "," }} |
| | | |
| | | <script src='{{ absURL "js/chart.min.js" }}'></script> |
| | | <script> |
| | | Chart.platform.disableCSSInjection = true; |
| | | function getCanvas(id){ |
| | | function getCanvas(id) { |
| | | return document.getElementById(id) |
| | | }; |
| | | var dataTally = {{ $dataTally }}.map(value => parseInt(value)); |
| | | var labels = {{ $labels }}; |
| | | var data = { |
| | | var dataTally = {{$dataTally}}.map(value => parseInt(value)); |
| | | var labels = {{$labels}}; |
| | | var data = { |
| | | datasets: [{ |
| | | data: dataTally, |
| | | backgroundColor: {{ $data.colors }}, |
| | | label: {{ $data.title }} |
| | | backgroundColor: {{$data.colors}}, |
| | | label: {{$data.title}} |
| | | }], |
| | | |
| | | labels: labels |
| | | labels: labels |
| | | }; |
| | | var options = {}; |
| | | </script> |
| | |
| | | data: data, |
| | | options: { |
| | | "scales": { |
| | | "yAxes": [{ |
| | | "ticks": { |
| | | "beginAtZero": true |
| | | } |
| | | }] |
| | | } |
| | | "yAxes": [{ |
| | | "ticks": { |
| | | "beginAtZero": true |
| | | } |
| | | }] |
| | | } |
| | | } |
| | | }); |
| | | </script> |
| | |
| | | options: options |
| | | }); |
| | | </script> |
| | | {{- end }} |
| | | {{- end }} |