Add onClose for modals
This commit is contained in:
parent
c6c54bf620
commit
7a7912ef6d
|
@ -50,6 +50,7 @@ const UI = {
|
|||
* @param {string} [options.cancelText=Cancel] Text for the cancel button
|
||||
* @param {callable} [options.onConfirm=NOOP] Callback to occur when clicking the submit button
|
||||
* @param {callable} [options.onCancel=NOOP] Callback to occur when clicking the cancel button
|
||||
* @param {callable} [options.onClose=NOOP] Callback to occur when exiting the modal
|
||||
* @returns {string} The key used for this modal.
|
||||
*/
|
||||
showConfirmationModal(title, content, options = {}) {
|
||||
|
|
|
@ -157,6 +157,7 @@ export default class Modals {
|
|||
* @param {string} [options.cancelText=Cancel] - text for the cancel button
|
||||
* @param {callable} [options.onConfirm=NOOP] - callback to occur when clicking the submit button
|
||||
* @param {callable} [options.onCancel=NOOP] - callback to occur when clicking the cancel button
|
||||
* @param {callable} [options.onClose=NOOP] - callback to occur when exiting the modal
|
||||
* @param {string} [options.key] - key used to identify the modal. If not provided, one is generated and returned
|
||||
* @returns {string} - the key used for this modal
|
||||
*/
|
||||
|
@ -168,7 +169,7 @@ export default class Modals {
|
|||
if (content instanceof FormattableString) content = content.toString();
|
||||
|
||||
const emptyFunction = () => {};
|
||||
const {onConfirm = emptyFunction, onCancel = emptyFunction, confirmText = Strings.Modals.okay, cancelText = Strings.Modals.cancel, danger = false, key = undefined} = options;
|
||||
const {onClose = emptyFunction, onConfirm = emptyFunction, onCancel = emptyFunction, confirmText = Strings.Modals.okay, cancelText = Strings.Modals.cancel, danger = false, key = undefined} = options;
|
||||
|
||||
if (!this.ModalActions || !this.ConfirmationModal || !this.Markdown) {
|
||||
return this.default(title, content, [
|
||||
|
@ -181,6 +182,7 @@ export default class Modals {
|
|||
content = content.map(c => typeof(c) === "string" ? React.createElement(Markdown, null, c) : c);
|
||||
|
||||
const modalKey = ModalActions.openModal(props => {
|
||||
console.log(props);
|
||||
return React.createElement(ErrorBoundary, {
|
||||
onError: () => {
|
||||
setTimeout(() => {
|
||||
|
@ -197,7 +199,8 @@ export default class Modals {
|
|||
confirmText: confirmText,
|
||||
cancelText: cancelText,
|
||||
onConfirm: onConfirm,
|
||||
onCancel: onCancel
|
||||
onCancel: onCancel,
|
||||
onCloseCallback: () => {if (props?.transitionState === 1) onClose?.()}
|
||||
}, props), React.createElement(ErrorBoundary, {}, content)));
|
||||
}, {modalKey: key});
|
||||
return modalKey;
|
||||
|
|
Loading…
Reference in New Issue