codecombat/app/templates/editor/campaign/campaign-level-view.jade
Matt Lott 7fda59ee2d Update campaign editor analytics
Adding help click counts and help videos start counts to level view
analytics.
2015-01-20 10:43:02 -08:00

111 lines
3.7 KiB
Text

.jumbotron
.button.close(type="button", aria-hidden="true") ×
h1
span.spr= level.get('name')
a(href="/editor/level/#{level.get('slug')}", target="_blank") (edit)
p= level.get('description')
h4 Completion Rates
if levelCompletions
table.table.table-bordered.table-condensed.table-hover(style='font-size:10pt')
thead
tr
td Date
td Started
td Finished
td Completion %
if levelHelps && levelHelps.length === levelCompletions.length
td Helps Clicked
td Helps / Started
td Help Videos
td Videos / Started
tbody
- for (var i = 0; i < levelCompletions.length; i++)
tr
td= levelCompletions[i].created
td= levelCompletions[i].started
td= levelCompletions[i].finished
td= levelCompletions[i].rate
if levelHelps && levelHelps.length === levelCompletions.length
td= levelHelps[i].alertHelps + levelHelps[i].paletteHelps
td= ((levelHelps[i].alertHelps + levelHelps[i].paletteHelps) / levelCompletions[i].started).toFixed(2)
td= levelHelps[i].videoStarts
td= (levelHelps[i].videoStarts / levelCompletions[i].started).toFixed(2)
else
div Loading...
h4 Average Playtimes
if levelPlaytimes
table.table.table-bordered.table-condensed.table-hover(style='font-size:10pt')
thead
tr
td Date
td Average (s)
tbody
- for (var i = 0; i < levelPlaytimes.length; i++)
tr
td= levelPlaytimes[i].created
td= levelPlaytimes[i].average.toFixed(2)
else
div Loading...
h4 Common Problems
if commonProblems
if commonProblems.startDay
if commonProblems.endDay
div(style='font-size:10pt') #{commonProblems.startDay} to #{commonProblems.endDay}
else
div(style='font-size:10pt') #{commonProblems.startDay} to today
table.table.table-bordered.table-condensed.table-hover(style='font-size:10pt')
thead
tr
td Language
td Error Message
td Error Hint
td Count
tbody
- for (var i = 0; i < commonProblems.length && i < 20; i++)
tr
td= commonProblems[i].language
td= commonProblems[i].message
td= commonProblems[i].hint
td= commonProblems[i].count
else
div Loading...
h4 Recent Sessions
if recentSessions
div(style='font-size:10pt') Latest #{recentSessions.length} sessions for this level
div(style='font-size:10pt') Double-click row to open player and session
table.table.table-bordered.table-condensed.table-hover(style='font-size:10pt')
thead
tr
td Session ID
td Player
td Code Language
td Playtime
td Complete
td Changed
tbody
- for (var i = 0; i < recentSessions.length; i++)
tr.recent-session(data-player-id=recentSessions[i].creator, data-session-id=recentSessions[i]._id)
td= recentSessions[i]._id
td= recentSessions[i].creatorName || recentSessions[i].creator
td= recentSessions[i].codeLanguage
td= recentSessions[i].playtime
if recentSessions[i].state && recentSessions[i].state.complete
td= recentSessions[i].state.complete
else
td false
td= recentSessions[i].changed
else
div Loading...
if level.get('tasks')
.tasks
h3 Tasks (read only)
ul.list-unstyled
for task in level.get('tasks')
li
input(type='checkbox', checked=task.complete)
span.spl= task.name