fix: [js:bootstrap-helper] Make sure button exists
parent
008c674f4d
commit
8f1a17142b
|
@ -48,6 +48,7 @@ class UIFactory {
|
|||
/**
|
||||
* Creates and displays a modal where the modal's content is fetched from the provided URL. Reloads the table after a successful operation and handles displayOnSuccess option
|
||||
* @param {string} url - The URL from which the modal's content should be fetched
|
||||
* @param {string} reloadUrl - The URL from which the data should be fetched after confirming
|
||||
* @param {string} tableId - The table ID which should be reloaded on success
|
||||
* @return {Promise<Object>} Promise object resolving to the ModalFactory object
|
||||
*/
|
||||
|
@ -588,33 +589,35 @@ class ModalFactory {
|
|||
/** Attach the submission click listener for modals that have been generated by raw HTML */
|
||||
findSubmitButtonAndAddListener(clearOnclick=true) {
|
||||
const $submitButton = this.$modal.find('.modal-footer #submitButton')
|
||||
const formID = $submitButton.data('form-id')
|
||||
let $form
|
||||
if (formID) {
|
||||
$form = $(formID)
|
||||
} else {
|
||||
$form = this.$modal.find('form')
|
||||
if ($submitButton[0]) {
|
||||
const formID = $submitButton.data('form-id')
|
||||
let $form
|
||||
if (formID) {
|
||||
$form = $(formID)
|
||||
} else {
|
||||
$form = this.$modal.find('form')
|
||||
}
|
||||
if (clearOnclick) {
|
||||
$submitButton[0].removeAttribute('onclick')
|
||||
}
|
||||
|
||||
this.options.APIConfirm = (tmpApi) => {
|
||||
return tmpApi.postForm($form[0])
|
||||
.then((data) => {
|
||||
if (data.success) {
|
||||
this.options.POSTSuccessCallback(data)
|
||||
} else { // Validation error
|
||||
this.injectFormValidationFeedback(form, data.errors)
|
||||
return Promise.reject('Validation error');
|
||||
}
|
||||
})
|
||||
.catch((errorMessage) => {
|
||||
this.options.POSTFailCallback(errorMessage)
|
||||
return Promise.reject(errorMessage);
|
||||
})
|
||||
}
|
||||
$submitButton.click(this.getConfirmationHandlerFunction())
|
||||
}
|
||||
if (clearOnclick) {
|
||||
$submitButton[0].removeAttribute('onclick')
|
||||
}
|
||||
|
||||
this.options.APIConfirm = (tmpApi) => {
|
||||
return tmpApi.postForm($form[0])
|
||||
.then((data) => {
|
||||
if (data.success) {
|
||||
this.options.POSTSuccessCallback(data)
|
||||
} else { // Validation error
|
||||
this.injectFormValidationFeedback(form, data.errors)
|
||||
return Promise.reject('Validation error');
|
||||
}
|
||||
})
|
||||
.catch((errorMessage) => {
|
||||
this.options.POSTFailCallback(errorMessage)
|
||||
return Promise.reject(errorMessage);
|
||||
})
|
||||
}
|
||||
$submitButton.click(this.getConfirmationHandlerFunction())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue