new confirm dialog window
This commit is contained in:
parent
01705c86fe
commit
45f17d06ce
@ -0,0 +1,34 @@
|
||||
jfa.components.dialog = (function () {
|
||||
function _confirm({ message, title, callbackyes, callbackno }) {
|
||||
const dialogTemplate = jfa.page.getDialogTemplate().content;
|
||||
|
||||
let spanTitle = dialogTemplate.querySelector(".modal__title__text");
|
||||
spanTitle.textContent = title || "Confirm";
|
||||
|
||||
let bodyMessage = dialogTemplate.querySelector(".modal__body-message");
|
||||
bodyMessage.textContent = message;
|
||||
|
||||
const dialog = dialogTemplate.querySelector("#dialog-container");
|
||||
const modal = bootstrap.Modal.getOrCreateInstance(dialog);
|
||||
|
||||
let buttonNo = dialogTemplate.querySelector(".modal__footer__button-no");
|
||||
buttonNo.addEventListener("click", function () {
|
||||
buttonNo.blur();
|
||||
modal.hide();
|
||||
callbackno?.();
|
||||
});
|
||||
|
||||
let buttonYes = dialogTemplate.querySelector(".modal__footer__button-yes");
|
||||
buttonYes.addEventListener("click", function () {
|
||||
buttonYes.blur();
|
||||
modal.hide();
|
||||
callbackyes?.();
|
||||
});
|
||||
|
||||
modal.show();
|
||||
}
|
||||
|
||||
return {
|
||||
confirm: _confirm
|
||||
};
|
||||
})();
|
@ -11,6 +11,14 @@
|
||||
return window.top.document.querySelector("[name='__RequestVerificationToken']")?.value;
|
||||
}
|
||||
|
||||
function _getDialogContainer() {
|
||||
return document.getElementById("ContainerDialog").cloneNode(true);
|
||||
}
|
||||
|
||||
function _getDialogTemplate() {
|
||||
return document.getElementById("DialogTemplate").cloneNode(true);
|
||||
}
|
||||
|
||||
function reload() {
|
||||
window.location.reload();
|
||||
}
|
||||
@ -19,6 +27,8 @@
|
||||
getAlertContainer: _getAlertContainer,
|
||||
getAlertTemplate: _getAlertTemplate,
|
||||
getAntiForgeryToken: _getAntiForgeryToken,
|
||||
getDialogContainer: _getDialogContainer,
|
||||
getDialogTemplate: _getDialogTemplate,
|
||||
reload: reload
|
||||
};
|
||||
})();
|
@ -19,31 +19,39 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav class="navbar navbar-expand-md bg-dark py-3 navbar-dark">
|
||||
<div class="container">
|
||||
<a class="navbar-brand d-flex align-items-center" href="/">
|
||||
<span class="bs-icon-sm text-white d-flex justify-content-center align-items-center me-2 bs-icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-pen">
|
||||
<path d="m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001m-.644.766a.5.5 0 0 0-.707 0L1.95 11.756l-.764 3.057 3.057-.764L14.44 3.854a.5.5 0 0 0 0-.708l-1.585-1.585z"></path>
|
||||
</svg>
|
||||
</span><span>Enotaryo</span>
|
||||
</a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#collapse-button"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
|
||||
<div class="collapse navbar-collapse" id="#collapse-button">
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<li class="nav-item"><a class="nav-link active" href="/">Home</a></li>
|
||||
</ul>
|
||||
@if (User.Identity?.IsAuthenticated ?? false) {
|
||||
<a class="btn btn-primary ms-md-2" role="button" href="/Login?handler=Logout">Logout</a>
|
||||
}
|
||||
else {
|
||||
<a class="btn btn-primary ms-md-2" role="button" href="/Login">Login</a>
|
||||
}
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-md bg-dark py-3 navbar-dark">
|
||||
<div class="container">
|
||||
<a class="navbar-brand d-flex align-items-center" href="/">
|
||||
<span class="bs-icon-sm text-white d-flex justify-content-center align-items-center me-2 bs-icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-pen">
|
||||
<path d="m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001m-.644.766a.5.5 0 0 0-.707 0L1.95 11.756l-.764 3.057 3.057-.764L14.44 3.854a.5.5 0 0 0 0-.708l-1.585-1.585z"></path>
|
||||
</svg>
|
||||
</span><span>Enotaryo</span>
|
||||
</a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#collapse-button"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
|
||||
<div class="collapse navbar-collapse" id="#collapse-button">
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<li class="nav-item"><a class="nav-link active" href="/">Home</a></li>
|
||||
</ul>
|
||||
@if (User.Identity?.IsAuthenticated ?? false)
|
||||
{
|
||||
<a class="btn btn-primary ms-md-2" role="button" href="/Login?handler=Logout">Logout</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a class="btn btn-primary ms-md-2" role="button" href="/Login">Login</a>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div id="ContainerAlert" class="container"></div>
|
||||
@RenderBody()
|
||||
<partial name="_AntiForgeryPartial.cshtml" />
|
||||
</main>
|
||||
|
||||
@RenderBody()
|
||||
<partial name="_AntiForgeryPartial.cshtml" />
|
||||
<footer class="text-center">
|
||||
<div class="container-fluid text-muted py-4 py-lg-5">
|
||||
<ul class="list-inline">
|
||||
@ -55,6 +63,32 @@
|
||||
<p class="mb-0">Copyright © 2024 Enotaryo</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<template id="AlertTemplate">
|
||||
<div id="alert-container" class="alert alert-warning alert-dismissible mt-1" role="alert">
|
||||
<button class="btn-close" type="button" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
<span id="alert-message" class="message">
|
||||
<i id="alert-icon" class="fas fa-exclamation-triangle me-1"></i>
|
||||
<strong>Alert</strong> text.
|
||||
</span>
|
||||
<div class="actions"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="DialogTemplate">
|
||||
<div id="dialog-container" class="modal fade show" role="dialog" tabindex="-1" style="display: block;">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title"><i class="fas fa-question-circle text-primary me-1 modal__title__icon"></i><span class="modal__title__text">Title</span></h4><button class="btn-close" type="button" aria-label="Close" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body"><span class="modal__body-message">This is the confirmation message.</span></div>
|
||||
<div class="modal-footer modal__footer"><button class="btn btn-light modal__footer__button-no" type="button" data-bs-dismiss="modal">No</button><button class="btn btn-primary modal__footer__button-yes" type="button">Yes</button></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="/js/bs-init.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js"></script>
|
||||
|
@ -14,6 +14,7 @@ const bundles = {
|
||||
"Assets/js/Utilities/Routing/_Routing.js",
|
||||
"Assets/js/Utilities/Element/_Element.js",
|
||||
"Assets/js/Utilities/Request/_Request.js",
|
||||
"Assets/js/Components/Dialog/_Dialog.js"
|
||||
]
|
||||
},
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user