fix(letter-mgmt): make share certificate bank identity dynamic and fix broken printing

- Certificate PDFs, the preview dialog, and both share-certificate list views
  (demo + live) now pull bank name/address/reg no/seal text from the
  Institution Profile instead of a hardcoded "Nexora" identity.
- Certificate preview dialog print CSS was clipped to the dialog's on-screen
  scroll viewport (maxHeight config); switched to position:fixed + unclipped
  overlay ancestors so the full certificate prints, not just a border sliver.
- Global print stylesheet now also hides the app shell's real 2-row nav menu
  (.main-header/.kpi-ticker, not routed through <mifosx-toolbar>) and frees
  the CDK sidenav/tab-body scroll clipping, so printing any page no longer
  captures the nav chrome or gets cut off to one screen's height.
This commit is contained in:
2026-09-14 16:58:18 +05:30
parent ee5a430b17
commit b03efef84e
11 changed files with 279 additions and 41 deletions
+36 -1
View File
@@ -978,9 +978,18 @@ mat-card {
mifosx-breadcrumb,
mifosx-footer,
.sidebar-panel,
.sidebar-handle,
.mat-mdc-tab-header,
.mat-stepper-vertical-line,
.mat-step-header {
.mat-step-header,
/* The real 2-row nav menu (Client Master / Approvals / Cashier … and the row below it) and the
live KPI ticker live directly in shell.component.html as .main-header / .kpi-ticker, not
inside <mifosx-toolbar> — hiding only the toolbar left this menu printing on every page. */
.main-header,
.kpi-ticker,
.cashier-nav,
.gl-backdrop,
.gl-mega-menu {
display: none !important;
}
@@ -988,6 +997,32 @@ mat-card {
margin-left: 0 !important;
}
/* The whole app shell scrolls inside CDK's own clipped viewport —
.mat-drawer-container { overflow: hidden } and .mat-drawer-content { overflow: auto; height: 100% }
— so without freeing these too, print is still capped to one screen's worth of the page
regardless of the tab-body fix below. */
#mifosx-shell-container,
.mat-drawer-container,
.mat-drawer-content,
mat-sidenav-content.sidenav {
position: static !important;
overflow: visible !important;
height: auto !important;
}
/* Angular Material clips a tab's content to a JS-measured on-screen height via
`.mat-mdc-tab-body-wrapper { overflow: hidden }` (for the tab-switch height animation) and
`.mat-mdc-tab-body-content { height: 100%; overflow: auto }` — printing only what fit that
clip left every account/tab page (Shares Account General included) blank apart from a
stray border. Printing needs the full content, not the animated viewport. */
.mat-mdc-tab-body-wrapper,
.mat-mdc-tab-body,
.mat-mdc-tab-body-content {
position: static !important;
overflow: visible !important;
height: auto !important;
}
body,
html {
background: #fff !important;