link together sections

pull/11/head
Dan Gowans 2025-04-22 10:44:14 -04:00
parent 688e55857d
commit 6d964eb93a
11 changed files with 731 additions and 546 deletions

View File

@ -1,2 +1,4 @@
import type { Request, Response } from 'express';
export default function handler(_request: Request, response: Response): Promise<void>;
export default function handler(request: Request<unknown, unknown, unknown, {
tab?: string;
}>, response: Response): Promise<void>;

View File

@ -1,13 +1,15 @@
import { dateToString } from '@cityssm/utils-datetime';
import getCemeteries from '../../database/getCemeteries.js';
import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js';
export default async function handler(_request, response) {
export default async function handler(request, response) {
const rightNow = new Date();
const reportTab = request.query.tab ?? 'workOrders';
const cemeteries = await getCemeteries();
const burialSiteTypes = await getBurialSiteTypes();
const burialSiteStatuses = await getBurialSiteStatuses();
response.render('report-search', {
headTitle: 'Reports',
reportTab,
burialSiteStatuses,
burialSiteTypes,
cemeteries,

View File

@ -9,17 +9,20 @@ import {
} from '../../helpers/functions.cache.js'
export default async function handler(
_request: Request,
request: Request<unknown, unknown, unknown, { tab?: string }>,
response: Response
): Promise<void> {
const rightNow = new Date()
const reportTab = request.query.tab ?? 'workOrders'
const cemeteries = await getCemeteries()
const burialSiteTypes = await getBurialSiteTypes()
const burialSiteStatuses = await getBurialSiteStatuses()
response.render('report-search', {
headTitle: 'Reports',
reportTab,
burialSiteStatuses,
burialSiteTypes,

View File

@ -0,0 +1,56 @@
<aside class="menu">
<h2 class="menu-label is-hidden-touch">
Cemeteries
</h2>
<ul class="menu-list">
<li>
<a class="<%= (headTitle === "Cemetery Search" ? "is-active" : "") %>"
href="<%= urlPrefix %>/cemeteries"
aria-label="Cemetery Search">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="far fa-fw fa-map" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Cemetery Search</div>
</div>
</a>
</li>
<li>
<a class="<%= (headTitle === "Burial Site Search" ? "is-active" : "") %>"
href="<%= urlPrefix %>/burialSites"
aria-label="Burial Site Search">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-vector-square" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Burial Site Search</div>
</div>
</a>
</li>
</ul>
<h2 class="menu-label is-hidden-touch">
Reports
</h2>
<ul class="menu-list">
<li>
<a href="<%= urlPrefix %>/reports/?tab=cemeteries" aria-label="Cemetery Reports">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-file" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Cemetery Reports</div>
</div>
</a>
</li>
<li>
<a href="https://cityssm.github.io/sunrise-cms/docs/cemeteries.html" aria-label="Help Documentation" rel="noopener noreferrer" target="_blank">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-circle-question" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Help</div>
</div>
</a>
</li>
</ul>
</aside>

View File

@ -0,0 +1,56 @@
<aside class="menu">
<h2 class="menu-label is-hidden-touch">
Contracts
</h2>
<ul class="menu-list">
<li>
<a class="<%= (headTitle === "Contract Search" ? "is-active" : "") %>"
href="<%= urlPrefix %>/contracts"
aria-label="Contract Search">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-file-contract" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Contract Search</div>
</div>
</a>
</li>
<li>
<a class="<%= (headTitle === "Funeral Home Search" ? "is-active" : "") %>"
href="<%= urlPrefix %>/funeralHomes"
aria-label="Contract Search">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-place-of-worship" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Funeral Home Search</div>
</div>
</a>
</li>
</ul>
<h2 class="menu-label is-hidden-touch">
Reports
</h2>
<ul class="menu-list">
<li>
<a href="<%= urlPrefix %>/reports/?tab=contracts" aria-label="Contract Reports">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-file" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Contract Reports</div>
</div>
</a>
</li>
<li>
<a href="https://cityssm.github.io/sunrise-cms/docs/contracts.html" aria-label="Help Documentation" rel="noopener noreferrer" target="_blank">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-circle-question" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Help</div>
</div>
</a>
</li>
</ul>
</aside>

View File

@ -9,7 +9,7 @@
aria-label="Work Order Search">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-search" aria-hidden="true"></i></span>
<span class="icon"><i class="fas fa-fw fa-hard-hat" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Work Order Search</div>
</div>
@ -45,4 +45,29 @@
</a>
</li>
</ul>
<h2 class="menu-label is-hidden-touch">
Reports
</h2>
<ul class="menu-list">
<li>
<a href="<%= urlPrefix %>/reports/?tab=workOrders" aria-label="Work Order Reports">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-file" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Work Order Reports</div>
</div>
</a>
</li>
<li>
<a href="https://cityssm.github.io/sunrise-cms/docs/workOrders.html" aria-label="Help Documentation" rel="noopener noreferrer" target="_blank">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-circle-question" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Help</div>
</div>
</a>
</li>
</ul>
</aside>

View File

@ -1,5 +1,10 @@
<%- include('_header'); -%>
<div class="columns is-mobile">
<div class="column is-2-desktop is-narrow-touch is-hidden-print">
<%- include('_menu-cemeteries'); -%>
</div>
<div class="column">
<nav class="breadcrumb">
<ul>
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
@ -120,6 +125,8 @@
</div>
<div id="container--searchResults"></div>
</div>
</div>
<%- include('_footerA'); -%>

View File

@ -1,5 +1,10 @@
<%- include('_header'); -%>
<div class="columns is-mobile">
<div class="column is-2-desktop is-narrow-touch is-hidden-print">
<%- include('_menu-cemeteries'); -%>
</div>
<div class="column">
<nav class="breadcrumb">
<ul>
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
@ -54,6 +59,8 @@
</div>
<div id="container--searchResults"></div>
</div>
</div>
<%- include('_footerA'); -%>

View File

@ -1,5 +1,11 @@
<%- include('_header'); -%>
<div class="columns is-mobile">
<div class="column is-2-desktop is-narrow-touch is-hidden-print">
<%- include('_menu-contracts'); -%>
</div>
<div class="column">
<nav class="breadcrumb">
<ul>
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
@ -169,6 +175,8 @@
</div>
<div id="container--searchResults"></div>
</div>
</div>
<%- include('_footerA'); -%>

View File

@ -1,5 +1,10 @@
<%- include('_header'); -%>
<div class="columns is-mobile">
<div class="column is-2-desktop is-narrow-touch is-hidden-print">
<%- include('_menu-contracts'); -%>
</div>
<div class="column">
<nav class="breadcrumb">
<ul>
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
@ -54,6 +59,8 @@
</div>
<div id="container--searchResults"></div>
</div>
</div>
<%- include('_footerA'); -%>

View File

@ -8,29 +8,33 @@
</h2>
<ul class="menu-list">
<li>
<a class="is-active" href="#tab--workOrders" aria-label="Work Orders">
<a class="<%= reportTab === 'workOrders' ? 'is-active' : '' %>" href="#tab--workOrders" aria-label="Work Orders">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-hard-hat" aria-hidden="true"></i></span>
<span class="is-hidden-touch">Work Orders</span>
</div>
<div class="column is-hidden-touch">Work Orders</div>
</div>
</a>
</li>
<li>
<a href="#tab--contracts" aria-label="Contracts">
<span class="icon">
<i class="fas fa-file-contract" aria-hidden="true"></i>
</span>
<span class="is-hidden-touch">Contracts</span>
<a class="<%= reportTab === 'contracts' ? 'is-active' : '' %>" href="#tab--contracts" aria-label="Contracts">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-file-contract" aria-hidden="true"></i></span>
</div>
<div class="column is-hidden-touch">Contracts</div>
</div>
</a>
</li>
<li>
<a href="#tab--burialSites" aria-label="Burial Sites">
<span class="icon"><i class="fas fa-fw fa-vector-square" aria-hidden="true"></i></span>
<span class="is-hidden-touch">Burial Sites</span>
</a>
</li>
<li>
<a href="#tab--cemeteries" aria-label="Cemeteries">
<a class="<%= reportTab === 'cemeteries' ? 'is-active' : '' %>" href="#tab--cemeteries" aria-label="Cemeteries and Burial Sites">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="far fa-fw fa-map" aria-hidden="true"></i></span>
<span class="is-hidden-touch">Cemeteries</span>
</div>
<div class="column is-hidden-touch">Cemeteries and Burial Sites</div>
</div>
</a>
</li>
</ul>
@ -39,15 +43,23 @@
</h2>
<ul class="menu-list">
<li>
<a href="#tab--dataTableExports" aria-label="Data Tables">
<a class="<%= reportTab === 'dataTableExports' ? 'is-active' : '' %>" href="#tab--dataTableExports" aria-label="Data Tables">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-table" aria-hidden="true"></i></span>
<span class="is-hidden-touch">Data Tables</span>
</div>
<div class="column is-hidden-touch">Data Tables</div>
</div>
</a>
</li>
<li>
<a href="#tab--configTableExports" aria-label="Config Tables">
<a class="<%= reportTab === 'configTableExports' ? 'is-active' : '' %>" href="#tab--configTableExports" aria-label="Config Tables">
<div class="columns is-mobile is-1">
<div class="column is-narrow">
<span class="icon"><i class="fas fa-fw fa-table" aria-hidden="true"></i></span>
<span class="is-hidden-touch">Config Tables</span>
</div>
<div class="column is-hidden-touch">Config Tables</div>
</div>
</a>
</li>
</ul>
@ -67,7 +79,7 @@
</nav>
<div class="tabs-container">
<div id="tab--workOrders">
<div class="<%= reportTab === 'workOrders' ? '' : 'is-hidden' %>" id="tab--workOrders">
<h1 class="title is-1">Work Order Reports</h1>
<div class="columns">
<div class="column">
@ -110,7 +122,7 @@
</div>
</div>
<div class="is-hidden" id="tab--contracts">
<div class="<%= reportTab === 'contracts' ? '' : 'is-hidden' %>" id="tab--contracts">
<h1 class="title is-1">Contract Reports</h1>
<div class="panel">
@ -178,8 +190,27 @@
</form>
</div>
</div>
<div class="is-hidden" id="tab--burialSites">
<h1 class="title is-1">Burial Site Reports</h1>
<div class="<%= reportTab === 'cemeteries' ? '' : 'is-hidden' %>" id="tab--cemeteries">
<h1 class="title is-1">Cemetery Reports</h1>
<div class="panel">
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/cemeteries-formatted" download>
<div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info">
<i class="fas fa-2x fa-file" aria-hidden="true"></i>
</span><br />
<span class="tag is-info">CSV</span>
</div>
<div>
<h2 class="title is-5 mb-0">Full Cemetery List</h2>
<p>
All active cemeteries.
</p>
</div>
</a>
</div>
<h2 class="title is-3">Burial Site Reports</h2>
<div class="panel">
<form class="panel-block align-items-flex-start" method="get" action="<%= urlPrefix %>/reports/burialSites-byCemeteryId">
@ -288,27 +319,8 @@
</form>
</div>
</div>
<div class="is-hidden" id="tab--cemeteries">
<h1 class="title is-1">Cemetery Reports</h1>
<div class="panel">
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/cemeteries-formatted" download>
<div class="has-text-centered my-2 ml-2 mr-3">
<span class="icon has-text-info">
<i class="fas fa-2x fa-file" aria-hidden="true"></i>
</span><br />
<span class="tag is-info">CSV</span>
</div>
<div>
<h2 class="title is-5 mb-0">Full Cemetery List</h2>
<p>
All active cemeteries.
</p>
</div>
</a>
</div>
</div>
<div class="is-hidden" id="tab--dataTableExports">
<div class="<%= reportTab === 'dataTableExports' ? '' : 'is-hidden' %>" id="tab--dataTableExports">
<h1 class="title is-1">Data Table Exports</h1>
<div class="message is-info">
<p class="message-body">
@ -497,7 +509,7 @@
</div>
</div>
</div>
<div class="is-hidden" id="tab--configTableExports">
<div class="<%= reportTab === 'configTableExports' ? '' : 'is-hidden' %>" id="tab--configTableExports">
<h1 class="title is-1">Config Table Exports</h1>
<div class="message is-info">
<p class="message-body">