Filtering and preloading

This commit is contained in:
2018-11-20 12:14:08 -03:00
parent 262d0b5590
commit 3bd7c06e60
6 changed files with 30 additions and 15 deletions
+2 -1
View File
@@ -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
-3
View File
@@ -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'
}),
+10 -4
View File
@@ -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'
+16 -3
View File
@@ -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(','));
}