fix: Correct process metadata loading in modal. (#210)

pull/3759/head
EdwinBetanc0urt 2019-12-13 20:42:47 -04:00 committed by Yamel Senih
parent 2e036e2034
commit ef26f3055d
9 changed files with 153 additions and 136 deletions

View File

@ -30,7 +30,7 @@ export function getProcess(uuid, isConvert = true) {
export function getBrowser(uuid, isConvert = true) { export function getBrowser(uuid, isConvert = true) {
return Instance.call(this).requestBrowser({ return Instance.call(this).requestBrowser({
uuid: uuid, uuid,
isConvertedMetadata: isConvert, isConvertedMetadata: isConvert,
isConvertedFields: true isConvertedFields: true
}) })
@ -38,7 +38,7 @@ export function getBrowser(uuid, isConvert = true) {
export function getTab(uuid, childrenFields = true, isConvert = true) { export function getTab(uuid, childrenFields = true, isConvert = true) {
return Instance.call(this).requestTab({ return Instance.call(this).requestTab({
uuid: uuid, uuid,
isWithFields: childrenFields, isWithFields: childrenFields,
isConvertedMetadata: isConvert, isConvertedMetadata: isConvert,
isConvertedFields: true isConvertedFields: true

View File

@ -320,7 +320,10 @@ export const contextMixin = {
if (action.type === 'process') { if (action.type === 'process') {
this.$store.dispatch('setShowDialog', { this.$store.dispatch('setShowDialog', {
type: action.type, type: action.type,
action: action action: {
...action,
containerUuid: action.uuid
}
}) })
} }
}, },

View File

@ -141,13 +141,14 @@ export default {
contextFieldTitle: 'Context Information' contextFieldTitle: 'Context Information'
}, },
views: { views: {
SmartBrowser: 'Smart Browser', browser: 'Smart Browser',
Process: 'Process', smartBrowser: 'Smart Browser',
Window: 'Window', process: 'Process',
Report: 'Report', window: 'Window',
Workflow: 'Workflow', report: 'Report',
Task: 'Task', workflow: 'Workflow',
Form: 'Form', task: 'Task',
form: 'Form',
noProcess: 'Not process running', noProcess: 'Not process running',
logs: 'Summary', logs: 'Summary',
log: 'Summary', log: 'Summary',

View File

@ -141,13 +141,14 @@ export default {
contextFieldTitle: 'Información de Contexto' contextFieldTitle: 'Información de Contexto'
}, },
views: { views: {
SmartBrowser: 'Consulta Inteligente', browser: 'Consulta Inteligente',
Process: 'Proceso', smartBrowser: 'Consulta Inteligente',
Window: 'Ventana', process: 'Proceso',
Report: 'Reporte', window: 'Ventana',
Workflow: 'Flujo de Trabajo', report: 'Reporte',
Task: 'Tarea', workflow: 'Flujo de Trabajo',
Form: 'Formulario', task: 'Tarea',
form: 'Formulario',
noProcess: 'No hay procesos en ejecución', noProcess: 'No hay procesos en ejecución',
logs: 'Resumen', logs: 'Resumen',
log: 'Bitacora', log: 'Bitacora',

View File

@ -106,17 +106,19 @@ const browser = {
if (process) { if (process) {
actions.push({ actions.push({
type: 'process', type: 'process',
panelType: 'process',
uuid: process.uuid, uuid: process.uuid,
name: process.name, name: process.name,
description: process.description, description: process.description,
isReport: process.isReport, isReport: process.isReport,
isDirectPrint: process.isDirectPrint isDirectPrint: process.isDirectPrint
}) })
// add process associated in vuex store // TODO: No list of parameters
dispatch('addProcessAssociated', { // // add process associated in vuex store
processToGenerate: process, // dispatch('addProcessAssociated', {
containerUuidAssociated: newBrowser.uuid // processToGenerate: process,
}) // containerUuidAssociated: newBrowser.uuid
// })
} }
dispatch('addPanel', newBrowser) dispatch('addPanel', newBrowser)

View File

@ -20,6 +20,9 @@ const panel = {
addPanel(state, payload) { addPanel(state, payload) {
state.panel.push(payload) state.panel.push(payload)
}, },
changePanel(state, payload) {
payload.panel = payload.newPanel
},
changeFieldLogic(state, payload) { changeFieldLogic(state, payload) {
if (payload.isDisplayedFromLogic !== undefined) { if (payload.isDisplayedFromLogic !== undefined) {
payload.field.isDisplayedFromLogic = payload.isDisplayedFromLogic payload.field.isDisplayedFromLogic = payload.isDisplayedFromLogic
@ -34,9 +37,6 @@ const panel = {
dictionaryResetCache(state) { dictionaryResetCache(state) {
state.panel = [] state.panel = []
}, },
changePanel(state, payload) {
payload.panel = payload.newPanel
},
changeFieldList(state, payload) { changeFieldList(state, payload) {
payload.fieldList = payload.newFieldList payload.fieldList = payload.newFieldList
}, },
@ -63,6 +63,8 @@ const panel = {
let selectionColumn = [] let selectionColumn = []
let identifierColumns = [] let identifierColumns = []
let count = 0 let count = 0
if (params.fieldList) {
params.fieldList.forEach(itemField => { params.fieldList.forEach(itemField => {
if (itemField.isKey) { if (itemField.isKey) {
keyColumn = itemField.columnName keyColumn = itemField.columnName
@ -95,6 +97,8 @@ const panel = {
} }
} }
}) })
params.fieldList = assignedGroup(params.fieldList)
}
params.keyColumn = keyColumn params.keyColumn = keyColumn
if (params.isSortTab) { if (params.isSortTab) {
@ -111,7 +115,6 @@ const panel = {
}) })
params.recordUuid = null params.recordUuid = null
params.fieldList = assignedGroup(params.fieldList)
commit('addPanel', params) commit('addPanel', params)
}, },
@ -715,47 +718,44 @@ const panel = {
} }
commit('changeFieldValue', newField) commit('changeFieldValue', newField)
}, },
getPanelAndFields({ dispatch }, parameters) { getPanelAndFields({ dispatch }, {
if (parameters.panelType === 'process' || parameters.panelType === 'report') { parentUuid,
return dispatch('getProcessFromServer', parameters) containerUuid,
.then(response => { panelType,
return response routeToDelete,
isAdvancedQuery = false
}) {
let executeAction
switch (panelType) {
case 'process':
case 'report':
executeAction = 'getProcessFromServer'
break
case 'browser':
executeAction = 'getBrowserFromServer'
break
case 'window':
case 'table':
default:
executeAction = 'getTabAndFieldFromServer'
break
}
return dispatch(executeAction, {
parentUuid,
containerUuid,
isAdvancedQuery,
routeToDelete
})
.then(panelResponse => {
return panelResponse
}) })
.catch(error => { .catch(error => {
return { return {
...error, ...error,
moreInfo: `Dictionary getPanelAndFields ${parameters.panelType} (State Panel)`, moreInfo: `Dictionary getPanelAndFields ${panelType} (State Panel)`
parameters: parameters
} }
}) })
} else if (parameters.panelType === 'browser') {
return dispatch('getBrowserFromServer', parameters)
.then(response => {
return response
})
.catch(error => {
return {
...error,
moreInfo: 'Dictionary getPanelAndFields browser (State Panel)',
parameters: parameters
}
})
} else if (parameters.panelType === 'window' || parameters.panelType === 'table') {
return dispatch('getTabAndFieldFromServer', {
parentUuid: parameters.parentUuid,
containerUuid: parameters.containerUuid,
isAdvancedQuery: parameters.isAdvancedQuery,
panelType: parameters.panelType
}).then(response => {
return response
}).catch(error => {
return {
...error,
moreInfo: 'Dictionary getPanelAndFields Window (State Panel)',
parameters: parameters
}
})
}
}, },
showedTotals({ commit, getters }, containerUuid) { showedTotals({ commit, getters }, containerUuid) {
const panel = getters.getPanel(containerUuid) const panel = getters.getPanel(containerUuid)

View File

@ -421,15 +421,15 @@ const processControl = {
setShowDialog({ state, commit, dispatch, rootGetters }, params) { setShowDialog({ state, commit, dispatch, rootGetters }, params) {
const panels = ['process', 'report', 'window'] const panels = ['process', 'report', 'window']
if (params.action && (panels.includes(params.type) || panels.includes(params.action.panelType))) { if (params.action && (panels.includes(params.type) || panels.includes(params.action.panelType))) {
if (params.action.containerUuid === state.metadata.containerUuid) { if (state.metadata && state.metadata.containerUuid === params.action.containerUuid) {
commit('setShowDialog', true) commit('setShowDialog', true)
return return
} }
const panel = rootGetters.getPanel(params.action.containerUuid) const panel = rootGetters.getPanel(params.action.containerUuid)
if (!panel) { if (panel === undefined) {
dispatch('getPanelAndFields', { dispatch('getPanelAndFields', {
parentUuid: params.action.parentUuid, parentUuid: params.action.parentUuid,
containerUuid: params.action.containerUuid, containerUuid: params.action.containerUuid || params.action.uuid,
panelType: params.action.panelType panelType: params.action.panelType
}) })
.then(response => { .then(response => {

View File

@ -151,6 +151,7 @@ const window = {
tabAssociatedUuid: tab.uuid, // tab source tabAssociatedUuid: tab.uuid, // tab source
tabAssociatedName: tab.name, // tab source tabAssociatedName: tab.name, // tab source
action: 'orderSequence', action: 'orderSequence',
panelType: 'window',
type: 'application' type: 'application'
} }
}) })
@ -163,15 +164,18 @@ const window = {
// get processess associated in tab // get processess associated in tab
if (tabItem.processesList && tabItem.processesList.length) { if (tabItem.processesList && tabItem.processesList.length) {
const processList = tabItem.processesList.map(processItem => { const processList = tabItem.processesList.map(processItem => {
dispatch('addProcessAssociated', { // TODO: No list of parameters
processToGenerate: processItem, // // add process associated in vuex store
containerUuidAssociated: tabItem.uuid // dispatch('addProcessAssociated', {
}) // processToGenerate: processItem,
// containerUuidAssociated: tabItem.uuid
// })
return { return {
id: processItem.id, id: processItem.id,
uuid: processItem.uuid, uuid: processItem.uuid,
name: processItem.name, name: processItem.name,
type: 'process', type: 'process',
panelType: 'process',
description: processItem.description, description: processItem.description,
help: processItem.help, help: processItem.help,
isReport: processItem.isReport, isReport: processItem.isReport,

View File

@ -152,8 +152,11 @@ export function generateProcess({ processToGenerate, containerUuidAssociated = u
} }
// Convert from gRPC // Convert from gRPC
let fieldDefinitionList
if (processToGenerate.parametersList) {
const fieldsRangeList = [] const fieldsRangeList = []
let fieldDefinitionList = processToGenerate.parametersList
fieldDefinitionList = processToGenerate.parametersList
.map(fieldItem => { .map(fieldItem => {
const field = generateField(fieldItem, additionalAttributes) const field = generateField(fieldItem, additionalAttributes)
// Add new field if is range number // Add new field if is range number
@ -187,6 +190,7 @@ export function generateProcess({ processToGenerate, containerUuidAssociated = u
} }
}) })
}) })
}
// Default Action // Default Action
const actions = [] const actions = []
@ -225,6 +229,7 @@ export function generateProcess({ processToGenerate, containerUuidAssociated = u
isReport: processToGenerate.isReport, isReport: processToGenerate.isReport,
isDirectPrint: processToGenerate.isDirectPrint isDirectPrint: processToGenerate.isDirectPrint
} }
processToGenerate.reportExportTypeList.forEach(actionValue => { processToGenerate.reportExportTypeList.forEach(actionValue => {
// Push values // Push values
summaryAction.childs.push({ summaryAction.childs.push({
@ -240,6 +245,7 @@ export function generateProcess({ processToGenerate, containerUuidAssociated = u
reportExportType: actionValue.reportExportType reportExportType: actionValue.reportExportType
}) })
}) })
// Add summary Actions // Add summary Actions
actions.push(summaryAction) actions.push(summaryAction)
@ -455,39 +461,39 @@ export function convertAction(action) {
switch (action) { switch (action) {
case 'B': case 'B':
actionAttributes.name = 'Workbech' actionAttributes.name = 'workbech'
actionAttributes.icon = 'peoples' actionAttributes.icon = 'peoples'
break break
case 'F': case 'F':
actionAttributes.name = 'Workflow' actionAttributes.name = 'workflow'
actionAttributes.icon = 'example' actionAttributes.icon = 'example'
break break
case 'P': case 'P':
actionAttributes.name = 'Process' actionAttributes.name = 'process'
actionAttributes.icon = 'component' actionAttributes.icon = 'component'
actionAttributes.component = () => import('@/views/ADempiere/Process') actionAttributes.component = () => import('@/views/ADempiere/Process')
break break
case 'R': case 'R':
actionAttributes.name = 'Report' actionAttributes.name = 'report'
actionAttributes.icon = 'skill' actionAttributes.icon = 'skill'
actionAttributes.component = () => import('@/views/ADempiere/Process') actionAttributes.component = () => import('@/views/ADempiere/Process')
break break
case 'S': case 'S':
actionAttributes.name = 'Browser' actionAttributes.name = 'browser'
actionAttributes.icon = 'search' actionAttributes.icon = 'search'
actionAttributes.component = () => import('@/views/ADempiere/Browser') actionAttributes.component = () => import('@/views/ADempiere/Browser')
break break
case 'T': case 'T':
actionAttributes.name = 'Task' actionAttributes.name = 'task'
actionAttributes.icon = 'size' actionAttributes.icon = 'size'
break break
case 'W': case 'W':
actionAttributes.name = 'Window' actionAttributes.name = 'window'
actionAttributes.icon = 'tab' actionAttributes.icon = 'tab'
actionAttributes.component = () => import('@/views/ADempiere/Window') actionAttributes.component = () => import('@/views/ADempiere/Window')
break break
case 'X': case 'X':
actionAttributes.name = 'Form' actionAttributes.name = 'form'
actionAttributes.icon = 'form' actionAttributes.icon = 'form'
break break
default: default: