in src/confirm-service/confirm-service.tsx [40:84]
export default function confirm({
text,
description,
confirmLabel = 'OK',
rejectLabel = 'Cancel',
cancelIsDefault,
onBeforeConfirm,
buttonsHeight,
}: ConfirmServiceParams) {
return new Promise<void>((resolve, reject) => {
const props = {
text,
description,
confirmLabel,
rejectLabel,
cancelIsDefault,
buttonsHeight,
show: true,
onConfirm: () => {
if (onBeforeConfirm) {
renderConfirm({...props, inProgress: true});
return Promise.resolve(onBeforeConfirm())
.then(() => {
renderConfirm({...props, show: false});
resolve();
})
.catch(err => {
renderConfirm({...props, show: false});
reject(err);
});
}
renderConfirm({...props, show: false});
return resolve();
},
onReject: () => {
renderConfirm({...props, show: false});
reject(new Error('Confirm(@jetbrains/ring-ui): null exception'));
},
};
renderConfirm(props);
});
}