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
|
* 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} 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
|
* @param {string} tableId - The table ID which should be reloaded on success
|
||||||
* @return {Promise<Object>} Promise object resolving to the ModalFactory object
|
* @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 */
|
/** Attach the submission click listener for modals that have been generated by raw HTML */
|
||||||
findSubmitButtonAndAddListener(clearOnclick=true) {
|
findSubmitButtonAndAddListener(clearOnclick=true) {
|
||||||
const $submitButton = this.$modal.find('.modal-footer #submitButton')
|
const $submitButton = this.$modal.find('.modal-footer #submitButton')
|
||||||
const formID = $submitButton.data('form-id')
|
if ($submitButton[0]) {
|
||||||
let $form
|
const formID = $submitButton.data('form-id')
|
||||||
if (formID) {
|
let $form
|
||||||
$form = $(formID)
|
if (formID) {
|
||||||
} else {
|
$form = $(formID)
|
||||||
$form = this.$modal.find('form')
|
} else {
|
||||||
}
|
$form = this.$modal.find('form')
|
||||||
if (clearOnclick) {
|
}
|
||||||
$submitButton[0].removeAttribute('onclick')
|
if (clearOnclick) {
|
||||||
}
|
$submitButton[0].removeAttribute('onclick')
|
||||||
|
}
|
||||||
|
|
||||||
this.options.APIConfirm = (tmpApi) => {
|
this.options.APIConfirm = (tmpApi) => {
|
||||||
return tmpApi.postForm($form[0])
|
return tmpApi.postForm($form[0])
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
this.options.POSTSuccessCallback(data)
|
this.options.POSTSuccessCallback(data)
|
||||||
} else { // Validation error
|
} else { // Validation error
|
||||||
this.injectFormValidationFeedback(form, data.errors)
|
this.injectFormValidationFeedback(form, data.errors)
|
||||||
return Promise.reject('Validation error');
|
return Promise.reject('Validation error');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((errorMessage) => {
|
.catch((errorMessage) => {
|
||||||
this.options.POSTFailCallback(errorMessage)
|
this.options.POSTFailCallback(errorMessage)
|
||||||
return Promise.reject(errorMessage);
|
return Promise.reject(errorMessage);
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
$submitButton.click(this.getConfirmationHandlerFunction())
|
||||||
}
|
}
|
||||||
$submitButton.click(this.getConfirmationHandlerFunction())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue