You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
685 B
TypeScript
20 lines
685 B
TypeScript
4 years ago
|
import { AutoloadPage } from 'vj/misc/Page';
|
||
4 years ago
|
import delay from 'vj/utils/delay';
|
||
4 years ago
|
|
||
|
const formPage = new AutoloadPage('formPage', () => {
|
||
|
$(document).on('vjFormDisableUpdate', 'input, select, textarea', (ev) => {
|
||
|
const $input = $(ev.currentTarget);
|
||
|
const $formItem = $input.closest('.form__item');
|
||
3 years ago
|
$formItem[$input.prop('disabled') ? 'addClass' : 'removeClass']('is--disabled');
|
||
4 years ago
|
});
|
||
4 years ago
|
|
||
|
const submitting = {};
|
||
4 years ago
|
$(document).on('click', '[type="submit"]', (ev) => {
|
||
4 years ago
|
if (submitting[ev.currentTarget]) ev.preventDefault();
|
||
4 years ago
|
submitting[ev.currentTarget] = true;
|
||
4 years ago
|
delay(5000).then(() => { submitting[ev.currentTarget] = false; });
|
||
|
});
|
||
4 years ago
|
});
|
||
|
|
||
|
export default formPage;
|