Compare commits
6 Commits
173b691e56
...
46f1633f79
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
46f1633f79 | ||
|
|
1af07f0df8 | ||
|
|
55c9dfb9c2 | ||
|
|
1a230306a3 | ||
|
|
28022bc669 | ||
|
|
ad5843b7c9 |
@@ -134,6 +134,8 @@
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input id="geoloc" type="text" value="" size="20" />
|
||||
<div id="fixedMapCont"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
</div>
|
||||
@@ -143,78 +145,7 @@
|
||||
}
|
||||
<div id='app'></div>
|
||||
</div>
|
||||
@if (!isReadOnly)
|
||||
{
|
||||
<script nonce="@nonce">
|
||||
document.getElementById('readonly-send').addEventListener('click', async () => {
|
||||
const receiverMail = document.getElementById('readonly-receiver-mail');
|
||||
const dateValid = document.getElementById('readonly-date-valid');
|
||||
|
||||
const receiverMail_value = receiverMail.value;
|
||||
const dateValid_value = dateValid.value;
|
||||
|
||||
//check email
|
||||
if (!receiverMail_value || receiverMail.classList.contains('is-invalid')) {
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
title: "Falsche Email",
|
||||
text: "Die E-Mail-Adresse ist ungültig. Bitte verwenden Sie das richtige Format, z. B.: user@mail.com."
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
//check the date
|
||||
const tomorrow = new Date(Date.now() + 86400000);
|
||||
if (new Date(dateValid_value) < tomorrow) {
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
title: "Falsches Datum",
|
||||
text: "Die Verteilung der Umschläge sollte mindestens einen Tag dauern."
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
shareEnvelope(receiverMail_value, dateValid_value)
|
||||
.then(res => {
|
||||
if (res.ok) {
|
||||
Swal.fire({
|
||||
title: "Gesendet",
|
||||
icon: "success"
|
||||
});
|
||||
}
|
||||
else {
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
title: `Fehler ${res.status}`,
|
||||
text: "Der Vorgang ist fehlgeschlagen. Bitte wenden Sie sich an das IT-Team."
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
title: "Unerwarteter Fehler",
|
||||
text: "Der Vorgang ist fehlgeschlagen. Bitte wenden Sie sich an das IT-Team."
|
||||
});
|
||||
})
|
||||
|
||||
receiverMail.value = '';
|
||||
dateValid.valueAsDate = new Date(new Date().setDate(new Date().getDate() + 8));
|
||||
});
|
||||
</script>
|
||||
}
|
||||
<script nonce="@nonce">
|
||||
const collapseNav = () => {
|
||||
document.addEventListener('click', function (event) {
|
||||
var navbarToggle = document.getElementById('navbarToggleExternalContent');
|
||||
var navbarButton = document.querySelector('[data-bs-target="#navbarToggleExternalContent"]');
|
||||
var isCollapsed = new bootstrap.Collapse(navbarToggle)._isTransitioning;
|
||||
|
||||
if (!navbarToggle.contains(event.target) && !navbarButton.contains(event.target) && !isCollapsed) {
|
||||
new bootstrap.Collapse(navbarToggle).hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
@if (ViewData["DocumentBytes"] is byte[] documentBytes)
|
||||
{
|
||||
var settings = new JsonSerializerSettings
|
||||
|
||||
@@ -21,9 +21,12 @@
|
||||
<link rel="stylesheet" href="~/css/card.min.css" asp-append-version="true" />
|
||||
<link rel="stylesheet" href="~/EnvelopeGenerator.Web.styles.css" asp-append-version="true" />
|
||||
<link rel="stylesheet" href="~/lib/flag-icons-main/css/flag-icons.min.css" asp-append-version="true" />
|
||||
<link rel="stylesheet" href="~/css/location-picker.min.css" asp-append-version="true" />
|
||||
<link rel="stylesheet" href="~/lib/alertifyjs/css/alertify.min.css" />
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" />
|
||||
<link rel="stylesheet" href="~/lib/leaflet/dist/leaflet.css" />
|
||||
<link rel="stylesheet" href="~/lib/leaflet-locationpicker/dist/leaflet-locationpicker.src.css" />
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
@@ -51,13 +54,15 @@
|
||||
<script src="~/lib/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
<script src="~/lib/sweetalert2/sweetalert2.min.js"></script>
|
||||
<script src="~/lib/alertifyjs/alertify.min.js"></script>
|
||||
<script src="~/js/util.min.js" asp-append-version="true"></script>
|
||||
<script src="~/js/ui.min.js" asp-append-version="true"></script>
|
||||
<script src="~/js/annotation.js" asp-append-version="true"></script>
|
||||
<script src="~/js/network.min.js" asp-append-version="true"></script>
|
||||
<script src="~/js/app.min.js" asp-append-version="true"></script>
|
||||
<script src="~/lib/pspdfkit/dist-2024.3.2/pspdfkit.js"></script>
|
||||
<script src="~/js/util.min.js" asp-append-version="true"></script>
|
||||
<script src="~/js/api-service.min.js" asp-append-version="true"></script>
|
||||
<script src="~/lib/leaflet/dist/leaflet.js"></script>
|
||||
<script src="~/lib/leaflet-locationpicker/dist/leaflet-locationpicker.min.js"></script>
|
||||
@await RenderSectionAsync("Scripts", required: false)
|
||||
@{
|
||||
var settings = new JsonSerializerSettings
|
||||
|
||||
@@ -82,5 +82,11 @@
|
||||
"inputFiles": [
|
||||
"wwwroot/css/card.css"
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputFileName": "wwwroot/css/location-picker.min.css",
|
||||
"inputFiles": [
|
||||
"wwwroot/css/location-picker.css"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
9
EnvelopeGenerator.Web/wwwroot/css/location-picker.css
Normal file
9
EnvelopeGenerator.Web/wwwroot/css/location-picker.css
Normal file
@@ -0,0 +1,9 @@
|
||||
#fixedMapCont {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#locationBackdrop .modal-body {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
1
EnvelopeGenerator.Web/wwwroot/css/location-picker.min.css
vendored
Normal file
1
EnvelopeGenerator.Web/wwwroot/css/location-picker.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
#fixedMapCont{height:100%;width:100%}#locationBackdrop .modal-body{padding:0;margin:0}
|
||||
@@ -11,7 +11,7 @@ document.querySelectorAll('.email-input').forEach(input => {
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
var dropdownItems = document.querySelectorAll('.culture-dropdown-item');
|
||||
dropdownItems.forEach(function (item) {
|
||||
item.addEventListener('click', async function(event) {
|
||||
item.addEventListener('click', async function (event) {
|
||||
event.preventDefault();
|
||||
var language = this.getAttribute('data-language');
|
||||
var flagCode = this.getAttribute('data-flag');
|
||||
@@ -21,6 +21,81 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
});
|
||||
});
|
||||
|
||||
document.getElementById('readonly-send').addEventListener('click', async () => {
|
||||
const receiverMail = document.getElementById('readonly-receiver-mail');
|
||||
const dateValid = document.getElementById('readonly-date-valid');
|
||||
|
||||
const receiverMail_value = receiverMail.value;
|
||||
const dateValid_value = dateValid.value;
|
||||
|
||||
//check email
|
||||
if (!receiverMail_value || receiverMail.classList.contains('is-invalid')) {
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
title: "Falsche Email",
|
||||
text: "Die E-Mail-Adresse ist ungültig. Bitte verwenden Sie das richtige Format, z. B.: user@mail.com."
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
//check the date
|
||||
const tomorrow = new Date(Date.now() + 86400000);
|
||||
if (new Date(dateValid_value) < tomorrow) {
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
title: "Falsches Datum",
|
||||
text: "Die Verteilung der Umschläge sollte mindestens einen Tag dauern."
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
shareEnvelope(receiverMail_value, dateValid_value)
|
||||
.then(res => {
|
||||
if (res.ok) {
|
||||
Swal.fire({
|
||||
title: "Gesendet",
|
||||
icon: "success"
|
||||
});
|
||||
}
|
||||
else {
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
title: `Fehler ${res.status}`,
|
||||
text: "Der Vorgang ist fehlgeschlagen. Bitte wenden Sie sich an das IT-Team."
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
Swal.fire({
|
||||
icon: "error",
|
||||
title: "Unerwarteter Fehler",
|
||||
text: "Der Vorgang ist fehlgeschlagen. Bitte wenden Sie sich an das IT-Team."
|
||||
});
|
||||
})
|
||||
|
||||
receiverMail.value = '';
|
||||
dateValid.valueAsDate = new Date(new Date().setDate(new Date().getDate() + 8));
|
||||
});
|
||||
|
||||
document.addEventListener('DOMContentLoaded', async () => {
|
||||
var coords;
|
||||
try {
|
||||
coords = await getCoordinates();
|
||||
}
|
||||
catch (err) {
|
||||
coords = {
|
||||
latitude: 0,
|
||||
longitude: 0,
|
||||
};
|
||||
}
|
||||
|
||||
$('#geoloc').leafletLocationPicker({
|
||||
alwaysOpen: true,
|
||||
mapContainer: "#fixedMapCont",
|
||||
location: { latitude: coords.latitude, longitude: coords.longitude }
|
||||
});
|
||||
});
|
||||
|
||||
const bsNotify = (message, options) => alertify.notify(
|
||||
`<div class="alert ${options.alert_type ? 'alert-' + options.alert_type : ''}" role="alert"><span class="material-symbols-outlined">${options?.icon_name ?? ''}</span><p>${message}</p></div>`,
|
||||
'custom',
|
||||
|
||||
@@ -1 +1 @@
|
||||
document.querySelectorAll(".email-input").forEach(n=>{n.addEventListener("input",function(){/^\S+@\S+\.\S+$/.test(this.value)?this.classList.remove("is-invalid"):this.classList.add("is-invalid")})});document.addEventListener("DOMContentLoaded",function(){var n=document.querySelectorAll(".culture-dropdown-item");n.forEach(function(n){n.addEventListener("click",async function(n){n.preventDefault();var t=this.getAttribute("data-language"),i=this.getAttribute("data-flag");document.getElementById("selectedFlag").className="fi "+i+" me-2";await setLanguage(t)})})});const bsNotify=(n,t)=>alertify.notify(`<div class="alert ${t.alert_type?"alert-"+t.alert_type:""}" role="alert"><span class="material-symbols-outlined">${t?.icon_name??""}</span><p>${n}</p></div>`,"custom",t?.delay??5);class Comp{static ActPanel=class{static __Root;static get Root(){Comp.ActPanel.__Root??=document.getElementById("flex-action-panel");return Comp.ActPanel.__Root}static get Elements(){return[...Comp.ActPanel.Root.children]}static get IsHided(){return Comp.ActPanel.Root.style.display=="none"}static set Display(n){Comp.ActPanel.Root.style.display=n;Comp.ActPanel.Elements.forEach(t=>t.style.display=n)}static Toggle(){Comp.ActPanel.Display=Comp.ActPanel.IsHided?"":"none"}};static SignatureProgress=class{static __SignatureCount;static get SignatureCount(){this.__SignatureCount=parseInt(document.getElementById("signature-count").innerText);return this.__SignatureCount}static __SignedCountSpan;static get SignedCountSpan(){this.__SignedCountSpan??=document.getElementById("signed-count");return Comp.SignatureProgress.__SignedCountSpan}static __signedCount=0;static get SignedCount(){return this.__signedCount}static set SignedCount(n){this.__signedCount=n;const t=(n/this.SignatureCount)*100;this.SignedCountBar.style.setProperty("--progress-width",t+"%");this.SignedCountSpan.innerText=n.toString()}static __SignedCountBar;static get SignedCountBar(){this.__SignedCountBar??=document.getElementById("signed-count-bar");return this.__SignedCountBar}};static __ShareBackdrop;static get ShareBackdrop(){return Comp.__ShareBackdrop??=new bootstrap.Modal(document.getElementById("shareBackdrop")),this.__ShareBackdrop}static __LocationBackdrop;static get LocationBackdrop(){return Comp.__LocationBackdrop??=new bootstrap.Modal(document.getElementById("locationBackdrop")),this.__LocationBackdrop}}
|
||||
document.querySelectorAll(".email-input").forEach(n=>{n.addEventListener("input",function(){/^\S+@\S+\.\S+$/.test(this.value)?this.classList.remove("is-invalid"):this.classList.add("is-invalid")})});document.addEventListener("DOMContentLoaded",function(){var n=document.querySelectorAll(".culture-dropdown-item");n.forEach(function(n){n.addEventListener("click",async function(n){n.preventDefault();var t=this.getAttribute("data-language"),i=this.getAttribute("data-flag");document.getElementById("selectedFlag").className="fi "+i+" me-2";await setLanguage(t)})})});document.getElementById("readonly-send").addEventListener("click",async()=>{const n=document.getElementById("readonly-receiver-mail"),t=document.getElementById("readonly-date-valid"),i=n.value,r=t.value;if(!i||n.classList.contains("is-invalid")){Swal.fire({icon:"error",title:"Falsche Email",text:"Die E-Mail-Adresse ist ungültig. Bitte verwenden Sie das richtige Format, z. B.: user@mail.com."});return}const u=new Date(Date.now()+864e5);if(new Date(r)<u){Swal.fire({icon:"error",title:"Falsches Datum",text:"Die Verteilung der Umschläge sollte mindestens einen Tag dauern."});return}shareEnvelope(i,r).then(n=>{n.ok?Swal.fire({title:"Gesendet",icon:"success"}):Swal.fire({icon:"error",title:`Fehler ${n.status}`,text:"Der Vorgang ist fehlgeschlagen. Bitte wenden Sie sich an das IT-Team."})}).catch(()=>{Swal.fire({icon:"error",title:"Unerwarteter Fehler",text:"Der Vorgang ist fehlgeschlagen. Bitte wenden Sie sich an das IT-Team."})});n.value="";t.valueAsDate=new Date((new Date).setDate((new Date).getDate()+8))});document.addEventListener("DOMContentLoaded",async()=>{var n;try{n=await getCoordinates()}catch(t){n={latitude:0,longitude:0}}$("#geoloc").leafletLocationPicker({alwaysOpen:!0,mapContainer:"#fixedMapCont",location:{latitude:n.latitude,longitude:n.longitude}})});const bsNotify=(n,t)=>alertify.notify(`<div class="alert ${t.alert_type?"alert-"+t.alert_type:""}" role="alert"><span class="material-symbols-outlined">${t?.icon_name??""}</span><p>${n}</p></div>`,"custom",t?.delay??5);class Comp{static ActPanel=class{static __Root;static get Root(){Comp.ActPanel.__Root??=document.getElementById("flex-action-panel");return Comp.ActPanel.__Root}static get Elements(){return[...Comp.ActPanel.Root.children]}static get IsHided(){return Comp.ActPanel.Root.style.display=="none"}static set Display(n){Comp.ActPanel.Root.style.display=n;Comp.ActPanel.Elements.forEach(t=>t.style.display=n)}static Toggle(){Comp.ActPanel.Display=Comp.ActPanel.IsHided?"":"none"}};static SignatureProgress=class{static __SignatureCount;static get SignatureCount(){this.__SignatureCount=parseInt(document.getElementById("signature-count").innerText);return this.__SignatureCount}static __SignedCountSpan;static get SignedCountSpan(){this.__SignedCountSpan??=document.getElementById("signed-count");return Comp.SignatureProgress.__SignedCountSpan}static __signedCount=0;static get SignedCount(){return this.__signedCount}static set SignedCount(n){this.__signedCount=n;const t=(n/this.SignatureCount)*100;this.SignedCountBar.style.setProperty("--progress-width",t+"%");this.SignedCountSpan.innerText=n.toString()}static __SignedCountBar;static get SignedCountBar(){this.__SignedCountBar??=document.getElementById("signed-count-bar");return this.__SignedCountBar}};static __ShareBackdrop;static get ShareBackdrop(){return Comp.__ShareBackdrop??=new bootstrap.Modal(document.getElementById("shareBackdrop")),this.__ShareBackdrop}static __LocationBackdrop;static get LocationBackdrop(){return Comp.__LocationBackdrop??=new bootstrap.Modal(document.getElementById("locationBackdrop")),this.__LocationBackdrop}}
|
||||
Reference in New Issue
Block a user