template: Templates['issues-assignee-facet']
+ events: ->
+ _.extend super,
+ 'change .js-issues-custom-value': 'addCustomValue'
+
+
onRender: ->
super
if value? && (!value || value == 'false')
@$('.js-issues-facet').filter("[data-unassigned]").addClass 'active'
+ @$('.js-issues-custom-value').select2
+ placeholder: 'Add assignee'
+ minimumInputLength: 2
+ allowClear: false
+ formatNoMatches: -> t 'select2.noMatches'
+ formatSearching: -> t 'select2.searching'
+ formatInputTooShort: -> tp 'select2.tooShort', 2
+ width: '100%'
+ ajax:
+ quietMillis: 300
+ url: "#{baseUrl}/api/users/search?f=s2"
+ data: (term, page) -> { s: term, p: page }
+ results: (data) -> { more: data.more, results: data.results }
+
toggleFacet: (e) ->
unassigned = $(e.currentTarget).is "[data-unassigned]"
@options.app.state.updateFilter assigned: null, assignees: null
+ addCustomValue: ->
+ property = @model.get 'property'
+ customValue = @$('.js-issues-custom-value').select2 'val'
+ value = @getValue()
+ value += ',' if value.length > 0
+ value += customValue
+ obj = {}
+ obj[property] = value
+ obj.assigned = null
+ @options.app.state.updateFilter obj
+
+
serializeData: ->
_.extend super,
values: @getValuesWithLabels()
define [
'issues/facets/base-facet'
+ 'templates/issues'
], (
BaseFacet
+ Templates
) ->
class extends BaseFacet
+ template: Templates['issues-reporter-facet']
+
+
+ events: ->
+ _.extend super,
+ 'change .js-issues-custom-value': 'addCustomValue'
+
+
+ onRender: ->
+ super
+ @$('.js-issues-custom-value').select2
+ placeholder: 'Add reporter'
+ minimumInputLength: 2
+ allowClear: false
+ formatNoMatches: -> t 'select2.noMatches'
+ formatSearching: -> t 'select2.searching'
+ formatInputTooShort: -> tp 'select2.tooShort', 2
+ width: '100%'
+ ajax:
+ quietMillis: 300
+ url: "#{baseUrl}/api/users/search?f=s2"
+ data: (term, page) -> { s: term, p: page }
+ results: (data) -> { more: data.more, results: data.results }
+
getValuesWithLabels: ->
values = @model.getValues()
values
+ addCustomValue: ->
+ property = @model.get 'property'
+ customValue = @$('.js-issues-custom-value').select2 'val'
+ value = @getValue()
+ value += ',' if value.length > 0
+ value += customValue
+ obj = {}
+ obj[property] = value
+ @options.app.state.updateFilter obj
+
+
serializeData: ->
_.extend super,
values: @getValuesWithLabels()
define [
'issues/facets/base-facet'
+ 'templates/issues'
], (
BaseFacet
+ Templates
) ->
class extends BaseFacet
+ template: Templates['issues-rule-facet']
+
+
+ events: ->
+ _.extend super,
+ 'change .js-issues-custom-value': 'addCustomValue'
+
+
+ onRender: ->
+ super
+ @$('.js-issues-custom-value').select2
+ placeholder: 'Add rule'
+ minimumInputLength: 2
+ allowClear: false
+ formatNoMatches: -> t 'select2.noMatches'
+ formatSearching: -> t 'select2.searching'
+ formatInputTooShort: -> tp 'select2.tooShort', 2
+ width: '100%'
+ ajax:
+ quietMillis: 300
+ url: "#{baseUrl}/api/rules/search?f=name"
+ data: (term, page) -> { q: term, p: page }
+ results: (data) ->
+ results = data.rules.map (rule) ->
+ id: rule.key, text: rule.name
+ { more: (data.p * data.ps < data.total), results: results }
+
getValuesWithLabels: ->
values = @model.getValues()
values
+ addCustomValue: ->
+ property = @model.get 'property'
+ customValue = @$('.js-issues-custom-value').select2 'val'
+ value = @getValue()
+ value += ',' if value.length > 0
+ value += customValue
+ obj = {}
+ obj[property] = value
+ @options.app.state.updateFilter obj
+
+
serializeData: ->
_.extend super,
values: @getValuesWithLabels()
{{> '_issues-facet-header'}}
<div class="issues-facet-list">
+ <div class="issues-facet-custom-value">
+ <input type="hidden" class="js-issues-custom-value">
+ </div>
+
{{#each values}}
{{#eq val ''}}
{{! unassigned }}
--- /dev/null
+{{> '_issues-facet-header'}}
+
+<div class="issues-facet-list">
+ <div class="issues-facet-custom-value">
+ <input type="hidden" class="js-issues-custom-value">
+ </div>
+
+ {{#each values}}
+ <a class="facet issues-facet js-issues-facet" data-value="{{val}}">
+ <span class="facet-name">{{default label val}}</span>
+ <span class="facet-stat">{{count}}</span>
+ </a>
+ {{/each}}
+</div>
--- /dev/null
+{{> '_issues-facet-header'}}
+
+<div class="issues-facet-list">
+ <div class="issues-facet-custom-value">
+ <input type="hidden" class="js-issues-custom-value">
+ </div>
+
+ {{#each values}}
+ <a class="facet issues-facet js-issues-facet" data-value="{{val}}">
+ <span class="facet-name">{{default label val}}</span>
+ <span class="facet-stat">{{count}}</span>
+ </a>
+ {{/each}}
+</div>