Skip to content

Commit

Permalink
updated sweetalert2 to latest + added option shinyWidgets.sweetalert2…
Browse files Browse the repository at this point in the history
…-11.4.8

fix #618
  • Loading branch information
pvictor committed Aug 23, 2023
1 parent a85617b commit db0ea2f
Show file tree
Hide file tree
Showing 12 changed files with 144 additions and 10 deletions.
2 changes: 1 addition & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ shinyWidgets 0.8.0
* `pickerInput()` : added argument `stateInput` to activate or deactivate the special input value `input$<inputId>_open` allowing to know if the menu is opened or not.
* `updateColorPickr()` : added argument `swatches` to update swatches from server.
* Updated virtual-select-plugin to 1.0.39 (fix [#601](https://github.com/dreamRs/shinyWidgets/issues/601)).
* Updated sweetalert2 to v11.7.11.
* Updated sweetalert2 to v11.7.27.
* Updated air-datepicker to 3.3.5.


Expand Down
24 changes: 17 additions & 7 deletions R/dependencies.R
Original file line number Diff line number Diff line change
Expand Up @@ -338,13 +338,23 @@ html_dependency_sweetalert2 <- function(theme = c("sweetalert2",
"bulma",
"borderless")) {
theme <- match.arg(theme)
htmlDependency(
name = "sweetalert2",
version = "11.7.11",
src = c(href="shinyWidgets/sweetalert2", file = "assets/sweetalert2"),
script = c("js/sweetalert2.min.js", "sweetalert-bindings.js"),
stylesheet = sprintf("css/%s.min.css", theme)
)
if (getOption("shinyWidgets.sweetalert2-11.4.8", default = FALSE) == TRUE) {
htmlDependency(
name = "sweetalert2",
version = "11.4.8",
src = c(href="shinyWidgets/sweetalert2-11.4.8", file = "assets/sweetalert2-11.4.8"),
script = c("js/sweetalert2.min.js", "sweetalert-bindings.js"),
stylesheet = sprintf("css/%s.min.css", theme)
)
} else {
htmlDependency(
name = "sweetalert2",
version = "11.7.27",
src = c(href="shinyWidgets/sweetalert2", file = "assets/sweetalert2"),
script = c("js/sweetalert2.min.js", "sweetalert-bindings.js"),
stylesheet = sprintf("css/%s.min.css", theme)
)
}
}


Expand Down
1 change: 1 addition & 0 deletions inst/assets/sweetalert2-11.4.8/css/bootstrap-4.min.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions inst/assets/sweetalert2-11.4.8/css/borderless.min.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions inst/assets/sweetalert2-11.4.8/css/bulma.min.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions inst/assets/sweetalert2-11.4.8/css/dark.min.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions inst/assets/sweetalert2-11.4.8/css/material-ui.min.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions inst/assets/sweetalert2-11.4.8/css/minimal.min.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions inst/assets/sweetalert2-11.4.8/css/sweetalert2.min.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions inst/assets/sweetalert2-11.4.8/js/sweetalert2.min.js

Large diffs are not rendered by default.

116 changes: 116 additions & 0 deletions inst/assets/sweetalert2-11.4.8/sweetalert-bindings.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
/*jshint
jquery:true,
evil: true
*/
/*global Swal, CharacterData, DocumentType, Shiny */

// Sweet-Alert Bindings

Shiny.addCustomMessageHandler("sweetalert-sw", function(data) {
if (data.as_html) {
var elsw = document.createElement("span");
elsw.innerHTML = data.config.text;
data.config.html = elsw;
Swal.fire(data.config).then(function(value) {
var els = $("#" + data.sw_id);
els.each(function(i, el) {
window.Shiny.unbindAll(el, true);
$(el).remove();
return true;
});
});
} else {
Swal.fire(data.config);
}
});

Shiny.addCustomMessageHandler("sweetalert-sw-confirm", function(data) {
Shiny.onInputChange(data.id, null);
function set_confirmation_input(id, result, cancelOnDismiss) {
if (cancelOnDismiss) {
if (result.value) {
Shiny.onInputChange(id, true);
} else {
Shiny.onInputChange(id, false);
}
} else {
if (result.value) {
Shiny.onInputChange(id, true);
} else {
if (result.isDismissed && result.dismiss == "cancel") {
Shiny.onInputChange(id, false);
} else {
Shiny.onInputChange(id, null);
}
}
}
}
if (!data.as_html) {
Swal.fire(data.swal).then(function(result) {
set_confirmation_input(data.id, result, data.cancelOnDismiss);
});
} else {
//var elsw = document.createElement("span");
//elsw.innerHTML = data.swal.text;
//data.swal.html = elsw;
Swal.fire(data.swal).then(function(result) {
set_confirmation_input(data.id, result, data.cancelOnDismiss);
var els = $("#" + data.sw_id);
els.each(function(i, el) {
window.Shiny.unbindAll(el, true);
$(el).remove();
return true;
});
});
}
});

Shiny.addCustomMessageHandler("sweetalert-sw-input", function(data) {
if (data.reset_input) {
Shiny.setInputValue(data.id, null);
}
if (data.eval instanceof Array) {
$.each(data.eval, function (i, x) {
data.swal[x] = eval("(" + data.swal[x][0] + ")");
});
}
Swal.fire(data.swal).then(function(result) {
Shiny.setInputValue(data.id, result.value, { priority: "event" });
});
});

Shiny.addCustomMessageHandler("sweetalert-sw-progress", function(data) {
var itm = document.getElementById(data.idel);
itm.style.display = "block";
data.content = itm;
Swal.fire(data);
});

Shiny.addCustomMessageHandler("sweetalert-toast", function(data) {
Swal.fire(data);
});

// https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove
(function(arr) {
arr.forEach(function(item) {
if (item.hasOwnProperty("remove")) {
return;
}
Object.defineProperty(item, "remove", {
configurable: true,
enumerable: true,
writable: true,
value: function remove() {
if (this.parentNode === null) {
return;
}
this.parentNode.removeChild(this);
}
});
});
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);

Shiny.addCustomMessageHandler("sweetalert-sw-close", function(data) {
Swal.close();
});

4 changes: 2 additions & 2 deletions inst/assets/sweetalert2/js/sweetalert2.min.js

Large diffs are not rendered by default.

0 comments on commit db0ea2f

Please sign in to comment.