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' import {create_date_sort} from 'ember-cli-dunlop/utils/date-sort'
date_sort = create_date_sort('date') date_sort = create_date_sort('date')
export default Ember.Controller.extend export default Ember.Controller.extend
queryParams: ['state']
#filter: Ember.Object.create #filter: Ember.Object.create
# workflow_action_definition_id_in: [] # workflow_action_definition_id_in: []
# project_instance_group_workflow_group_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 {get} = Ember
date_sort = create_date_sort('reference_date') date_sort = create_date_sort('reference_date')
export default Ember.Controller.extend export default Ember.Controller.extend
queryParams: ['state']
#filter: Ember.Object.create #filter: Ember.Object.create
# project_scenario_id_in: [] # project_scenario_id_in: []
# state_in: [] # state_in: []
@@ -1,6 +1,6 @@
import Ember from 'ember' import Ember from 'ember'
import PagedRemoteArray from 'ember-cli-pagination/remote/paged-remote-array' import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'
export default_filter = Ember.Object.create export filters = Ember.Object.create
workflow_action_definition_id_in: [] workflow_action_definition_id_in: []
project_instance_group_workflow_group_id: '' project_instance_group_workflow_group_id: ''
state_in: [] state_in: []
@@ -9,27 +9,25 @@ export default_filter = Ember.Object.create
s: 'target_date asc' s: 'target_date asc'
export default Ember.Route.extend export default Ember.Route.extend
modelName: 'panda/project-instance-action'
queryParams: queryParams:
q: state: {refreshModel: true}
refreshModel: true page: {refreshModel: true}
perPage: {refreshModel: true}
setupController: (controller, model) -> setupController: (controller, model) ->
controller.set 'filters', default_filter controller.set 'filters', filters
controller.set 'project', @modelFor('project.show') controller.set 'project', @modelFor('project.show')
@_super arguments... @_super arguments...
model: (params) -> model: (params) ->
project = @modelFor 'project.show' project = @modelFor 'project.show'
#@store.findAll('epots/migration-window-planning') filters.project_id = project.id
default_filter.project_id = project.id
otherParams = {q: default_filter.toProperties()}
includes = 'action-list' includes = 'action-list'
otherParams.include = includes filters.state_in = [params.state] if params.state
PagedRemoteArray.create PagedRemoteArray.create
modelName: 'panda/project-instance-action' modelName: @modelName
store: @store store: @store
filters: filters
page: params.page || 1 page: params.page || 1
perPage: params.perPage || 30 perPage: params.perPage || 30
otherParams: otherParams otherParams: {includes: includes}
paramMapping:
total_pages: 'total-pages'
total_count: 'total-count'
@@ -1,30 +1,28 @@
import Ember from 'ember' import Ember from 'ember'
import PagedRemoteArray from 'ember-cli-pagination/remote/paged-remote-array' import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'
export default_filter = Ember.Object.create export filters = Ember.Object.create
workflow_group_id_in: [] workflow_group_id_in: []
state_in: [] state_in: []
s: 'project_instance_reference_date asc' s: 'project_instance_reference_date asc'
export default Ember.Route.extend export default Ember.Route.extend
modelName: 'panda/project-instance-group'
queryParams: queryParams:
q: state: {refreshModel: true}
refreshModel: true page: {refreshModel: true}
perPage: {refreshModel: true}
setupController: (controller, model) -> setupController: (controller, model) ->
controller.set 'filters', default_filter controller.set 'filters', filters
controller.set 'project', @modelFor('project.show') controller.set 'project', @modelFor('project.show')
@_super arguments... @_super arguments...
model: (params) -> model: (params) ->
project = @modelFor 'project.show' project = @modelFor 'project.show'
#@store.findAll('epots/migration-window-planning') filters.project_id = project.id
default_filter.project_id = project.id filters.state_in = [params.state] if params.state
otherParams = {q: default_filter.toProperties()}
PagedRemoteArray.create PagedRemoteArray.create
modelName: 'panda/project-instance-group' modelName: @modelName
store: @store store: @store
filters: filters
page: params.page || 1 page: params.page || 1
perPage: params.perPage || 30 perPage: params.perPage || 30
otherParams: otherParams
paramMapping:
total_pages: 'total-pages'
total_count: 'total-count'
@@ -1,32 +1,30 @@
import Ember from 'ember' import Ember from 'ember'
import PagedRemoteArray from 'ember-cli-pagination/remote/paged-remote-array' import PagedRemoteArray from 'ember-cli-dunlop/utils/paged-remote-array'
export default_filter = Ember.Object.create export filters = Ember.Object.create
state_in: [] state_in: []
s: 'reference_date asc' s: 'reference_date asc'
export default Ember.Route.extend export default Ember.Route.extend
modelName: 'panda/project-instance'
queryParams: queryParams:
q: state: {refreshModel: true}
refreshModel: true page: {refreshModel: true}
perPage: {refreshModel: true}
setupController: (controller, model) -> setupController: (controller, model) ->
controller.set 'filters', default_filter controller.set 'filters', filters
controller.set 'project', @modelFor('project.show') controller.set 'project', @modelFor('project.show')
@_super arguments... @_super arguments...
model: (params) -> model: (params) ->
project = @modelFor 'project.show' project = @modelFor 'project.show'
#@store.findAll('epots/migration-window-planning') filters.project_id = project.id
default_filter.project_id = project.id filters.state_in = [params.state] if params.state
otherParams = {q: default_filter.toProperties()}
PagedRemoteArray.create PagedRemoteArray.create
modelName: 'panda/project-instance' modelName: @modelName
store: @store store: @store
filters: filters
page: params.page || 1 page: params.page || 1
perPage: params.perPage || 30 perPage: params.perPage || 30
otherParams: otherParams
paramMapping:
total_pages: 'total-pages'
total_count: 'total-count'
actions: actions:
new_project_instance: -> new_project_instance: ->
+23 -11
View File
@@ -14,22 +14,34 @@ d-breadcrumbs as |breadcrumb|
span.resource-name= project.name span.resource-name= project.name
span.resource-suffix= t 'project.analysis.title' span.resource-suffix= t 'project.analysis.title'
.ui.divider .ui.divider
each project.sorted_workflow_groups as |workflow_group| .ui.segment
.ui.segment each-in model.analytics.instances as |state count|
span= workflow_group.name = link-to 'project.show.project-instance' project (query-params state=state)
span -
span= workflow_group.id
each-in (get (get model.analytics 'instance_groups') workflow_group.id) as |state count|
= state-badge state = state-badge state
' '
span.between-brackets= count 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
.ui.segments .ui.segments
each workflow_group.sorted_workflow_action_definitions as |workflow_action_definition| each workflow_group.sorted_workflow_action_definitions as |workflow_action_definition|
.ui.segment .ui.segment
span= workflow_action_definition.title span= workflow_action_definition.title
each-in (get (get model.analytics 'instance_actions') workflow_action_definition.id) as |state count| each-in (get (get model.analytics 'instance_actions') workflow_action_definition.id) as |state count|
= state-badge state '
' = link-to 'project.show.project-instance-action' project (query-params state=state)
span.between-brackets= count = state-badge state
br '
= panda-image path="under-construction.svg" span.between-brackets= count
/br
/= panda-image path="under-construction.svg"