coding_rules.filters.status=Status
coding_rules.filters.tag=Tag
+coding_rules.facets.languages=Languages
+coding_rules.facets.tags=Tags
+coding_rules.facets.repositories=Repositories
+
coding_rules.sort.creation_date=Creation Date
coding_rules.sort.name=Name
+ App.facetLabel = (property, value) ->
+ return value unless App.facetPropertyToLabels[property]
+ if App.facetPropertyToLabels[property][value]
+ return App.facetPropertyToLabels[property][value]
+ else
+ return _.findWhere(App.facetPropertyToLabels[property], key: value).name
+
+
App.fetchFirstPage = (fromFacets = false) ->
@pageIndex = 1
App.fetchList true, fromFacets
name: t 'coding_rules.filters.tag'
property: 'tags'
type: TagFilterView
- choices: @tags
@filters.add new BaseFilters.Filter
name: t 'coding_rules.filters.characteristic'
App.languages = r.languages
App.repositories = r.repositories
App.statuses = r.statuses
- App.tags = r.tags
App.characteristics = r.characteristics
window.messages = r.messages
+ App.facetPropertyToLabels =
+ 'languages': App.languages
+ 'repositories': App.repositories
+
# Remove the initial spinner
jQuery('#coding-rules-page-loader').remove()
'click @ui.options': 'selectOption'
+ initialize: ->
+ super()
+ that = @
+ @options.collection.each (facet) ->
+ property = facet.get 'property'
+ facet.set 'property_message', 'coding_rules.facets.' + property
+ _.each(facet.get('values'), (value) ->
+ value.text = that.options.app.facetLabel(property, value.val)
+ )
+
selectOption: (e) ->
option = jQuery(e.currentTarget)
option.toggleClass 'active'
url: "#{baseUrl}/api/rules/show"
data:
key: @model.get('key')
+ actives: true
.done (r) =>
@model.set r.rule
@options.app.codingRulesQualityProfileActivationView.rule = @model
makeActive: ->
- @choices.each (item) -> item.set 'checked', item.id == 'active'
+ @choices.each (item) -> item.set 'checked', item.id == 'true'
@detailsView.updateValue()
@detailsView.updateLists()
@render()
- super
\ No newline at end of file
+ super
define [
- 'navigator/filters/ajax-select-filters'
+ 'navigator/filters/choice-filters'
], (
- AjaxSelectFilters
+ ChoiceFilters
) ->
- class TagSuggestions extends AjaxSelectFilters.Suggestions
+ class TagFilterView extends ChoiceFilters.ChoiceFilterView
- url: ->
- "#{baseUrl}/api/rules/tags"
+ initialize: ->
+ super()
+ @loadTags()
+ # TODO Register an event handler to reload tags when they are modified on a rule
- parse: (r) ->
- return _.map(r.tags, (tag) ->
- new Backbone.Model
- id: tag
- text: tag
- )
- class TagFilterView extends AjaxSelectFilters.AjaxSelectFilterView
+ loadTags: ->
+ tagsXHR = jQuery.ajax
+ url: "#{baseUrl}/api/rules/tags"
- initialize: ->
- super
- @choices = new TagSuggestions
+ that = @
+ jQuery.when(tagsXHR).done (r) ->
+ that.choices = new Backbone.Collection(
+ _.map(r.tags, (tag) ->
+ new Backbone.Model
+ id: tag
+ text: tag
+ ))
+ that.render()
<div class="navigator-facets-list">
{{#each items}}
<div class="navigator-facets-list-item" data-property="{{property}}">
- <div class="navigator-facets-list-item-name">{{name}}</div>
+ <div class="navigator-facets-list-item-name">{{t property_message}}</div>
<div class="navigator-facets-list-item-options">
{{#each values}}
- <a class="navigator-facets-list-item-option" data-key="{{key}}" data-property="{{../name}}">
- <span class="navigator-facets-list-item-option-name">{{val}}</span>
+ <a class="navigator-facets-list-item-option" data-key="{{val}}" data-property="{{../property}}">
+ <span class="navigator-facets-list-item-option-name">{{text}}</span>
<span class="navigator-facets-list-item-option-stat">{{count}}</span>
</a>
{{/each}}
"coding_rules.filters.status",
"coding_rules.filters.tag",
+ "coding_rules.facets.tags",
+ "coding_rules.facets.languages",
+ "coding_rules.facets.repositories",
+
"coding_rules.sort.creation_date",
"coding_rules.sort.name"
};
"coding_rules.filters.status": "coding_rules.filters.status",
"coding_rules.filters.tag": "coding_rules.filters.tag",
+ "coding_rules.facets.tags": "coding_rules.facets.tags",
+ "coding_rules.facets.languages": "coding_rules.facets.languages",
+ "coding_rules.facets.repositories": "coding_rules.facets.repositories",
+
"coding_rules.sort.creation_date": "coding_rules.sort.creation_date",
"coding_rules.sort.name": "coding_rules.sort.name"
}