Enhance grid UI and refactor boot overlay logic
- Updated `MappingProfile.cs` to add detailed mapping for `Envelope` to `EnvelopeDto`, including `EnvelopeTypeTitle`. - Added a grid persistence hint banner in `EnvelopeSenderPage.razor` with an SVG icon and German message. - Introduced three new columns (`EnvelopeTypeTitle`, `AddedWhen`, `ChangedWhen`) to the grid in `EnvelopeSenderPage.razor`. - Refactored boot overlay removal logic in `App.razor` into a reusable function `sfRemoveBootOverlay`. - Simplified event handling for overlay removal and fallback logic in `App.razor`. - Adjusted `.sender-grid-wrapper` padding in `sender-page.css` and added styles for the new grid persistence hint banner.
This commit is contained in:
@@ -44,23 +44,16 @@
|
||||
<script src="js/signflow-theme.js"></script>
|
||||
<script src="_framework/blazor.web.js"></script>
|
||||
<script>
|
||||
// Remove the boot overlay once Blazor has started and enhanced navigation is active.
|
||||
Blazor.addEventListener('enhancedload', function onFirstLoad() {
|
||||
var overlay = document.getElementById('sf-boot-overlay');
|
||||
if (overlay) overlay.style.opacity = '0';
|
||||
setTimeout(function () { if (overlay) overlay.remove(); }, 250);
|
||||
Blazor.removeEventListener('enhancedload', onFirstLoad);
|
||||
});
|
||||
// Also remove when WASM circuit is ready (for non-enhanced pages like /sender)
|
||||
document.addEventListener('blazor-circuit-connected', function () {
|
||||
function sfRemoveBootOverlay() {
|
||||
var overlay = document.getElementById('sf-boot-overlay');
|
||||
if (overlay) { overlay.style.opacity = '0'; setTimeout(function () { if (overlay) overlay.remove(); }, 250); }
|
||||
}, { once: true });
|
||||
}
|
||||
// Remove on every enhanced navigation (covers both WASM and Server render modes).
|
||||
Blazor.addEventListener('enhancedload', sfRemoveBootOverlay);
|
||||
// Also remove when WASM circuit is ready (for non-enhanced pages like /sender)
|
||||
document.addEventListener('blazor-circuit-connected', sfRemoveBootOverlay, { once: true });
|
||||
// Fallback: remove after 4s regardless
|
||||
setTimeout(function () {
|
||||
var overlay = document.getElementById('sf-boot-overlay');
|
||||
if (overlay) overlay.remove();
|
||||
}, 4000);
|
||||
setTimeout(sfRemoveBootOverlay, 4000);
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
||||
@@ -199,7 +199,20 @@
|
||||
}
|
||||
|
||||
.sender-grid-wrapper {
|
||||
padding: 1.5rem 2rem 2rem;
|
||||
padding: 0 2rem 2rem; /* top padding removed — hint banner provides top spacing */
|
||||
}
|
||||
|
||||
/* ── Grid persistence hint banner ─────────────────────────────────────────── */
|
||||
.sf-grid-persistence-hint {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 2rem;
|
||||
font-size: 0.72rem;
|
||||
color: rgba(126, 34, 206, 0.65);
|
||||
background: rgba(126, 34, 206, 0.04);
|
||||
border-bottom: 1px solid rgba(126, 34, 206, 0.08);
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Hide DevExpress empty cells */
|
||||
|
||||
Reference in New Issue
Block a user