blob: e4ea8c7502af2f9311b9d9adc67fc18519287a0f (
plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
define [
'backbone.marionette'
'templates/component-viewer'
'component-viewer/coverage-popup'
'common/handlebars-extensions'
], (
Marionette
Templates
CoveragePopupView
) ->
$ = jQuery
class SourceView extends Marionette.ItemView
template: Templates['source']
events:
'click .coverage a': 'showCoveragePopup'
onRender: ->
@delegateEvents()
showSpinner: ->
@$el.html '<div style="padding: 10px;"><i class="spinner"></i></div>'
hideCoverage: ->
@$('.coverage').hide()
showCoveragePopup: (e) ->
e.stopPropagation()
$('body').click()
popup = new CoveragePopupView
triggerEl: $(e.currentTarget).closest('td')
main: @options.main
popup.render()
serializeData: ->
source = @model.get 'source'
coverage = @model.get 'coverage'
coverageConditions = @model.get 'coverageConditions'
conditions = @model.get 'conditions'
source = _.map source, (code, line) ->
lineCoverage = coverage? && coverage[line]? && coverage[line]
lineCoverageConditions = coverageConditions? && coverageConditions[line]? && coverageConditions[line]
lineConditions = conditions? && conditions[line]? && conditions[line]
lineCoverageStatus = lineCoverage? && if lineCoverage > 0 then 'green' else 'red'
lineCoverageConditionsStatus = null
if lineCoverageConditions? && conditions?
lineCoverageConditionsStatus = 'red' if lineCoverageConditions == 0
lineCoverageConditionsStatus = 'orange' if lineCoverageConditions > 0 && lineCoverageConditions < lineConditions
lineCoverageConditionsStatus = 'green' if lineCoverageConditions == lineConditions
lineNumber: line
code: code
coverage: lineCoverage
coverageStatus: lineCoverageStatus
coverageConditions: lineCoverageConditions
conditions: lineConditions
coverageConditionsStatus: lineCoverageConditionsStatus
source: source
|