diff --git a/2019/11/bsdialog-v0.1.0.029a.js b/2019/11/bsdialog-v0.1.0.029a.js new file mode 100644 index 0000000..04e1b5f --- /dev/null +++ b/2019/11/bsdialog-v0.1.0.029a.js @@ -0,0 +1,186 @@ +/** + * BSDialog + * @version v0.1.0.029a (2019/11/09 2239) + */ +var BSDialog = { + Create: function (id, title, url, is_big, update_body, show_size) { + var a = this; + + a.id = id; + a.title = title; + a.url = url; + a.isBig = ((typeof (is_big) == "undefined") ? false : (is_big == true) ? true : false); + a.showSize = ((typeof (show_size) == "undefined") ? true : (show_size == true) ? true : false); + + var updateBody = ((typeof (update_body) == "undefined") ? true : (update_body == true) ? true : false); + + if (!a.Exists(id)) { + a.renderContent(null); + } + + if (url != null) { + $.ajax({ + url: url, + cache: false, + xhrFields: { + withCredentials:true + }, + 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.initialiseComponents(); + }, + Close: function (id) { + $("#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) { + var a = this; + + if (a.Exists(id)) { + return; + } + + a.id = id; + a.title = title; + a.url = null; + a.isBig = ((typeof (is_big) == "undefined") ? false : (is_big == true) ? true : false); + + a.renderContent(message); + a.initialiseComponents(); + }, + Exists: function (id) { + return ($("body > div[id='dlg" + id + "']").length > 0); + }, + generateModalHtml: function (message) { + var a = this; + var size = (a.isBig == true ? "lg" : "md"); + + var html = ""; + html += "