in labextension/src/components/RuleList.tsx [99:137]
private deleteRule(rule: string) {
return async (): Promise<boolean> => {
const deleteBtn = Dialog.warnButton({ label: 'Delete' });
const result = await showDialog({
title: 'Delete Rule?',
body: `Do you want to delete the rule ${rule}?`,
buttons: [Dialog.cancelButton(), deleteBtn],
});
if (result.button.accept) {
console.log(`deleting rule ${rule}`);
const settings = ServerConnection.makeSettings();
const response = await ServerConnection.makeRequest(
URLExt.join(settings.baseUrl, 'sagemaker-scheduler', 'schedule', rule),
{ method: 'DELETE' },
settings,
);
if (!response.ok) {
const error = (await response.json()) as ErrorResponse;
let errorMessage: string;
if (error.error) {
errorMessage = error.error.message;
} else {
errorMessage = JSON.stringify(error);
}
showDialog({
title: 'Error deleting schedule',
body: <p>{errorMessage}</p>,
buttons: [Dialog.okButton({ label: 'Close' })],
});
return;
}
this.props.model.refresh();
return true;
}
return false;
};
}