mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Load default values into rendered form
This commit is contained in:
parent
d80948369b
commit
0e9b82c475
@ -46,6 +46,11 @@
|
|||||||
fields: [
|
fields: [
|
||||||
'name',
|
'name',
|
||||||
'description',
|
'description',
|
||||||
|
'website',
|
||||||
|
'address',
|
||||||
|
'phone',
|
||||||
|
'email',
|
||||||
|
'contact',
|
||||||
'is_supplier',
|
'is_supplier',
|
||||||
'is_manufacturer',
|
'is_manufacturer',
|
||||||
'is_customer',
|
'is_customer',
|
||||||
|
@ -110,6 +110,16 @@ function getApiEndpointOptions(url, callback, options) {
|
|||||||
*/
|
*/
|
||||||
function constructCreateForm(fields, options) {
|
function constructCreateForm(fields, options) {
|
||||||
|
|
||||||
|
// Check if default values were provided for any fields
|
||||||
|
for (const name in fields) {
|
||||||
|
|
||||||
|
var field = fields[name];
|
||||||
|
|
||||||
|
if (field.default != null) {
|
||||||
|
field.value = field.default;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// We should have enough information to create the form!
|
// We should have enough information to create the form!
|
||||||
constructFormBody(fields, options);
|
constructFormBody(fields, options);
|
||||||
}
|
}
|
||||||
@ -320,6 +330,8 @@ function constructFormBody(fields, options) {
|
|||||||
|
|
||||||
$(modal).modal('show');
|
$(modal).modal('show');
|
||||||
|
|
||||||
|
updateFieldValues(fields, options);
|
||||||
|
|
||||||
// Setup related fields
|
// Setup related fields
|
||||||
initializeRelatedFields(fields, options)
|
initializeRelatedFields(fields, options)
|
||||||
|
|
||||||
@ -387,6 +399,41 @@ function submitFormData(fields, options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Update (set) the field values based on the specified data.
|
||||||
|
*
|
||||||
|
* Iterate through each of the displayed fields,
|
||||||
|
* and set the 'val' attribute of each one.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function updateFieldValues(fields, options) {
|
||||||
|
|
||||||
|
for (var idx = 0; idx < options.field_names.length; idx++) {
|
||||||
|
|
||||||
|
var name = options.field_names[idx];
|
||||||
|
|
||||||
|
var field = fields[name] || null;
|
||||||
|
|
||||||
|
if (field == null) { continue; }
|
||||||
|
|
||||||
|
var value = field.value || field.default || null;
|
||||||
|
|
||||||
|
if (value == null) { continue; }
|
||||||
|
|
||||||
|
var el = $(options.modal).find(`#id_${name}`);
|
||||||
|
|
||||||
|
switch (field.type) {
|
||||||
|
case 'boolean':
|
||||||
|
el.prop('checked', value);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
el.val(value);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Extract and field value before sending back to the server
|
* Extract and field value before sending back to the server
|
||||||
*
|
*
|
||||||
@ -409,7 +456,6 @@ function getFormFieldValue(name, field, options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handle successful form posting
|
* Handle successful form posting
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user