mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-03 08:21:07 +00:00
challenges: slightly prettier graphs (i'm still not satisfied, but later)
This commit is contained in:
parent
fa0813dc9e
commit
a4e6025185
2 changed files with 28 additions and 18 deletions
|
|
@ -6,19 +6,24 @@ module.exports.app = (appExports, model) ->
|
|||
user = model.at '_user'
|
||||
|
||||
appExports.renderChallengeGraphs = ->
|
||||
challenges = model.get('_party.challenges')
|
||||
_.each model.get('_guilds'), (g) -> challenges.concat(g.challenges)
|
||||
_.each challenges, (chal) ->
|
||||
_.each ['habit','daily','todo'], (type) ->
|
||||
_.each chal["#{type}s"], (task) ->
|
||||
_.each chal.users, (member) ->
|
||||
if (history = member["#{type}s"][task.id].history) and !!history
|
||||
data = google.visualization.arrayToDataTable _.map(history, (h)-> [h.date,h.value])
|
||||
options =
|
||||
backgroundColor: { fill:'transparent' }
|
||||
axisTitlesPosition: 'none'
|
||||
chart = new google.visualization.LineChart $(".challenge-#{chal.id}-member-#{member.id}-history-#{task.id}")[0]
|
||||
chart.draw(data, options)
|
||||
_.each model.get('groups'), (g) ->
|
||||
_.each g.challenges, (chal) ->
|
||||
_.each ['habit','daily','todo'], (type) ->
|
||||
_.each chal["#{type}s"], (task) ->
|
||||
_.each chal.users, (member) ->
|
||||
if (history = member["#{type}s"][task.id].history) and !!history
|
||||
data = google.visualization.arrayToDataTable _.map(history, (h)-> [h.date,h.value])
|
||||
options =
|
||||
backgroundColor: { fill:'transparent' }
|
||||
width: 150
|
||||
height: 50
|
||||
chartArea: width: '80%', height: '80%'
|
||||
axisTitlePosition: 'none'
|
||||
legend: position: 'bottom'
|
||||
hAxis: gridlines: color: 'transparent' # since you can't seem to *remove* gridlines...
|
||||
vAxis: gridlines: color: 'transparent'
|
||||
chart = new google.visualization.LineChart $(".challenge-#{chal.id}-member-#{member.id}-history-#{task.id}")[0]
|
||||
chart.draw(data, options)
|
||||
|
||||
appExports.challengeCreate = (e,el) ->
|
||||
[type, gid] = [$(el).attr('data-type'), $(el).attr('data-gid')]
|
||||
|
|
@ -36,7 +41,6 @@ module.exports.app = (appExports, model) ->
|
|||
|
||||
appExports.challengeSave = ->
|
||||
gid = model.get('_challenge.new.group.id')
|
||||
debugger
|
||||
model.unshift "groups.#{gid}.challenges", model.get('_challenge.new'), ->
|
||||
browser.growlNotification('Challenge Created','success')
|
||||
challengeDiscard()
|
||||
|
|
|
|||
|
|
@ -122,12 +122,18 @@
|
|||
|
||||
<stats:>
|
||||
<h5>{@header}</h5>
|
||||
<div>
|
||||
{#each @challenge[@taskType]s as :task}
|
||||
<div>
|
||||
<strong>{:task.text}</strong>: {round(@member[@taskType]s[:task.id].value)}
|
||||
<div style='height:75px' class="challenge-{{@challenge.id}}-member-{{@member.id}}-history-{{:task.id}}"></div>
|
||||
</div>
|
||||
<table><tr>
|
||||
<td>
|
||||
<strong>{:task.text}</strong>: {round(@member[@taskType]s[:task.id].value)}
|
||||
</td>
|
||||
<td>
|
||||
<div style='margin-left: 10px' class="challenge-{{@challenge.id}}-member-{{@member.id}}-history-{{:task.id}}"></div>
|
||||
</td>
|
||||
</tr></table>
|
||||
{/}
|
||||
</div>
|
||||
|
||||
<create-button:>
|
||||
<a x-bind='click:challengeCreate' class='btn btn-large btn-success' data-type={{@type}} data-gid={{@gid}} >Create {{@text}} Challenge</a>
|
||||
|
|
|
|||
Loading…
Reference in a new issue