fix: The fields of type Yes-No and Number, take the fields as empty . (#299)
* fix: The fields of type Si-No and Number, take the fields as empty . * fix: Values preference.pull/3759/head
parent
343949371e
commit
4de4076230
|
@ -784,7 +784,9 @@ export default {
|
||||||
isSendServer: false
|
isSendServer: false
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
const fieldsEmpty = this.$store.getters.getFieldListEmptyMandatory({ containerUuid: this.containerUuid })
|
const fieldsEmpty = this.$store.getters.getFieldListEmptyMandatory({
|
||||||
|
containerUuid: this.containerUuid
|
||||||
|
})
|
||||||
this.$message({
|
this.$message({
|
||||||
message: this.$t('notifications.mandatoryFieldMissing') + fieldsEmpty,
|
message: this.$t('notifications.mandatoryFieldMissing') + fieldsEmpty,
|
||||||
type: 'info'
|
type: 'info'
|
||||||
|
|
|
@ -57,17 +57,36 @@ export const fieldMixin = {
|
||||||
* @param {string} label, or displayColumn to show in select
|
* @param {string} label, or displayColumn to show in select
|
||||||
*/
|
*/
|
||||||
handleChange(value, valueTo = undefined, label = undefined) {
|
handleChange(value, valueTo = undefined, label = undefined) {
|
||||||
|
let newValue = value
|
||||||
|
let isSendCallout = true
|
||||||
|
let isSendToServer = true
|
||||||
|
let isChangedOldValue = false
|
||||||
|
if (value === 'NotSend') {
|
||||||
|
newValue = this.value
|
||||||
|
if (this.componentPath === 'FieldYesNo') {
|
||||||
|
isChangedOldValue = true
|
||||||
|
newValue = Boolean(newValue)
|
||||||
|
}
|
||||||
|
isSendToServer = false
|
||||||
|
isSendCallout = false
|
||||||
|
}
|
||||||
|
if (this.metadata.isAdvancedQuery) {
|
||||||
|
isSendToServer = false
|
||||||
|
isSendCallout = false
|
||||||
|
}
|
||||||
|
|
||||||
const sendParameters = {
|
const sendParameters = {
|
||||||
parentUuid: this.metadata.parentUuid,
|
parentUuid: this.metadata.parentUuid,
|
||||||
containerUuid: this.metadata.containerUuid,
|
containerUuid: this.metadata.containerUuid,
|
||||||
field: this.metadata,
|
field: this.metadata,
|
||||||
panelType: this.metadata.panelType,
|
panelType: this.metadata.panelType,
|
||||||
columnName: this.metadata.columnName,
|
columnName: this.metadata.columnName,
|
||||||
newValue: value === 'NotSend' ? this.value : value,
|
newValue,
|
||||||
valueTo: valueTo,
|
valueTo,
|
||||||
isAdvancedQuery: this.metadata.isAdvancedQuery,
|
isAdvancedQuery: this.metadata.isAdvancedQuery,
|
||||||
isSendToServer: !(value === 'NotSend' || this.metadata.isAdvancedQuery),
|
isSendToServer,
|
||||||
isSendCallout: !(value === 'NotSend' || this.metadata.isAdvancedQuery)
|
isSendCallout,
|
||||||
|
isChangedOldValue
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.metadata.inTable) {
|
if (this.metadata.inTable) {
|
||||||
|
@ -80,8 +99,7 @@ export const fieldMixin = {
|
||||||
} else {
|
} else {
|
||||||
this.$store.dispatch('notifyFieldChange', {
|
this.$store.dispatch('notifyFieldChange', {
|
||||||
...sendParameters,
|
...sendParameters,
|
||||||
displayColumn: label,
|
displayColumn: label
|
||||||
isChangedOldValue: this.metadata.componentPath === 'FieldYesNo' && Boolean(value === 'NotSend')
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -647,7 +647,8 @@ const panel = {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const fieldsEmpty = getters.getFieldListEmptyMandatory({
|
const fieldsEmpty = getters.getFieldListEmptyMandatory({
|
||||||
containerUuid
|
containerUuid,
|
||||||
|
fieldsList: fieldList
|
||||||
})
|
})
|
||||||
showMessage({
|
showMessage({
|
||||||
message: language.t('notifications.mandatoryFieldMissing') + fieldsEmpty,
|
message: language.t('notifications.mandatoryFieldMissing') + fieldsEmpty,
|
||||||
|
@ -930,37 +931,37 @@ const panel = {
|
||||||
|
|
||||||
return field
|
return field
|
||||||
},
|
},
|
||||||
getEmptyMandatory: (state, getters) => (containerUuid) => {
|
|
||||||
return getters.getFieldsListFromPanel(containerUuid).find(itemField => {
|
|
||||||
if ((itemField.isMandatory || itemField.isMandatoryFromLogic) && isEmptyValue(itemField.value)) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// Obtain empty obligatory fields
|
// Obtain empty obligatory fields
|
||||||
getFieldListEmptyMandatory: (state, getters) => (parameters) => {
|
getFieldListEmptyMandatory: (state, getters) => ({
|
||||||
const { containerUuid, evaluateShowed = true, row } = parameters
|
containerUuid,
|
||||||
|
fieldsList = [],
|
||||||
|
isEvaluateShowed = true,
|
||||||
|
row
|
||||||
|
}) => {
|
||||||
|
if (fieldsList.length <= 0) {
|
||||||
|
fieldsList = getters.getFieldsListFromPanel(containerUuid)
|
||||||
|
}
|
||||||
|
|
||||||
// all optionals (not mandatory) fields
|
// all optionals (not mandatory) fields
|
||||||
var fieldList = getters.getFieldsListFromPanel(containerUuid).filter(fieldItem => {
|
fieldsList = fieldsList.filter(fieldItem => {
|
||||||
const isMandatory = fieldItem.isMandatory || fieldItem.isMandatoryFromLogic
|
const isMandatory = fieldItem.isMandatory || fieldItem.isMandatoryFromLogic
|
||||||
if (isMandatory) {
|
if (isMandatory) {
|
||||||
if (evaluateShowed) {
|
if (isEvaluateShowed) {
|
||||||
return fieldIsDisplayed(fieldItem)
|
return fieldIsDisplayed(fieldItem)
|
||||||
}
|
}
|
||||||
return isMandatory
|
return isMandatory
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
fieldList = fieldList.filter(fieldItem => {
|
fieldsList = fieldsList.filter(fieldItem => {
|
||||||
var value = fieldItem.value
|
let value = fieldItem.value
|
||||||
// used when evaluate data in table
|
// used when evaluate data in table
|
||||||
if (row) {
|
if (row) {
|
||||||
value = row[fieldItem.columnName]
|
value = row[fieldItem.columnName]
|
||||||
}
|
}
|
||||||
if (isEmptyValue(value)) {
|
return isEmptyValue(value)
|
||||||
return true
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
return fieldList.map(fieldItem => {
|
|
||||||
|
return fieldsList.map(fieldItem => {
|
||||||
return fieldItem.name
|
return fieldItem.name
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
@ -75,16 +75,16 @@ const window = {
|
||||||
...tabItem,
|
...tabItem,
|
||||||
containerUuid: tabItem.uuid,
|
containerUuid: tabItem.uuid,
|
||||||
parentUuid: windowUuid,
|
parentUuid: windowUuid,
|
||||||
windowUuid: windowUuid,
|
windowUuid,
|
||||||
tabGroup: tabItem.fieldGroup,
|
tabGroup: tabItem.fieldGroup,
|
||||||
firstTabUuid: firstTabUuid,
|
firstTabUuid,
|
||||||
// relations
|
// relations
|
||||||
isParentTab: Boolean(firstTab === tabItem.tableName),
|
isParentTab: Boolean(firstTab === tabItem.tableName),
|
||||||
// app properties
|
// app properties
|
||||||
isAssociatedTabSequence: false, // show modal with order tab
|
isAssociatedTabSequence: false, // show modal with order tab
|
||||||
isShowedRecordNavigation: !(tabItem.isSingleRow),
|
isShowedRecordNavigation: !(tabItem.isSingleRow),
|
||||||
isLoadFieldList: false,
|
isLoadFieldList: false,
|
||||||
index: index
|
index
|
||||||
}
|
}
|
||||||
delete tab.processesList
|
delete tab.processesList
|
||||||
|
|
||||||
|
@ -217,7 +217,7 @@ const window = {
|
||||||
...responseWindow,
|
...responseWindow,
|
||||||
...tabProperties,
|
...tabProperties,
|
||||||
isShowedRecordNavigation: undefined,
|
isShowedRecordNavigation: undefined,
|
||||||
firstTabUuid: firstTabUuid,
|
firstTabUuid,
|
||||||
windowIndex: state.windowIndex + 1
|
windowIndex: state.windowIndex + 1
|
||||||
}
|
}
|
||||||
commit('addWindow', newWindow)
|
commit('addWindow', newWindow)
|
||||||
|
@ -242,14 +242,14 @@ const window = {
|
||||||
return getTabMetadata(containerUuid)
|
return getTabMetadata(containerUuid)
|
||||||
.then(tabResponse => {
|
.then(tabResponse => {
|
||||||
const additionalAttributes = {
|
const additionalAttributes = {
|
||||||
parentUuid: parentUuid,
|
parentUuid,
|
||||||
containerUuid: containerUuid,
|
containerUuid,
|
||||||
isShowedFromUser: true,
|
isShowedFromUser: true,
|
||||||
panelType: panelType,
|
panelType,
|
||||||
tableName: tabResponse.tableName,
|
tableName: tabResponse.tableName,
|
||||||
//
|
//
|
||||||
isReadOnlyFromForm: false,
|
isReadOnlyFromForm: false,
|
||||||
isAdvancedQuery: isAdvancedQuery
|
isAdvancedQuery
|
||||||
}
|
}
|
||||||
|
|
||||||
let fieldUuidsequence = 0
|
let fieldUuidsequence = 0
|
||||||
|
@ -291,7 +291,7 @@ const window = {
|
||||||
sequence: (fieldUuidsequence + 10),
|
sequence: (fieldUuidsequence + 10),
|
||||||
name: 'UUID',
|
name: 'UUID',
|
||||||
columnName: 'UUID',
|
columnName: 'UUID',
|
||||||
isAdvancedQuery: isAdvancedQuery,
|
isAdvancedQuery,
|
||||||
componentPath: 'FieldText'
|
componentPath: 'FieldText'
|
||||||
}
|
}
|
||||||
const field = getFieldTemplate(attributesOverwrite)
|
const field = getFieldTemplate(attributesOverwrite)
|
||||||
|
@ -301,18 +301,18 @@ const window = {
|
||||||
// Panel for save on store
|
// Panel for save on store
|
||||||
const panel = {
|
const panel = {
|
||||||
...getters.getTab(parentUuid, containerUuid),
|
...getters.getTab(parentUuid, containerUuid),
|
||||||
isAdvancedQuery: isAdvancedQuery,
|
isAdvancedQuery,
|
||||||
fieldLinkColumnName: fieldLinkColumnName,
|
fieldLinkColumnName: fieldLinkColumnName,
|
||||||
fieldList: fieldsList,
|
fieldList: fieldsList,
|
||||||
panelType: panelType,
|
panelType,
|
||||||
// app attributes
|
// app attributes
|
||||||
isShowedTotals: false
|
isShowedTotals: false
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch('addPanel', panel)
|
dispatch('addPanel', panel)
|
||||||
dispatch('setTabIsLoadField', {
|
dispatch('setTabIsLoadField', {
|
||||||
parentUuid: parentUuid,
|
parentUuid,
|
||||||
containerUuid: containerUuid
|
containerUuid
|
||||||
})
|
})
|
||||||
return panel
|
return panel
|
||||||
})
|
})
|
||||||
|
|
|
@ -211,14 +211,12 @@ export function getPreference({
|
||||||
|
|
||||||
// SYSTEM PREFERENCES
|
// SYSTEM PREFERENCES
|
||||||
// Login setting
|
// Login setting
|
||||||
if (!isEmptyValue(parentUuid)) {
|
// get # globals context only window
|
||||||
// get # globals context only window
|
retValue = getContext({
|
||||||
retValue = getContext({
|
columnName: '#' + columnName
|
||||||
columnName: '#' + columnName
|
})
|
||||||
})
|
if (!isEmptyValue(retValue)) {
|
||||||
if (!isEmptyValue(retValue)) {
|
return retValue
|
||||||
return retValue
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Accounting setting
|
// Accounting setting
|
||||||
|
|
|
@ -22,28 +22,28 @@ export function generateField(fieldToGenerate, moreAttributes, typeRange = false
|
||||||
const referenceType = componentReference.alias[0]
|
const referenceType = componentReference.alias[0]
|
||||||
|
|
||||||
let parsedDefaultValue = fieldToGenerate.defaultValue
|
let parsedDefaultValue = fieldToGenerate.defaultValue
|
||||||
if (isEmptyValue(parsedDefaultValue)) {
|
if (!moreAttributes.isAdvancedQuery) {
|
||||||
parsedDefaultValue = getPreference({
|
if (String(parsedDefaultValue).includes('@')) {
|
||||||
parentUuid: fieldToGenerate.parentUuid,
|
parsedDefaultValue = parseContext({
|
||||||
containerUuid: fieldToGenerate.containerUuid,
|
...moreAttributes,
|
||||||
columnName: fieldToGenerate.columnName
|
columnName: fieldToGenerate.columnName,
|
||||||
})
|
value: parsedDefaultValue
|
||||||
|
}).value
|
||||||
|
}
|
||||||
if (isEmptyValue(parsedDefaultValue)) {
|
if (isEmptyValue(parsedDefaultValue)) {
|
||||||
|
parsedDefaultValue = getPreference({
|
||||||
|
parentUuid: fieldToGenerate.parentUuid,
|
||||||
|
containerUuid: fieldToGenerate.containerUuid,
|
||||||
|
columnName: fieldToGenerate.columnName
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (isEmptyValue(parsedDefaultValue) && !isEmptyValue(fieldToGenerate.elementName)) {
|
||||||
parsedDefaultValue = getPreference({
|
parsedDefaultValue = getPreference({
|
||||||
parentUuid: fieldToGenerate.parentUuid,
|
parentUuid: fieldToGenerate.parentUuid,
|
||||||
containerUuid: fieldToGenerate.containerUuid,
|
containerUuid: fieldToGenerate.containerUuid,
|
||||||
columnName: fieldToGenerate.elementName
|
columnName: fieldToGenerate.elementName
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else if (String(parsedDefaultValue).includes('@')) {
|
|
||||||
// if (String(parsedDefaultValue).includes('@SQL=')) {
|
|
||||||
// parsedDefaultValue.replace('@SQL=', '')
|
|
||||||
// }
|
|
||||||
parsedDefaultValue = parseContext({
|
|
||||||
...moreAttributes,
|
|
||||||
columnName: fieldToGenerate.columnName,
|
|
||||||
value: parsedDefaultValue
|
|
||||||
}).value
|
|
||||||
}
|
}
|
||||||
parsedDefaultValue = parsedValueComponent({
|
parsedDefaultValue = parsedValueComponent({
|
||||||
fieldType: componentReference.type,
|
fieldType: componentReference.type,
|
||||||
|
@ -53,28 +53,30 @@ export function generateField(fieldToGenerate, moreAttributes, typeRange = false
|
||||||
})
|
})
|
||||||
|
|
||||||
let parsedDefaultValueTo = fieldToGenerate.defaultValueTo
|
let parsedDefaultValueTo = fieldToGenerate.defaultValueTo
|
||||||
if (isEmptyValue(parsedDefaultValueTo)) {
|
if (!moreAttributes.isAdvancedQuery) {
|
||||||
parsedDefaultValueTo = getPreference({
|
// if (String(parsedDefaultValueTo).includes('@SQL=')) {
|
||||||
parentUuid: fieldToGenerate.parentUuid,
|
// parsedDefaultValueTo.replace('@SQL=', '')
|
||||||
containerUuid: fieldToGenerate.containerUuid,
|
if (String(parsedDefaultValueTo).includes('@')) {
|
||||||
columnName: `${fieldToGenerate.columnName}_To`
|
parsedDefaultValueTo = parseContext({
|
||||||
})
|
...moreAttributes,
|
||||||
if (isEmptyValue()) {
|
columnName: `${fieldToGenerate.columnName}_To`,
|
||||||
|
value: parsedDefaultValueTo
|
||||||
|
}).value
|
||||||
|
}
|
||||||
|
if (isEmptyValue(parsedDefaultValueTo)) {
|
||||||
|
parsedDefaultValueTo = getPreference({
|
||||||
|
parentUuid: fieldToGenerate.parentUuid,
|
||||||
|
containerUuid: fieldToGenerate.containerUuid,
|
||||||
|
columnName: `${fieldToGenerate.columnName}_To`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (isEmptyValue(parsedDefaultValueTo) && !isEmptyValue(fieldToGenerate.elementName)) {
|
||||||
parsedDefaultValueTo = getPreference({
|
parsedDefaultValueTo = getPreference({
|
||||||
parentUuid: fieldToGenerate.parentUuid,
|
parentUuid: fieldToGenerate.parentUuid,
|
||||||
containerUuid: fieldToGenerate.containerUuid,
|
containerUuid: fieldToGenerate.containerUuid,
|
||||||
columnName: `${fieldToGenerate.elementName}_To`
|
columnName: `${fieldToGenerate.elementName}_To`
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else if (String(parsedDefaultValueTo).includes('@')) {
|
|
||||||
// if (String(parsedDefaultValueTo).includes('@SQL=')) {
|
|
||||||
// parsedDefaultValueTo.replace('@SQL=', '')
|
|
||||||
// }
|
|
||||||
parsedDefaultValueTo = parseContext({
|
|
||||||
...moreAttributes,
|
|
||||||
columnName: fieldToGenerate.columnName,
|
|
||||||
value: fieldToGenerate.defaultValueTo
|
|
||||||
}).value
|
|
||||||
}
|
}
|
||||||
parsedDefaultValueTo = parsedValueComponent({
|
parsedDefaultValueTo = parsedValueComponent({
|
||||||
fieldType: componentReference.type,
|
fieldType: componentReference.type,
|
||||||
|
|
|
@ -282,7 +282,10 @@ export const recursiveTreeSearch = ({
|
||||||
* @param {*} param0
|
* @param {*} param0
|
||||||
*/
|
*/
|
||||||
export function parsedValueComponent({ fieldType, value, referenceType, isMandatory = false }) {
|
export function parsedValueComponent({ fieldType, value, referenceType, isMandatory = false }) {
|
||||||
if (value === undefined || value === null) {
|
if ((value === undefined || value === null) && !isMandatory) {
|
||||||
|
if (fieldType === 'FieldYesNo') {
|
||||||
|
return Boolean(value)
|
||||||
|
}
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
var returnValue
|
var returnValue
|
||||||
|
@ -290,7 +293,7 @@ export function parsedValueComponent({ fieldType, value, referenceType, isMandat
|
||||||
switch (fieldType) {
|
switch (fieldType) {
|
||||||
// data type Number
|
// data type Number
|
||||||
case 'FieldNumber':
|
case 'FieldNumber':
|
||||||
if (String(value).trim() === '') {
|
if (String(value).trim() === '' || value === undefined || value === null) {
|
||||||
returnValue = undefined
|
returnValue = undefined
|
||||||
if (isMandatory) {
|
if (isMandatory) {
|
||||||
returnValue = 0
|
returnValue = 0
|
||||||
|
@ -322,7 +325,7 @@ export function parsedValueComponent({ fieldType, value, referenceType, isMandat
|
||||||
if (typeof value === 'object' && value.hasOwnProperty('query')) {
|
if (typeof value === 'object' && value.hasOwnProperty('query')) {
|
||||||
returnValue = value
|
returnValue = value
|
||||||
}
|
}
|
||||||
returnValue = String(value)
|
returnValue = value ? String(value) : undefined
|
||||||
break
|
break
|
||||||
|
|
||||||
// data type Date
|
// data type Date
|
||||||
|
|
Loading…
Reference in New Issue