statistics upgrade and linking to scoped filtered pages

This commit is contained in:
2018-06-20 16:15:01 -03:00
parent f95f2d8516
commit 3b546e90b1
7 changed files with 62 additions and 51 deletions
@@ -2,6 +2,7 @@ import Ember from 'ember'
import {create_date_sort} from 'ember-cli-dunlop/utils/date-sort'
date_sort = create_date_sort('date')
export default Ember.Controller.extend
queryParams: ['state']
#filter: Ember.Object.create
# workflow_action_definition_id_in: []
# project_instance_group_workflow_group_id_in: []
@@ -0,0 +1,3 @@
import Controller from '@ember/controller'
export default Controller.extend
queryParams: ['state']
@@ -3,6 +3,7 @@ import {create_date_sort} from 'ember-cli-dunlop/utils/date-sort'
{get} = Ember
date_sort = create_date_sort('reference_date')
export default Ember.Controller.extend
queryParams: ['state']
#filter: Ember.Object.create
# project_scenario_id_in: []
# state_in: []
@@ -1,6 +1,6 @@
import Ember from 'ember'
import PagedRemoteArray from 'ember-cli-pagination/remote/paged-remote-array'
export default_filter = Ember.Object.create
import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'
export filters = Ember.Object.create
workflow_action_definition_id_in: []
project_instance_group_workflow_group_id: ''
state_in: []
@@ -9,27 +9,25 @@ export default_filter = Ember.Object.create
s: 'target_date asc'
export default Ember.Route.extend
modelName: 'panda/project-instance-action'
queryParams:
q:
refreshModel: true
state: {refreshModel: true}
page: {refreshModel: true}
perPage: {refreshModel: true}
setupController: (controller, model) ->
controller.set 'filters', default_filter
controller.set 'filters', filters
controller.set 'project', @modelFor('project.show')
@_super arguments...
model: (params) ->
project = @modelFor 'project.show'
#@store.findAll('epots/migration-window-planning')
default_filter.project_id = project.id
otherParams = {q: default_filter.toProperties()}
filters.project_id = project.id
includes = 'action-list'
otherParams.include = includes
filters.state_in = [params.state] if params.state
PagedRemoteArray.create
modelName: 'panda/project-instance-action'
modelName: @modelName
store: @store
filters: filters
page: params.page || 1
perPage: params.perPage || 30
otherParams: otherParams
paramMapping:
total_pages: 'total-pages'
total_count: 'total-count'
otherParams: {includes: includes}
@@ -1,30 +1,28 @@
import Ember from 'ember'
import PagedRemoteArray from 'ember-cli-pagination/remote/paged-remote-array'
export default_filter = Ember.Object.create
import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'
export filters = Ember.Object.create
workflow_group_id_in: []
state_in: []
s: 'project_instance_reference_date asc'
export default Ember.Route.extend
modelName: 'panda/project-instance-group'
queryParams:
q:
refreshModel: true
state: {refreshModel: true}
page: {refreshModel: true}
perPage: {refreshModel: true}
setupController: (controller, model) ->
controller.set 'filters', default_filter
controller.set 'filters', filters
controller.set 'project', @modelFor('project.show')
@_super arguments...
model: (params) ->
project = @modelFor 'project.show'
#@store.findAll('epots/migration-window-planning')
default_filter.project_id = project.id
otherParams = {q: default_filter.toProperties()}
filters.project_id = project.id
filters.state_in = [params.state] if params.state
PagedRemoteArray.create
modelName: 'panda/project-instance-group'
modelName: @modelName
store: @store
filters: filters
page: params.page || 1
perPage: params.perPage || 30
otherParams: otherParams
paramMapping:
total_pages: 'total-pages'
total_count: 'total-count'
@@ -1,32 +1,30 @@
import Ember from 'ember'
import PagedRemoteArray from 'ember-cli-pagination/remote/paged-remote-array'
export default_filter = Ember.Object.create
import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'
export filters = Ember.Object.create
state_in: []
s: 'reference_date asc'
export default Ember.Route.extend
modelName: 'panda/project-instance'
queryParams:
q:
refreshModel: true
state: {refreshModel: true}
page: {refreshModel: true}
perPage: {refreshModel: true}
setupController: (controller, model) ->
controller.set 'filters', default_filter
controller.set 'filters', filters
controller.set 'project', @modelFor('project.show')
@_super arguments...
model: (params) ->
project = @modelFor 'project.show'
#@store.findAll('epots/migration-window-planning')
default_filter.project_id = project.id
otherParams = {q: default_filter.toProperties()}
filters.project_id = project.id
filters.state_in = [params.state] if params.state
PagedRemoteArray.create
modelName: 'panda/project-instance'
modelName: @modelName
store: @store
filters: filters
page: params.page || 1
perPage: params.perPage || 30
otherParams: otherParams
paramMapping:
total_pages: 'total-pages'
total_count: 'total-count'
actions:
new_project_instance: ->
+14 -2
View File
@@ -14,12 +14,22 @@ d-breadcrumbs as |breadcrumb|
span.resource-name= project.name
span.resource-suffix= t 'project.analysis.title'
.ui.divider
.ui.segment
each-in model.analytics.instances as |state count|
= link-to 'project.show.project-instance' project (query-params state=state)
= state-badge state
'
span.between-brackets= count
each project.sorted_workflow_groups as |workflow_group|
.ui.segment
.ui.header
.content
span= workflow_group.name
span -
span= workflow_group.id
each-in (get (get model.analytics 'instance_groups') workflow_group.id) as |state count|
= link-to 'project.show.project-instance-group' project (query-params state=state)
= state-badge state
'
span.between-brackets= count
@@ -28,8 +38,10 @@ d-breadcrumbs as |breadcrumb|
.ui.segment
span= workflow_action_definition.title
each-in (get (get model.analytics 'instance_actions') workflow_action_definition.id) as |state count|
'
= link-to 'project.show.project-instance-action' project (query-params state=state)
= state-badge state
'
span.between-brackets= count
br
= panda-image path="under-construction.svg"
/br
/= panda-image path="under-construction.svg"