49 lines
1.9 KiB
CoffeeScript
49 lines
1.9 KiB
CoffeeScript
import Ember from 'ember'
|
|
#import config from 'ember-get-config'
|
|
|
|
export default Ember.Controller.extend
|
|
session: Ember.inject.service('session')
|
|
filters: {}
|
|
scope_project: null
|
|
scope_scenario: null
|
|
scope_organization: null
|
|
filter_query: Ember.computed 'filters.filter_calls', ->
|
|
@get('filters')?.toProperties() || {}
|
|
export_human_url: Ember.computed 'filters.filter_calls', ->
|
|
model_name = 'panda/project-instance-action'
|
|
base_url = @store.adapterFor(model_name).buildURL(model_name)
|
|
filter_addition = Ember.$.param q: @get('filter_query')
|
|
"#{base_url}/export_human.csv?#{filter_addition}"
|
|
export_technical_url: Ember.computed 'filters.filter_calls', ->
|
|
model_name = 'panda/project-instance-action'
|
|
base_url = @store.adapterFor(model_name).buildURL(model_name)
|
|
filter_addition = Ember.$.param q: @get('filter_query')
|
|
"#{base_url}/export_technical.csv?#{filter_addition}"
|
|
apply_filters: ->
|
|
@incrementProperty 'filters.filter_calls'
|
|
@set 'model.project_instance_actions.page', 1
|
|
@set 'model.project_instance_actions.lastPage', null
|
|
@get('model.project_instance_actions').setOtherParam('q', @get('filter_query'))
|
|
false
|
|
actions:
|
|
refresh_list: -> @apply_filters()
|
|
edit_project_instance_action: (project_instance_action) ->
|
|
@modal 'project/edit-instance-action', model: project_instance_action
|
|
|
|
toggle_filter: (key, value, checked) ->
|
|
new_value = []
|
|
if checked
|
|
new_value = new_value.concat(@get("filters.#{key}")).concat(value)
|
|
else
|
|
@get("filters.#{key}").forEach (present_in_filter) ->
|
|
new_value.push present_in_filter unless present_in_filter is value
|
|
@set "filters.#{key}", new_value
|
|
@apply_filters()
|
|
clear_filter: (keys...) ->
|
|
keys.forEach (key) =>
|
|
if Ember.isArray(@get("filters.#{key}"))
|
|
@set "filters.#{key}", []
|
|
else
|
|
@set "filters.#{key}", null
|
|
@apply_filters()
|