Filtering and preloading
This commit is contained in:
@@ -3,7 +3,8 @@ import Ember from 'ember'
|
|||||||
|
|
||||||
export default Ember.Controller.extend
|
export default Ember.Controller.extend
|
||||||
session: Ember.inject.service('session')
|
session: Ember.inject.service('session')
|
||||||
filters: {filter_calls: 0} # will be overwritten in route
|
#filters: {filter_calls: 0} # will be overwritten in route
|
||||||
|
#filters: Ember.computed.alias 'model.project_instance_actions.filters'
|
||||||
scope_project: null
|
scope_project: null
|
||||||
scope_scenario: null
|
scope_scenario: null
|
||||||
scope_organization: null
|
scope_organization: null
|
||||||
|
|||||||
@@ -5,9 +5,6 @@ import Ember from 'ember';
|
|||||||
|
|
||||||
export default Ember.Controller.extend({
|
export default Ember.Controller.extend({
|
||||||
session: Ember.inject.service('session'),
|
session: Ember.inject.service('session'),
|
||||||
filters: {
|
|
||||||
filter_calls: 0
|
|
||||||
},
|
|
||||||
scope_project: null,
|
scope_project: null,
|
||||||
scope_scenario: null,
|
scope_scenario: null,
|
||||||
scope_organization: null,
|
scope_organization: null,
|
||||||
|
|||||||
@@ -61,9 +61,7 @@ Model = {
|
|||||||
dependent_workflow_action_offsets: DS.hasMany('panda/workflow-action-offset', {
|
dependent_workflow_action_offsets: DS.hasMany('panda/workflow-action-offset', {
|
||||||
inverse: 'base_workflow_action_definition'
|
inverse: 'base_workflow_action_definition'
|
||||||
}),
|
}),
|
||||||
project_scenarios: DS.hasMany('panda/project-scenario', {
|
project_scenarios: DS.hasMany('panda/project-scenario'),
|
||||||
inverse: null
|
|
||||||
}),
|
|
||||||
project_instance_actions: DS.hasMany('panda/project-instance-action', {
|
project_instance_actions: DS.hasMany('panda/project-instance-action', {
|
||||||
inverse: 'workflow_action_definition'
|
inverse: 'workflow_action_definition'
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import Ember from 'ember'
|
import Ember from 'ember'
|
||||||
import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'
|
import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'
|
||||||
export filters = Ember.Object.create
|
{get} = Ember
|
||||||
|
export default_filters = Ember.Object.create
|
||||||
filter_calls: 0
|
filter_calls: 0
|
||||||
workflow_action_definition_identifier_in: []
|
workflow_action_definition_identifier_in: []
|
||||||
project_instance_group_workflow_group_id: ''
|
project_instance_group_workflow_group_id: ''
|
||||||
@@ -26,11 +27,16 @@ export default Ember.Route.extend
|
|||||||
perPage: {refreshModel: true}
|
perPage: {refreshModel: true}
|
||||||
organization_id: {refreshModel: true}
|
organization_id: {refreshModel: true}
|
||||||
modelName: 'panda/project-instance-action'
|
modelName: 'panda/project-instance-action'
|
||||||
setupController: (controller) ->
|
setupController: (controller, model) ->
|
||||||
controller.set 'filters', filters
|
controller.set('filters', model.project_instance_actions.get('filters'))
|
||||||
@_super arguments...
|
@_super(arguments...)
|
||||||
|
|
||||||
model: (params) ->
|
model: (params) ->
|
||||||
|
scope_key = 'panda/action-list'
|
||||||
|
if user_default = @store.peekAll('dunlop/user-filter').find((r) -> r.get('scope_key') is scope_key and r.get('is_default'))
|
||||||
|
filters = Ember.Object.create(user_default.get('filters'))
|
||||||
|
else
|
||||||
|
filters = default_filters
|
||||||
#@store.findAll('epots/migration-window-planning')
|
#@store.findAll('epots/migration-window-planning')
|
||||||
#includes = [
|
#includes = [
|
||||||
# 'workflow_action_definition.~workflow_action_connections'
|
# 'workflow_action_definition.~workflow_action_connections'
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
// Generated by CoffeeScript 1.12.5
|
// Generated by CoffeeScript 1.12.5
|
||||||
|
var get;
|
||||||
|
|
||||||
import Ember from 'ember';
|
import Ember from 'ember';
|
||||||
|
|
||||||
import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array';
|
import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array';
|
||||||
|
|
||||||
export var filters = Ember.Object.create({
|
get = Ember.get;
|
||||||
|
|
||||||
|
export var default_filters = Ember.Object.create({
|
||||||
filter_calls: 0,
|
filter_calls: 0,
|
||||||
workflow_action_definition_identifier_in: [],
|
workflow_action_definition_identifier_in: [],
|
||||||
project_instance_group_workflow_group_id: '',
|
project_instance_group_workflow_group_id: '',
|
||||||
@@ -41,11 +45,20 @@ export default Ember.Route.extend({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
modelName: 'panda/project-instance-action',
|
modelName: 'panda/project-instance-action',
|
||||||
setupController: function(controller) {
|
setupController: function(controller, model) {
|
||||||
controller.set('filters', filters);
|
controller.set('filters', model.project_instance_actions.get('filters'));
|
||||||
return this._super.apply(this, arguments);
|
return this._super.apply(this, arguments);
|
||||||
},
|
},
|
||||||
model: function(params) {
|
model: function(params) {
|
||||||
|
var filters, scope_key, user_default;
|
||||||
|
scope_key = 'panda/action-list';
|
||||||
|
if (user_default = this.store.peekAll('dunlop/user-filter').find(function(r) {
|
||||||
|
return r.get('scope_key') === scope_key && r.get('is_default');
|
||||||
|
})) {
|
||||||
|
filters = Ember.Object.create(user_default.get('filters'));
|
||||||
|
} else {
|
||||||
|
filters = default_filters;
|
||||||
|
}
|
||||||
if (params.state) {
|
if (params.state) {
|
||||||
filters.set('state_in', params.state.split(','));
|
filters.set('state_in', params.state.split(','));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ table.ui.attached.stiped.sortable.table
|
|||||||
= sortable-table-header filters=filters key='inquiry_at' model=model.project_instance_actions defaultDirection='desc'
|
= sortable-table-header filters=filters key='inquiry_at' model=model.project_instance_actions defaultDirection='desc'
|
||||||
= t 'attributes.project_instance_action.inquiry_at'
|
= t 'attributes.project_instance_action.inquiry_at'
|
||||||
th= t 'attributes.project_instance_action.value'
|
th= t 'attributes.project_instance_action.value'
|
||||||
table-filters content=model.project_instance_actions filters=filters apply_filters=(action 'apply_filters') as |filter|
|
table-filters content=model.project_instance_actions apply_filters=(action 'apply_filters') as |filter|
|
||||||
= filter.dropdown-select-multiple key='workflow_action_definition_organization_id_in' options=model.organizations labelPath='name'
|
= filter.dropdown-select-multiple key='workflow_action_definition_organization_id_in' options=model.organizations labelPath='name'
|
||||||
= filter.dropdown-select-multiple key='project_id_in' options=sorted_projects labelPath='name'
|
= filter.dropdown-select-multiple key='project_id_in' options=sorted_projects labelPath='name'
|
||||||
if (and scope_project scope_project.isLoaded)
|
if (and scope_project scope_project.isLoaded)
|
||||||
|
|||||||
Reference in New Issue
Block a user