DEV: Mark `bootbox` as deprecated (#18795)

This commit is contained in:
Penar Musaraj 2022-10-31 14:08:35 -04:00 committed by GitHub
parent d22fddf00a
commit b912bb955f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 32 additions and 0 deletions

View File

@ -1,5 +1,7 @@
import autocomplete from "discourse/lib/autocomplete";
import bootbox from "bootbox";
import { getOwner } from "discourse-common/lib/get-owner";
import deprecated from "discourse-common/lib/deprecated";
export default {
name: "jquery-plugins",
@ -8,6 +10,36 @@ export default {
bootbox.animate(false);
bootbox.backdrop(true);
// Monkey-patching simple alerts
const originalAlert = bootbox.alert;
bootbox.alert = function () {
if (arguments.length === 1) {
const dialog = getOwner(this).lookup("service:dialog");
if (dialog) {
deprecated(
"`bootbox.alert` is deprecated, please use the dialog service instead.",
{
dropFrom: "3.1.0.beta5",
}
);
return dialog.alert(arguments[0]);
}
}
return originalAlert(...arguments);
};
// adding deprecation notice for all other dialogs
const originalDialog = bootbox.dialog;
bootbox.dialog = function () {
deprecated(
"`bootbox` is now deprecated, please use the dialog service instead.",
{
dropFrom: "3.1.0.beta5",
}
);
return originalDialog(...arguments);
};
// Initialize the autocomplete tool
$.fn.autocomplete = autocomplete;
},