display datetime cells #137

This commit is contained in:
Jan Prochazka
2021-07-01 13:35:19 +02:00
parent 6ed9bb0258
commit 9d711e45f9

View File

@@ -12,7 +12,8 @@
return value; return value;
} }
const dateTimeRegex = /^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d\d\d)?Z?$/; // const dateTimeRegex = /^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d(\.\d\d\d)?Z?$/;
const dateTimeRegex = /^([0-9]+)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])[Tt]([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(([Zz])|()|([\+|\-]([01][0-9]|2[0-3]):[0-5][0-9]))$/;
function formatNumber(value) { function formatNumber(value) {
if (value >= 10000 || value <= -10000) { if (value >= 10000 || value <= -10000) {
@@ -25,12 +26,15 @@
return value.toString(); return value.toString();
} }
function formatDateTime(testedString) {
const m = testedString.match(dateTimeRegex);
return `${m[1]}-${m[2]}-${m[3]} ${m[4]}:${m[5]}:${m[6]}`;
}
</script> </script>
<script lang="ts"> <script lang="ts">
import moment from 'moment';
import _ from 'lodash'; import _ from 'lodash';
import { isTypeLogical } from 'dbgate-tools';
import ShowFormButton from '../formview/ShowFormButton.svelte'; import ShowFormButton from '../formview/ShowFormButton.svelte';
import { getBoolSettingsValue } from '../settings/settingsTools'; import { getBoolSettingsValue } from '../settings/settingsTools';
@@ -79,28 +83,18 @@
{:else if value === undefined} {:else if value === undefined}
<span class="null">(No field)</span> <span class="null">(No field)</span>
{:else if _.isDate(value)} {:else if _.isDate(value)}
{moment(value).format('YYYY-MM-DD HH:mm:ss')} {value.toString()}
{:else if value === true} {:else if value === true}
{#if isDynamicStructure} <span class="value">true</span>
<span class="value">true</span>
{:else}
1
{/if}
{:else if value === false} {:else if value === false}
{#if isDynamicStructure} <span class="value">false</span>
<span class="value">false</span>
{:else}
0
{/if}
{:else if _.isNumber(value)} {:else if _.isNumber(value)}
{#if isDynamicStructure} <span class="value">{formatNumber(value)}</span>
<span class="value">{formatNumber(value)}</span>
{:else}
{formatNumber(value)}
{/if}
{:else if _.isString(value)} {:else if _.isString(value)}
{#if dateTimeRegex.test(value)} {#if dateTimeRegex.test(value)}
{moment(value).format('YYYY-MM-DD HH:mm:ss')} <span class="value">
{formatDateTime(value)}
</span>
{:else} {:else}
{highlightSpecialCharacters(value)} {highlightSpecialCharacters(value)}
{/if} {/if}