2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-23 15:20:55 +00:00

Added onInput event for fields in forms - fix for issue () ()

An onInput event is added for fields in forms that gets triggered everytime an input is detected in the field

(cherry picked from commit a3103cf568)

Co-authored-by: Roche Christopher <rocheinside@gmail.com>
This commit is contained in:
github-actions[bot]
2024-07-16 12:13:45 +10:00
committed by GitHub
parent cc4535748e
commit 68e2f08fa5
2 changed files with 20 additions and 2 deletions
src/backend/InvenTree/templates/js/translated

@ -298,7 +298,8 @@ function constructDeleteForm(fields, options) {
* - closeText: Text for the "close" button * - closeText: Text for the "close" button
* - fields: list of fields to display, with the following options * - fields: list of fields to display, with the following options
* - filters: API query filters * - filters: API query filters
* - onEdit: callback or array of callbacks which get fired when field is edited * - onEdit: callback or array of callbacks which get fired when field is edited - does not get triggered until the field loses focus, ref: https://api.jquery.com/change/
* - onInput: callback or array of callbacks which get fired when an input is detected in the field
* - secondary: Define a secondary modal form for this field * - secondary: Define a secondary modal form for this field
* - label: Specify custom label * - label: Specify custom label
* - help_text: Specify custom help_text * - help_text: Specify custom help_text
@ -1642,6 +1643,23 @@ function addFieldCallback(name, field, options) {
}); });
} }
if(field.onInput){
el.on('input', function(){
var value = getFormFieldValue(name, field, options);
let onInputHandlers = field.onInput;
if (!Array.isArray(onInputHandlers)) {
onInputHandlers = [onInputHandlers];
}
for (const onInput of onInputHandlers) {
onInput(value, name, field, options);
}
});
}
// attach field callback for nested fields // attach field callback for nested fields
if(field.type === "nested object") { if(field.type === "nested object") {
for (const [c_name, c_field] of Object.entries(field.children)) { for (const [c_name, c_field] of Object.entries(field.children)) {

@ -343,7 +343,7 @@ function poLineItemFields(options={}) {
reference: {}, reference: {},
purchase_price: { purchase_price: {
icon: 'fa-dollar-sign', icon: 'fa-dollar-sign',
onEdit: function(value, name, field, opts) { onInput: function(value, name, field, opts) {
updateFieldValue('auto_pricing', value === '', {}, opts); updateFieldValue('auto_pricing', value === '', {}, opts);
} }
}, },