Refactor heatmap to vue component (#5401)
This commit is contained in:
parent
c03a9b3e42
commit
e09fe48773
18 changed files with 258 additions and 384 deletions
|
@ -49,28 +49,6 @@
|
|||
<script src="https://www.google.com/recaptcha/api.js" async></script>
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{if .EnableHeatmap}}
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/moment/moment.min.js" charset="utf-8"></script>
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/d3/d3.v4.min.js" charset="utf-8"></script>
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/calendar-heatmap/calendar-heatmap.js" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
$.get( '{{AppSubUrl}}/api/v1/users/{{.HeatmapUser}}/heatmap', function( chartRawData ) {
|
||||
var chartData = [];
|
||||
for (var i = 0; i < chartRawData.length; i++) {
|
||||
chartData[i] = {date: new Date(chartRawData[i].timestamp * 1000), count: chartRawData[i].contributions};
|
||||
}
|
||||
|
||||
$('#loading-heatmap').removeClass('active');
|
||||
|
||||
var heatmap = calendarHeatmap()
|
||||
.data(chartData)
|
||||
.selector('#user-heatmap')
|
||||
.colorRange({{SafeJS HeatmapColorRange}})
|
||||
.tooltipEnabled(true);
|
||||
heatmap();
|
||||
});
|
||||
</script>
|
||||
{{end}}
|
||||
{{if .RequireTribute}}
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/tribute/tribute.min.js"></script>
|
||||
|
||||
|
@ -136,6 +114,13 @@
|
|||
<!-- JavaScript -->
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.js"></script>
|
||||
<script src="{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}"></script>
|
||||
{{if .EnableHeatmap}}
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/moment/moment.min.js" charset="utf-8"></script>
|
||||
<script src="{{AppSubUrl}}/vendor/plugins/vue-calendar-heatmap/vue-calendar-heatmap.browser.js" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
initHeatmap('user-heatmap', '{{.HeatmapUser}}');
|
||||
</script>
|
||||
{{end}}
|
||||
{{template "custom/footer" .}}
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.css">
|
||||
{{end}}
|
||||
{{if .EnableHeatmap}}
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/calendar-heatmap/calendar-heatmap.css">
|
||||
<link rel="stylesheet" href="{{AppSubUrl}}/vendor/plugins/vue-calendar-heatmap/vue-calendar-heatmap.css">
|
||||
{{end}}
|
||||
<style class="list-search-style"></style>
|
||||
|
||||
|
|
|
@ -6,8 +6,13 @@
|
|||
<div class="ui mobile reversed stackable grid">
|
||||
<div class="ten wide column">
|
||||
{{if .EnableHeatmap}}
|
||||
<div class="ui active centered inline indeterminate text loader" id="loading-heatmap">{{.i18n.Tr "user.heatmap.loading"}}</div>
|
||||
<div id="user-heatmap"></div>
|
||||
<div id="user-heatmap" style="padding-right: 40px">
|
||||
<activity-heatmap :locale="locale" :suburl="suburl" :user="heatmapUser">
|
||||
<div slot="loading">
|
||||
<div class="ui active centered inline indeterminate text loader" id="loading-heatmap">{{.i18n.Tr "user.heatmap.loading"}}</div>
|
||||
</div>
|
||||
</activity-heatmap>
|
||||
</div>
|
||||
<div class="ui divider"></div>
|
||||
{{end}}
|
||||
{{template "user/dashboard/feeds" .}}
|
||||
|
|
|
@ -96,8 +96,13 @@
|
|||
|
||||
{{if eq .TabName "activity"}}
|
||||
{{if .EnableHeatmap}}
|
||||
<div class="ui active centered inline indeterminate text loader" id="loading-heatmap">{{.i18n.Tr "user.heatmap.loading"}}</div>
|
||||
<div id="user-heatmap"></div>
|
||||
<div id="user-heatmap" style="padding-right: 40px">
|
||||
<activity-heatmap :locale="locale" :suburl="suburl" :user="heatmapUser">
|
||||
<div slot="loading">
|
||||
<div class="ui active centered inline indeterminate text loader" id="loading-heatmap">{{.i18n.Tr "user.heatmap.loading"}}</div>
|
||||
</div>
|
||||
</activity-heatmap>
|
||||
</div>
|
||||
<div class="ui divider"></div>
|
||||
{{end}}
|
||||
<div class="feeds">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue