'click .js-filter-current-issue': 'filterByCurrentIssue'
'click .js-filter-all-issues': 'filterByAllIssues'
+ 'click .js-filter-rule': 'filterByRule'
'click .js-filter-resolved-issues': 'filterByResolvedIssues'
'click .js-filter-unresolved-issues': 'filterByUnresolvedIssues'
'click .js-filter-false-positive-issues': 'filterByFalsePositiveIssues'
- 'click .js-filter-blocker-issues': 'filterByBlockerIssues'
- 'click .js-filter-critical-issues': 'filterByCriticalIssues'
- 'click .js-filter-major-issues': 'filterByMajorIssues'
- 'click .js-filter-minor-issues': 'filterByMinorIssues'
- 'click .js-filter-info-issues': 'filterByInfoIssues'
+ 'click .js-filter-BLOCKER-issues': 'filterByBlockerIssues'
+ 'click .js-filter-CRITICAL-issues': 'filterByCriticalIssues'
+ 'click .js-filter-MAJOR-issues': 'filterByMajorIssues'
+ 'click .js-filter-MINOR-issues': 'filterByMinorIssues'
+ 'click .js-filter-INFO-issues': 'filterByInfoIssues'
'click .js-filter-lines-to-cover': 'filterByLinesToCover'
'click .js-filter-covered-lines': 'filterByCoveredLines'
openModalWindow url, {}
- filterLines: (e, method) ->
+ filterLines: (e, methodName, extra) ->
@$('.component-viewer-header-expanded-bar-section-list .active').removeClass 'active'
$(e.currentTarget).addClass 'active'
- _.result @options.main, method
+ method = @options.main[methodName]
+ method.call @options.main, extra
# Issues
filterByUnresolvedIssues: (e) -> @filterLines e, 'filterByUnresolvedIssues'
filterByFalsePositiveIssues: (e) -> @filterLines e, 'filterByFalsePositiveIssues'
+ filterByRule: (e) -> @filterLines e, 'filterByRule', $(e.currentTarget).data 'rule'
+
filterByBlockerIssues: (e) -> @filterLines e, 'filterByBlockerIssues'
filterByCriticalIssues: (e) -> @filterLines e, 'filterByCriticalIssues'
filterByMajorIssues: (e) -> @filterLines e, 'filterByMajorIssues'
component.measures.fInfoIssues || 0
)
+ if component.severities
+ order = ['BLOCKER', 'CRITICAL', 'MAJOR', 'MINOR', 'INFO']
+ component.severities = _.sortBy component.severities, (s) -> order.indexOf s[0]
+
+
settings: @options.main.settings.toJSON()
showSettings: @showSettings
component: component
\ No newline at end of file
{{t 'component_viewer.measure_section.severities'}}
</div>
<ul class="component-viewer-header-expanded-bar-section-list">
- {{#if component.msr.blocker_violations}}
- <li><a class="item js-filter-blocker-issues">
- <span><i class="icon-severity-blocker"></i> {{t 'severity.BLOCKER'}}</span>
- <span class="number">{{component.msr.blocker_violations}}</span>
+ {{#each component.severities}}
+ <li><a class="item js-filter-{{this.[0]}}-issues">
+ <span>{{severityIcon this.[0]}} {{t 'severity' this.[0]}}</span>
+ <span class="number">{{this.[2]}}</span>
<i class="icon-chevron-right"></i>
</a></li>
- {{/if}}
- {{#if component.msr.critical_violations}}
- <li><a class="item js-filter-critical-issues">
- <span><i class="icon-severity-critical"></i> {{t 'severity.CRITICAL'}}</span>
- <span class="number">{{component.msr.critical_violations}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- {{/if}}
- {{#if component.msr.major_violations}}
- <li><a class="item js-filter-major-issues">
- <span><i class="icon-severity-major"></i> {{t 'severity.MAJOR'}}</span>
- <span class="number">{{component.msr.major_violations}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- {{/if}}
- {{#if component.msr.minor_violations}}
- <li><a class="item js-filter-minor-issues">
- <span><i class="icon-severity-minor"></i> {{t 'severity.MINOR'}}</span>
- <span class="number">{{component.msr.minor_violations}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- {{/if}}
- {{#if component.msr.info_violations}}
- <li><a class="item js-filter-info-issues">
- <span><i class="icon-severity-info"></i> {{t 'severity.INFO'}}</span>
- <span class="number">{{component.msr.info_violations}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- {{/if}}
+ {{/each}}
</ul>
</div>
{{/if}}
{{t 'component_viewer.measure_section.rules'}}
</div>
<ul class="component-viewer-header-expanded-bar-section-list">
+ {{#each component.rules}}
+ <li><a class="item js-filter-rule" data-rule="{{this.[0]}}">
+ <span>{{this.[1]}}</span>
+ <span class="number">{{this.[2]}}</span>
+ <i class="icon-chevron-right"></i>
+ </a></li>
+ {{/each}}
</ul>
</div>
{{/if}}