Files
realestatedatainc/xsl/viewExports.xsl
T
2026-05-29 14:52:16 -04:00

203 lines
10 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
<!--<meta http-equiv="refresh" content="60"></meta>-->
<!-- Parameters -->
<xsl:param name="VERSION">1.0</xsl:param>
<xsl:param name="PAGE-TITLE">My Exports</xsl:param>
<xsl:param name="PAGE-NAME">viewExports</xsl:param>
<!-- Variables -->
<xsl:variable name="PAGINATION_COUNT" select="//exportjobs/@count"/>
<xsl:variable name="PAGINATION_START" select="//exportjobs/@start"/>
<xsl:variable name="PAGINATION_END" select="//exportjobs/@end"/>
<xsl:variable name="PAGINATION_PAGE" select="//exportjobs/@page"/>
<!-- Main Template -->
<xsl:template match="/">
<script src="js/{$PAGE-NAME}.js?version={$VERSION}"/>
<div class="{$PAGE-NAME}">
<div class="card">
<div class="card-header bg-primary text-white p-1 ps-3">
<i class="bi bi-box-arrow-in-up-right me-2"/>
<xsl:value-of select="$PAGE-TITLE"/>
<xsl:if test="$PAGINATION_COUNT > 0">
<xsl:text> | Showing </xsl:text>
<xsl:value-of select="format-number($PAGINATION_START, '###,##0')"/>
<xsl:text> to </xsl:text>
<xsl:value-of select="format-number($PAGINATION_END, '###,##0')"/>
<xsl:text> of </xsl:text>
<xsl:value-of select="format-number($PAGINATION_COUNT, '###,##0')"/>
</xsl:if>
</div>
<div class="card-body">
<div class="row align-items-center mt-2 mb-3">
<div class="col-lg-4">
<div class="input-group input-group-sm">
<input type="text" class="form-control autosave" name="find_exportjob" id="find_exportjob" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_exportjob']/popover_placeholder}" autofocus="autofocus"/>
<button type="button" class="btn btn-primary fw-bold btnFind" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'find_exportjob']/popover_text}" data-bs-html="true" data-bs-custom-class="custom-tooltip">
<i class="bi bi-search"/>
</button>
<button type="button" class="btn btn-primary fw-bold btnClearFind" data-bs-toggle="tooltip" data-bs-title="Clear Find" data-bs-custom-class="custom-tooltip">
<i class="bi bi-arrow-clockwise"/>
</button>
</div>
</div>
<div class="col-auto">
<div class="input-group input-group-sm" data-bs-toggle="tooltip" data-bs-title="Show Per Page" data-bs-custom-class="custom-tooltip">
<div class="input-group-text">
<i class="bi bi-list-ol"/>
</div>
<select class="form-select autosave" name="exportjobs_per_page" id="exportjobs_per_page">
<option value="20">20</option>
<option value="40">40</option>
<option value="60">60</option>
<option value="80">80</option>
<option value="100">100</option>
</select>
</div>
</div>
</div>
<!-- Action Buttons -->
<div class="buttons mt-3 mb-2">
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
<i class="bi bi-box-arrow-left me-2"/>Done</button>
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnRefresh">
<i class="bi bi-arrow-clockwise me-2"/>Refresh</button>
<div class="btn-group ms-2" role="group">
<xsl:if test="$PAGINATION_PAGE > 1">
<button type="button" class="btn btn-sm btn-primary btnPagination" data-pagination="first" data-bs-toggle="tooltip" data-bs-title="First Page" data-bs-custom-class="custom-tooltip">
<i class="bi bi-chevron-bar-left me-1"/>First</button>
<button type="button" class="btn btn-sm btn-primary btnPagination" data-pagination="previous" data-bs-toggle="tooltip" data-bs-title="Previous Page" data-bs-custom-class="custom-tooltip">
<i class="bi bi-chevron-left me-1"/>Previous</button>
</xsl:if>
<xsl:if test="$PAGINATION_COUNT > $PAGINATION_END">
<button type="button" class="btn btn-sm btn-primary btnPagination" data-pagination="next" data-bs-toggle="tooltip" data-bs-title="Next Page" data-bs-custom-class="custom-tooltip">
<i class="bi bi-chevron-right me-1"/>Next</button>
<button type="button" class="btn btn-sm btn-primary btnPagination" data-pagination="last" data-bs-toggle="tooltip" data-bs-title="Last Page" data-bs-custom-class="custom-tooltip">
<i class="bi bi-chevron-bar-right me-1"/>Last</button>
</xsl:if>
</div>
</div>
<hr class="mt-3 mb-2"/>
<xsl:choose>
<xsl:when test="count(//exportjobs/record) = 0">
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
<xsl:text>There are no Exports to view...</xsl:text>
</div>
</xsl:when>
<xsl:otherwise>
<div class="table-wrapper table-responsive scrollable">
<table class="table table-sm table-striped table-hover base-table table-auto" id="exportjobs-table">
<thead class="sticky-header" data-theme="{$THEME}">
<th class="text-nowrap">Title</th>
<th class="text-nowrap">Type</th>
<th class="text-nowrap">Submitted</th>
<th class="text-nowrap">Completed</th>
<th class="text-nowrap">Status</th>
<th class="text-nowrap">Action</th>
</thead>
<tbody>
<xsl:apply-templates select="//exportjobs"/>
</tbody>
</table>
</div>
</xsl:otherwise>
</xsl:choose>
</div>
</div>
</div>
</xsl:template>
<!-- Template for table rows -->
<xsl:template match="exportjobs/record">
<tr class="hoverable exportjobs-row" data-export-code="{exportjob_download_token}" data-exportjobs-serial="{exportjob_serial}">
<td class="subscription_full_title">
<xsl:value-of select="subscription_full_title"/>
</td>
<td class="exportjob_file_type">
<xsl:value-of select="exportjob_file_type"/>
</td>
<td class="exportjob_created">
<xsl:value-of select="exportjob_created_verbose"/>
</td>
<td class="exportjob_created">
<xsl:choose>
<xsl:when test="normalize-space(exportjob_completed) != ''">
<xsl:value-of select="exportjob_completed_verbose"/>
</xsl:when>
<xsl:otherwise>--</xsl:otherwise>
</xsl:choose>
<!--<xsl:value-of select="exportjob_completed_verbose"/>-->
</td>
<td class="exportjob_status">
<xsl:choose>
<xsl:when test="string-length(normalize-space(exportjob_status)) &gt; 0">
<xsl:value-of select="concat(translate(substring(exportjob_status, 1, 1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ'),
substring(exportjob_status, 2))"/>
</xsl:when>
<xsl:otherwise/>
</xsl:choose>
</td>
<td class="exportjob_action text-center">
<button class="btn btn-sm btn-primary btnDownload" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'download_export']/popover_text}" data-bs-html="true" data-bs-custom-class="custom-tooltip">
<xsl:if test="exportjob_status != 'complete'">
<xsl:attribute name="disabled">disabled</xsl:attribute>
</xsl:if>
<i class="bi bi-download"></i>
</button>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>