From 635363a8e522bbfeef26e67c72f7681e4e2bc05d Mon Sep 17 00:00:00 2001 From: elsiosanchez <45974454+elsiosanchez@users.noreply.github.com> Date: Thu, 21 May 2020 11:13:45 -0400 Subject: [PATCH] field search bug fix in LookupFactory (#501) * field search bug fix in LookupFactory * remove console --- src/store/modules/ADempiere/field.js | 10 +-- src/utils/ADempiere/lookupFactory.js | 127 ++++++++++++++------------- 2 files changed, 69 insertions(+), 68 deletions(-) diff --git a/src/store/modules/ADempiere/field.js b/src/store/modules/ADempiere/field.js index 936e2bb9..af99becc 100644 --- a/src/store/modules/ADempiere/field.js +++ b/src/store/modules/ADempiere/field.js @@ -65,22 +65,22 @@ const field = { getters: { getFieldFromUuid: (state) => (uuid) => { return state.fieldList.find(fieldItem => { - return fieldItem.uuid === uuid + return fieldItem.fieldResponse.uuid === uuid }) }, getFieldFromColumnUuid: (state) => (columnUuid) => { return state.fieldList.find(fieldItem => { - return fieldItem.columnUuid === columnUuid + return fieldItem.fieldResponse.columnUuid === columnUuid }) }, getFieldFromElementUuid: (state) => (elementUuid) => { return state.fieldList.find(fieldItem => { - return fieldItem.elementUuid === elementUuid + return fieldItem.fieldResponse.elementUuid === elementUuid }) }, getFieldFromElementColumnName: (state) => (elementColumnName) => { return state.fieldList.find(fieldItem => { - return fieldItem.elementColumnName === elementColumnName + return fieldItem.fieldResponse.elementColumnName === elementColumnName }) }, getFieldFromTableNameAndColumnName: (state) => ({ @@ -88,7 +88,7 @@ const field = { columnName }) => { return state.fieldList.find(fieldItem => { - return fieldItem.tableName === tableName && fieldItem.columnName === columnName + return fieldItem.fieldResponse.tableName === tableName && fieldItem.fieldResponse.columnName === columnName }) } } diff --git a/src/utils/ADempiere/lookupFactory.js b/src/utils/ADempiere/lookupFactory.js index 6ef162b4..097ef807 100644 --- a/src/utils/ADempiere/lookupFactory.js +++ b/src/utils/ADempiere/lookupFactory.js @@ -79,28 +79,28 @@ export function createFieldFromDictionary({ columnName }) } - if (!isEmptyValue(field)) { - return getFactoryFromField({ containerUuid, field }) - } - return new Promise(resolve => { - store.dispatch('getFieldFromServer', { - fieldUuid, - columnUuid, - elementUuid, - elementColumnName, - tableName, - columnName - }) - .then(response => { - resolve(getFactoryFromField({ - containerUuid, - field: response, - overwriteDefinition - })) - }).catch(error => { - console.warn(`LookupFactory: Get Field From Server (State) - Error ${error.code}: ${error.message}.`) + if (isEmptyValue(field)) { + return new Promise(resolve => { + store.dispatch('getFieldFromServer', { + fieldUuid, + columnUuid, + elementUuid, + elementColumnName, + tableName, + columnName }) - }) + .then(response => { + resolve(getFactoryFromField({ + containerUuid, + field: response, + overwriteDefinition + })) + }).catch(error => { + console.warn(`LookupFactory: Get Field From Server (State) - Error ${error.code}: ${error.message}.`) + }) + }) + } + return new Promise(resolve => { resolve(getFactoryFromField({ containerUuid, field })) }) } // Convert field getted from server to factory @@ -109,49 +109,50 @@ function getFactoryFromField({ field, overwriteDefinition = {} }) { + const fieldAttributes = isEmptyValue(field.fieldResponse) ? field : field.fieldResponse const fieldDefinition = { - displayType: field.displayType, - tableName: field.reference.tableName, - directQuery: field.directQuery, - query: field.reference.query, - keyColumnName: field.reference.keyColumnName, - validationCode: field.reference.validationCode, - windowsList: field.reference.windowsList, - id: field.id, - uuid: field.uuid, - name: field.name, - description: field.description, - help: field.help, - fieldGroup: field.fieldGroup, - isFieldOnly: field.isFieldOnly, - isRange: field.isRange, - isSameLine: field.isSameLine, - sequence: field.sequence, - seqNoGrid: field.seqNoGrid, - isIdentifier: field.isIdentifier, - isKey: field.isKey, - isSelectionColumn: field.isSelectionColumn, - isUpdateable: field.isUpdateable, - formatPattern: field.formatPattern, - vFormat: field.vFormat, - defaultValue: field.defaultValue, - defaultValueTo: field.defaultValueTo, - valueMin: field.valueMin, - valueMax: field.valueMax, - isActive: field.isActive, - isMandatory: field.isMandatory, - isReadOnly: field.isReadOnly, - isDisplayedFromLogic: field.isDisplayedFromLogic, - isReadOnlyFromLogic: field.isReadOnlyFromLogic, - isMandatoryFromLogic: field.isMandatoryFromLogic, - callout: field.callout, - isQueryCriteria: field.isQueryCriteria, - displayLogic: field.displayLogic, - mandatoryLogic: field.mandatoryLogic, - readOnlyLogic: field.readOnlyLogic, - parentFieldsList: field.parentFieldsList, - dependentFieldsList: field.dependentFieldsList, - contextInfo: field.contextInfo, + displayType: fieldAttributes.displayType, + tableName: fieldAttributes.reference.tableName, + directQuery: fieldAttributes.directQuery, + query: fieldAttributes.reference.query, + keyColumnName: fieldAttributes.reference.keyColumnName, + validationCode: fieldAttributes.reference.validationCode, + windowsList: fieldAttributes.reference.windowsList, + id: fieldAttributes.id, + uuid: fieldAttributes.uuid, + name: fieldAttributes.name, + description: fieldAttributes.description, + help: fieldAttributes.help, + fieldGroup: fieldAttributes.fieldGroup, + isFieldOnly: fieldAttributes.isFieldOnly, + isRange: fieldAttributes.isRange, + isSameLine: fieldAttributes.isSameLine, + sequence: fieldAttributes.sequence, + seqNoGrid: fieldAttributes.seqNoGrid, + isIdentifier: fieldAttributes.isIdentifier, + isKey: fieldAttributes.isKey, + isSelectionColumn: fieldAttributes.isSelectionColumn, + isUpdateable: fieldAttributes.isUpdateable, + formatPattern: fieldAttributes.formatPattern, + vFormat: fieldAttributes.vFormat, + defaultValue: fieldAttributes.defaultValue, + defaultValueTo: fieldAttributes.defaultValueTo, + valueMin: fieldAttributes.valueMin, + valueMax: fieldAttributes.valueMax, + isActive: fieldAttributes.isActive, + isMandatory: fieldAttributes.isMandatory, + isReadOnly: fieldAttributes.isReadOnly, + isDisplayedFromLogic: fieldAttributes.isDisplayedFromLogic, + isReadOnlyFromLogic: fieldAttributes.isReadOnlyFromLogic, + isMandatoryFromLogic: fieldAttributes.isMandatoryFromLogic, + callout: fieldAttributes.callout, + isQueryCriteria: fieldAttributes.isQueryCriteria, + displayLogic: fieldAttributes.displayLogic, + mandatoryLogic: fieldAttributes.mandatoryLogic, + readOnlyLogic: fieldAttributes.readOnlyLogic, + parentFieldsList: fieldAttributes.parentFieldsList, + dependentFieldsList: fieldAttributes.dependentFieldsList, + contextInfo: fieldAttributes.contextInfo, // Overwrite definition ...overwriteDefinition }