/
entry.coffee
51 lines (51 loc) · 1.28 KB
/
entry.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class App.Views.Entries.Entry extends Backbone.View
className: 'entry'
events:
'click': 'select_and_toggle'
initialize: ->
@model.bind 'change', @render
@model.bind 'unselect', @unselect
@model.bind 'select', @select
@model.bind 'open', @toggle
@render()
select: =>
$(@el).addClass 'selected'
select_and_toggle: =>
@select()
@toggle()
unselect: =>
$(@el).removeClass 'selected'
render: =>
@el_template 'entries/entry'
@color_ms()
@color_marker()
@backtrace()
@lines()
backtrace:->
backtrace = @model.get 'backtrace'
if backtrace
el = $(@el).find '.backtrace_lines'
@collect 'backtrace_lines', el: el
@collection.reset backtrace.lines
lines:->
lines = @model.get 'lines'
if lines
el = $(@el).find '.lines'
@collect 'lines', el: el
@collection.reset lines
color_marker:->
backtrace = @model.get 'backtrace'
c = if backtrace then 'error'
else 'good'
e = $(@el).find '.marker'
e.addClass c
color_ms:->
ms = @model.get 'duration'
ms = parseInt ms
c = if ms < 500 then 'fast'
else if ms < 1500 then 'normal'
else 'slow'
e = $(@el).find '.ms'
e.addClass c
toggle:=>
$(@el).toggleClass 'open'