Mercurial > gemma
view client/src/lib/filters.js @ 5356:3216b4a19023 extented-report
spinner added to info tool's download link for DQL reports
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Tue, 22 Jun 2021 14:44:34 +0200 |
parents | 1109a38f7ff1 |
children |
line wrap: on
line source
/* This is Free Software under GNU Affero General Public License v >= 3.0 * without warranty, see README.md and license for details. * * SPDX-License-Identifier: AGPL-3.0-or-later * License-Filename: LICENSES/AGPL-3.0.txt * * Copyright (C) 2018 by via donau * – Österreichische Wasserstraßen-Gesellschaft mbH * Software engineering by Intevation GmbH * * Author(s): * Thomas Junk <thomas.junk@intevation.de> * Markus Kottländer <markus.kottlaender@intevation.de> */ import locale2 from "locale2"; export default { surveyDate(date) { return date ? new Date(date).toLocaleDateString(locale2, { day: "2-digit", month: "2-digit", year: "numeric" }) : ""; }, dateTime(date, hideTime) { if (!date) return ""; const d = new Date(date); let dateString = d.toLocaleDateString(locale2, { day: "2-digit", month: "2-digit", year: "numeric" }); if (!hideTime) { dateString += " - " + d.toLocaleTimeString(locale2, { hour12: false }); } return dateString; }, sortTable(data, sortColumn, sortDirection, page, pageSize) { // clone the array and leave the original intact let sortedData = data.filter(d => d); if (sortColumn && sortDirection) { sortedData.sort((a, b) => { let valB = sortColumn.split(".").reduce((o, i) => o[i], a) || ""; let valA = sortColumn.split(".").reduce((o, i) => o[i], b) || ""; if (valA > valB) return sortDirection === "ASC" ? -1 : 1; if (valA < valB) return sortDirection === "ASC" ? 1 : -1; return 0; }); } if (page && pageSize) { let start = page * pageSize - pageSize; sortedData = sortedData.slice(start, start + pageSize); } return sortedData; }, // converts cm to m and formats based on locale waterlevel(n) { return (n / 100).toLocaleString(locale2, { minimumFractionDigits: 2, maximumFractionDigits: 2 }); } };