Fixes issue with mapping values during the transactions import (#1327)
* Adds custom debounce timeout to autosubmit form controller - There's a default debounce timeout based on element type - You can parameterize debounce timeout on a data-attribute * Adds corrections based on js_lint * Restores sleep on test --------- Co-authored-by: Nicolás Galdámez <nicolas.galdamez@unagisoftware.com>
This commit was merged in pull request #1327.
This commit is contained in:
@@ -24,10 +24,31 @@ export default class extends Controller {
|
||||
});
|
||||
}
|
||||
|
||||
handleInput = () => {
|
||||
handleInput = (event) => {
|
||||
const target = event.target
|
||||
|
||||
clearTimeout(this.timeout);
|
||||
this.timeout = setTimeout(() => {
|
||||
this.element.requestSubmit();
|
||||
}, 500);
|
||||
}, this.#debounceTimeout(target));
|
||||
};
|
||||
|
||||
#debounceTimeout(element) {
|
||||
if(element.dataset.autosubmitDebounceTimeout) {
|
||||
return Number.parseInt(element.dataset.autosubmitDebounceTimeout);
|
||||
}
|
||||
|
||||
const type = element.type || element.tagName;
|
||||
|
||||
switch (type.toLowerCase()) {
|
||||
case 'input':
|
||||
case 'textarea':
|
||||
return 500;
|
||||
case 'select-one':
|
||||
case 'select-multiple':
|
||||
return 0;
|
||||
default:
|
||||
return 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ class ImportsTest < ApplicationSystemTestCase
|
||||
within(form) do
|
||||
select = form.find("select")
|
||||
select "Depository", from: select["id"]
|
||||
sleep 1
|
||||
sleep 0.5
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user