Added Pop() to close top-most modal #10
							
								
								
									
										50
									
								
								bsdialog4.js
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								bsdialog4.js
									
									
									
									
									
								
							@ -1,6 +1,6 @@
 | 
			
		||||
/**
 | 
			
		||||
 * BSDialog4
 | 
			
		||||
 * @version v0.1.5.038 (2023/11/18 19:40)
 | 
			
		||||
 * @version v0.1.6.015 (2023/12/08 22:04)
 | 
			
		||||
 */
 | 
			
		||||
class BSDialog4 {
 | 
			
		||||
  constructor() {
 | 
			
		||||
@ -102,15 +102,15 @@ class BSDialog4 {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Clear() {
 | 
			
		||||
	async Clear() {
 | 
			
		||||
		const a = this;
 | 
			
		||||
 | 
			
		||||
		document.querySelectorAll('.modal').forEach(function(e) {
 | 
			
		||||
			$(e).modal('hide');
 | 
			
		||||
		document.querySelectorAll('.modal').forEach(async function(e) {
 | 
			
		||||
			await a.Close(e.getAttribute("id"));
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	Close(id) {
 | 
			
		||||
	async Close(id) {
 | 
			
		||||
		const a = this;
 | 
			
		||||
 | 
			
		||||
		if (id.toString().startsWith(a.#prefix)) {
 | 
			
		||||
@ -120,10 +120,28 @@ class BSDialog4 {
 | 
			
		||||
		const node = document.getElementById(a.#prefix + id);
 | 
			
		||||
 | 
			
		||||
		if (node) {
 | 
			
		||||
			$(node).modal('hide');
 | 
			
		||||
			await $(node).modal('hide');
 | 
			
		||||
 | 
			
		||||
			node.parentNode.removeChild(node);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (document.querySelectorAll('.modal').length > 0) {
 | 
			
		||||
			if (!a.#body.classList.contains("modal-open")) {
 | 
			
		||||
				a.#body.classList.add("modal-open");
 | 
			
		||||
 | 
			
		||||
				a.#body.style.paddingRight = "17px";
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	async Pop() {
 | 
			
		||||
		const a = this;
 | 
			
		||||
 | 
			
		||||
		if (document.querySelectorAll('.modal').length > 0) {
 | 
			
		||||
			const id = document.querySelectorAll('.modal')[0].getAttribute("id");
 | 
			
		||||
 | 
			
		||||
			await a.Close(id);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	async Update(options) {
 | 
			
		||||
@ -419,26 +437,6 @@ class BSDialog4 {
 | 
			
		||||
		return (e.trim().length <= 0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	#removeBackdrop() {
 | 
			
		||||
		const a = this;
 | 
			
		||||
 | 
			
		||||
		if (a.#body.querySelectorAll(".modal-backdrop").length <= 0) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (a.#body.querySelectorAll(".modal").length > 0) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		a.#body.querySelectorAll(".modal-backdrop").forEach(function(e){
 | 
			
		||||
			e.parentNode.removeChild(e);
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		// unlock background
 | 
			
		||||
		a.#body.classList.remove("modal-open");
 | 
			
		||||
		a.#body.style.overflow = null;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	async #retrieveURL(url) {
 | 
			
		||||
		return await new Promise(async (resolve) => {
 | 
			
		||||
			await fetch(url, {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								bsdialog4.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								bsdialog4.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user