data grid - handle edge cases (error, structure not loaded)

This commit is contained in:
Jan Prochazka
2021-03-25 08:46:04 +01:00
parent 0d0bd29812
commit 6b0e1e322a
2 changed files with 131 additions and 116 deletions

View File

@@ -243,6 +243,7 @@
import { clearLastFocusedFormView } from '../formview/FormView.svelte'; import { clearLastFocusedFormView } from '../formview/FormView.svelte';
import openReferenceForm, { openPrimaryKeyForm } from '../formview/openReferenceForm'; import openReferenceForm, { openPrimaryKeyForm } from '../formview/openReferenceForm';
import openNewTab from '../utility/openNewTab'; import openNewTab from '../utility/openNewTab';
import ErrorInfo from '../elements/ErrorInfo.svelte';
export let onLoadNextData = undefined; export let onLoadNextData = undefined;
export let grider = undefined; export let grider = undefined;
@@ -261,6 +262,7 @@
export let onOpenQuery = null; export let onOpenQuery = null;
export let onOpenActiveChart = null; export let onOpenActiveChart = null;
export let formViewAvailable = false; export let formViewAvailable = false;
export let errorMessage = undefined;
export let isLoadedAll; export let isLoadedAll;
export let loadedTime; export let loadedTime;
@@ -1002,6 +1004,17 @@
} }
</script> </script>
{#if !columns || columns.length == 0}
<LoadingInfo wrapper message="Waiting for structure" />
{:else if errorMessage}
<ErrorInfo message={errorMessage} />
{:else if grider.errors && grider.errors.length > 0}
<div>
{#each grider.errors as err}
<ErrorInfo message={err} key={index} isSmall />
{/each}
</div>
{:else}
<div <div
class="container" class="container"
bind:clientWidth={containerWidth} bind:clientWidth={containerWidth}
@@ -1138,6 +1151,7 @@
<LoadingInfo wrapper message="Loading data" /> <LoadingInfo wrapper message="Loading data" />
{/if} {/if}
</div> </div>
{/if}
<style> <style>
.container { .container {

View File

@@ -114,6 +114,7 @@
bind:this={domGrid} bind:this={domGrid}
{...$$props} {...$$props}
onLoadNextData={handleLoadNextData} onLoadNextData={handleLoadNextData}
{errorMessage}
{grider} {grider}
{isLoading} {isLoading}
{allRowCount} {allRowCount}