chart initial import

This commit is contained in:
Jan Prochazka
2021-03-19 20:12:13 +01:00
parent 75c578de47
commit 489c9a905c
17 changed files with 617 additions and 9 deletions

View File

@@ -0,0 +1,56 @@
<script lang="ts">
import _ from 'lodash';
import ChartEditor from '../charts/ChartEditor.svelte';
import ErrorInfo from '../elements/ErrorInfo.svelte';
import LoadingInfo from '../elements/LoadingInfo.svelte';
import useEditorData from '../query/useEditorData';
import createUndoReducer from '../utility/createUndoReducer';
export let tabid;
export let conid;
export let database;
export function getData() {
return $editorState.value || '';
}
const { editorState, editorValue, setEditorData } = useEditorData({
tabid,
onInitialData: value => {
dispatchModel({ type: 'reset', value });
},
});
const [modelState, dispatchModel] = createUndoReducer({
tables: [],
references: [],
columns: [],
});
$: setEditorData($modelState.value);
const setConfig = config =>
// @ts-ignore
dispatchModel({
type: 'compute',
compute: v => ({ ...v, config: _.isFunction(config) ? config(v.config) : config }),
});
</script>
{#if $editorState.isLoading}
<LoadingInfo wrapper message="Loading data" />
{:else if $editorState.errorMessage}
<ErrorInfo message={$editorState.errorMessage} />
{:else}
<ChartEditor
data={$modelState.value && $modelState.value.data}
config={$modelState.value ? $modelState.value.config || {} : {}}
{setConfig}
sql={$modelState.value && $modelState.value.sql}
{conid}
{database}
/>
{/if}

View File

@@ -7,7 +7,7 @@ import * as ShellTab from './ShellTab.svelte';
import * as ArchiveFileTab from './ArchiveFileTab.svelte';
import * as FreeTableTab from './FreeTableTab.svelte';
// import PluginTab from './PluginTab';
// import ChartTab from './ChartTab';
import * as ChartTab from './ChartTab.svelte';
import * as MarkdownEditorTab from './MarkdownEditorTab.svelte';
// import MarkdownViewTab from './MarkdownViewTab';
// import MarkdownPreviewTab from './MarkdownPreviewTab';
@@ -24,7 +24,7 @@ export default {
ArchiveFileTab,
FreeTableTab,
// PluginTab,
// ChartTab,
ChartTab,
MarkdownEditorTab,
// MarkdownViewTab,
// MarkdownPreviewTab,