Filtering and preloading
This commit is contained in:
@@ -3,7 +3,8 @@ import Ember from 'ember'
|
||||
|
||||
export default Ember.Controller.extend
|
||||
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_scenario: null
|
||||
scope_organization: null
|
||||
|
||||
@@ -5,9 +5,6 @@ import Ember from 'ember';
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
session: Ember.inject.service('session'),
|
||||
filters: {
|
||||
filter_calls: 0
|
||||
},
|
||||
scope_project: null,
|
||||
scope_scenario: null,
|
||||
scope_organization: null,
|
||||
|
||||
@@ -61,9 +61,7 @@ Model = {
|
||||
dependent_workflow_action_offsets: DS.hasMany('panda/workflow-action-offset', {
|
||||
inverse: 'base_workflow_action_definition'
|
||||
}),
|
||||
project_scenarios: DS.hasMany('panda/project-scenario', {
|
||||
inverse: null
|
||||
}),
|
||||
project_scenarios: DS.hasMany('panda/project-scenario'),
|
||||
project_instance_actions: DS.hasMany('panda/project-instance-action', {
|
||||
inverse: 'workflow_action_definition'
|
||||
}),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import Ember from 'ember'
|
||||
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
|
||||
workflow_action_definition_identifier_in: []
|
||||
project_instance_group_workflow_group_id: ''
|
||||
@@ -26,11 +27,16 @@ export default Ember.Route.extend
|
||||
perPage: {refreshModel: true}
|
||||
organization_id: {refreshModel: true}
|
||||
modelName: 'panda/project-instance-action'
|
||||
setupController: (controller) ->
|
||||
controller.set 'filters', filters
|
||||
@_super arguments...
|
||||
setupController: (controller, model) ->
|
||||
controller.set('filters', model.project_instance_actions.get('filters'))
|
||||
@_super(arguments...)
|
||||
|
||||
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')
|
||||
#includes = [
|
||||
# 'workflow_action_definition.~workflow_action_connections'
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
// Generated by CoffeeScript 1.12.5
|
||||
var get;
|
||||
|
||||
import Ember from 'ember';
|
||||
|
||||
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,
|
||||
workflow_action_definition_identifier_in: [],
|
||||
project_instance_group_workflow_group_id: '',
|
||||
@@ -41,11 +45,20 @@ export default Ember.Route.extend({
|
||||
}
|
||||
},
|
||||
modelName: 'panda/project-instance-action',
|
||||
setupController: function(controller) {
|
||||
controller.set('filters', filters);
|
||||
setupController: function(controller, model) {
|
||||
controller.set('filters', model.project_instance_actions.get('filters'));
|
||||
return this._super.apply(this, arguments);
|
||||
},
|
||||
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) {
|
||||
filters.set('state_in', params.state.split(','));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user