cerebral-module-ui-driver
Advanced tools
Comparing version
@@ -22,2 +22,5 @@ 'use strict'; | ||
var values = []; | ||
var fieldNames = fields.map(function (field) { | ||
return field.name; | ||
}); | ||
@@ -35,3 +38,4 @@ var isValid = true; | ||
// form validation values come from state (previous single field validation result is used if found) | ||
value = driverModule.state.get(fieldPath) || { | ||
value = driverModule.state.get(fieldPath); | ||
value = value ? Object.assign({}, value) : { | ||
isTypeValid: true, | ||
@@ -66,3 +70,3 @@ typedValue: formModule.state.get(field.name) | ||
output({ moduleName: moduleName, fields: values, validateForm: !singleField }); | ||
output({ moduleName: moduleName, fields: values, validateForm: !singleField, fieldNames: fieldNames }); | ||
} |
@@ -14,2 +14,3 @@ 'use strict'; | ||
var validateForm = _ref$input.validateForm; | ||
var fieldNames = _ref$input.fieldNames; | ||
var output = _ref.output; | ||
@@ -23,6 +24,3 @@ | ||
return new Promise(function (resolve) { | ||
form.fields[field.name].validate({ | ||
module: formModule, | ||
field: field | ||
}, function (error) { | ||
form.fields[field.name].validate(field.typedValue, function (error) { | ||
field.isValidating = false; | ||
@@ -38,14 +36,15 @@ if (error) { | ||
if (validateForm && typeof form.validate === 'function') { | ||
new Promise(function (resolve) { | ||
form.validate({ | ||
module: formModule, | ||
fields: driverModule.get([moduleName, 'fields']) | ||
}, resolve); | ||
}).then(function (error) { | ||
return output({ moduleName: moduleName, fields: values, error: error }); | ||
}); | ||
(function () { | ||
var allFields = driverModule.state.get([moduleName, 'fields']); | ||
form.validate(Object.keys(allFields).reduce(function (data, name) { | ||
data[name] = allFields[name].typedValue; | ||
return data; | ||
}, {}), function (error) { | ||
return output({ moduleName: moduleName, fields: values, error: error, fieldNames: fieldNames }); | ||
}); | ||
})(); | ||
} else { | ||
output({ moduleName: moduleName, fields: values }); | ||
output({ moduleName: moduleName, fields: values, fieldNames: fieldNames }); | ||
} | ||
}); | ||
} |
@@ -13,2 +13,4 @@ 'use strict'; | ||
var error = _args$input.error; | ||
var fieldNames = _args$input.fieldNames; | ||
var validateForm = _args$input.validateForm; | ||
var output = args.output; | ||
@@ -38,4 +40,9 @@ | ||
if (isValid && typeof form.afterValidate === 'function') { | ||
form.afterValidate(args); | ||
if (typeof form.onAfterValidate === 'function') { | ||
form.onAfterValidate(Object.assign({}, args, { | ||
fields: fieldNames, | ||
isValid: isValid, | ||
isFormValidation: validateForm, | ||
isFieldValidation: !validateForm | ||
})); | ||
} | ||
@@ -42,0 +49,0 @@ |
@@ -25,3 +25,3 @@ 'use strict'; | ||
var useInputValue = typeof meta.value !== 'undefined' && meta.value !== null; | ||
var field = formModule.meta.form.fields[fieldName] || {}; | ||
var field = formModule.meta.form && formModule.meta.form.fields && formModule.meta.form.fields[fieldName] || {}; | ||
var formattedValue = noFormatting ? formValue : format(formValue, driverModule.meta.options.formatters[field.type]); | ||
@@ -28,0 +28,0 @@ var value = useInputValue ? meta.value : formattedValue; |
{ | ||
"name": "cerebral-module-ui-driver", | ||
"version": "0.6.1", | ||
"version": "0.6.2", | ||
"description": "A driver for connecting ui components to cerebral", | ||
@@ -5,0 +5,0 @@ "main": "lib/driver.js", |
39839
1.47%646
1.57%