diff --git a/2019/07/bsdialog-v0.1.0.025.js b/2019/07/bsdialog-v0.1.0.025.js new file mode 100644 index 0000000..bbb49d1 --- /dev/null +++ b/2019/07/bsdialog-v0.1.0.025.js @@ -0,0 +1,114 @@ +/** + * BSDialog + * @version v0.1.0.025 (2019/07/26 1022) + */ +var BSDialog = { + Create: function(id, title, url, is_big, update_body) { + var a = this; + var isBig = ((typeof(is_big) == "undefined") ? false : (is_big == true) ? true : false); + var updateBody = ((typeof(update_body) == "undefined") ? false : (update_body == true) ? true : false); + + if (!a.hasDialog(id)) { + var html = a.generateModalHtml(id, title, null, isBig); + + $("body").append(html); + } + + if (url != null) + { + $.ajax({ + url: url, + cache: false, + timeout: 60000, + success: function(result, status, xhr){ + if ((xhr.status == 200) || (xhr.status == 302) || (xhr.status == 301)) + { + if (updateBody) + { + a.updateContentBody(id, result); + } else { + $("#dlg" + id).find(".modal-content").html(result); + } + } else { + a.updateContentBody(id, xhr.statusText + " (" + xhr.status + ")"); + } + }, + error: function(xhr){ + a.updateContentBody(id, xhr.statusText + " (" + xhr.status + ")"); + }, + complete: function(xhr, status){ + // do nothing yet + } + }); + } + a.show(id); + }, + Close: function(id) { + if (!this.hasDialog(id)) return; + + $("#dlg" + id).modal('hide'); + }, + Clear: function() { + $("body > div[class~='modal'][role='dialog']").remove(); + $("body > div[class~='modal-backdrop']").remove(); + $("body").removeClass("modal-open"); + }, + ShowToast: function(id, title, message, is_big) { + if (this.hasDialog(id)) return; + + var html = this.generateModalHtml(id, title, message, is_big); + $("body").append(html); + + this.show(id); + }, + hasDialog: function(id) { + return ($("body > div[id='dlg" + id + "']").length > 0); + }, + generateModalHtml: function(id, title, message, is_big) { + var size = ((typeof(is_big) == "undefined") ? "sm" : (is_big == true ? "lg" : "sm")); + + var html = ""; + html += "