From 5fc7eb6470dc470c1d7cee25857eef2932e137ac Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Wed, 23 Nov 2022 14:45:56 +0100 Subject: [PATCH] fix(frontend): Cleanup dead code (#935) --- .../apps/components/DisplayComponent.svelte | 34 +--- .../apps/components/RunFormComponent.svelte | 148 ------------------ .../apps/components/TableComponent.svelte | 6 +- .../charts/BarChartComponent.svelte | 46 +++--- .../components/common/ButtonComponent.svelte | 4 +- .../components/common/TextComponent.svelte | 4 +- .../helpers/ComponentInputValue.svelte | 18 --- ...bleInputValue.svelte => InputValue.svelte} | 0 .../helpers/RunnableComponent.svelte | 4 +- .../apps/editor/ComponentEditor.svelte | 23 +-- .../componentsPanel/componentDefaultProps.ts | 4 +- .../apps/editor/componentsPanel/data.ts | 30 ---- .../contextPanel/ComponentOutputViewer.svelte | 2 +- .../settingsPanel/ComponentPanel.svelte | 12 +- frontend/src/lib/components/apps/types.ts | 9 +- frontend/src/lib/components/apps/utils.ts | 69 +------- 16 files changed, 50 insertions(+), 363 deletions(-) delete mode 100644 frontend/src/lib/components/apps/components/RunFormComponent.svelte delete mode 100644 frontend/src/lib/components/apps/components/helpers/ComponentInputValue.svelte rename frontend/src/lib/components/apps/components/helpers/{RunnableInputValue.svelte => InputValue.svelte} (100%) diff --git a/frontend/src/lib/components/apps/components/DisplayComponent.svelte b/frontend/src/lib/components/apps/components/DisplayComponent.svelte index 37fb1ac44c..57c2e0412e 100644 --- a/frontend/src/lib/components/apps/components/DisplayComponent.svelte +++ b/frontend/src/lib/components/apps/components/DisplayComponent.svelte @@ -2,50 +2,28 @@ import DisplayResult from '$lib/components/DisplayResult.svelte' import { getContext } from 'svelte' import type { AppEditorContext, ComponentInputsSpec } from '../types' + import InputValue from './helpers/InputValue.svelte' export let componentInputs: ComponentInputsSpec const { worldStore } = getContext('AppEditorContext') - $: hasConnection = - componentInputs.result.type === 'output' && - componentInputs.result.id && - componentInputs.result.name - - $: inputResult = hasConnection - ? $worldStore?.connect(componentInputs.result, () => { - update() - }) - : { - peak: () => { - if (componentInputs.result.type === 'static') { - return componentInputs.result.value - } - } - } - - let result: any - - function update() { - result = inputResult?.peak() - } - - $: !hasConnection && componentInputs.result && update() + let resultValue: any = undefined export const staticOutputs: string[] = [] + + {#if $worldStore}
Results
- {#if !hasConnection && componentInputs.result.type !== 'static'} - Not connected - {:else if result === undefined && componentInputs.result.type === 'output'} + {#if resultValue === undefined && componentInputs.result.type === 'output'} Waiting for result {:else} - + {/if}
{/if} diff --git a/frontend/src/lib/components/apps/components/RunFormComponent.svelte b/frontend/src/lib/components/apps/components/RunFormComponent.svelte deleted file mode 100644 index 78ba339c72..0000000000 --- a/frontend/src/lib/components/apps/components/RunFormComponent.svelte +++ /dev/null @@ -1,148 +0,0 @@ - - - { - if (testJob) { - outputs?.result.set(testJob?.result) - outputs?.loading.set(false) - } - }} - bind:isLoading={testIsLoading} - bind:job={testJob} - bind:this={testJobLoader} -/> - -{#if schemaClone !== undefined} - - -{/if} diff --git a/frontend/src/lib/components/apps/components/TableComponent.svelte b/frontend/src/lib/components/apps/components/TableComponent.svelte index 7b77e61264..53ef634c98 100644 --- a/frontend/src/lib/components/apps/components/TableComponent.svelte +++ b/frontend/src/lib/components/apps/components/TableComponent.svelte @@ -4,7 +4,7 @@ import { getContext } from 'svelte' import type { Output } from '../rx' import type { AppEditorContext, ComponentInputsSpec, InputsSpec } from '../types' - import ComponentInputValue from './helpers/ComponentInputValue.svelte' + import InputValue from './helpers/InputValue.svelte' import DebouncedInput from './helpers/DebouncedInput.svelte' import RunnableComponent from './helpers/RunnableComponent.svelte' @@ -49,8 +49,8 @@ export const reservedKeys: string[] = Object.keys(extraQueryParams) - - + + - import type { Schema } from '$lib/common' - import { emptySchema } from '$lib/utils' - import { getContext } from 'svelte' - import type { AppEditorContext } from '../../types' import { Bar } from 'svelte-chartjs' import { @@ -17,6 +13,19 @@ BarElement } from 'chart.js' + import type { ChartData } from 'chart.js' + + import type { InputsSpec } from '../../types' + import RunnableComponent from '../helpers/RunnableComponent.svelte' + + export let id: string + export let inputs: InputsSpec + export let path: string | undefined = undefined + export let runType: 'script' | 'flow' | undefined = undefined + export let inlineScriptName: string | undefined = undefined + + export const staticOutputs: string[] = ['loading', 'result'] + ChartJS.register( Title, Tooltip, @@ -28,28 +37,11 @@ BarElement ) - const { worldStore } = getContext('AppEditorContext') - export const schema: Schema = emptySchema() - export const staticOutputs: string[] = [] - - const data = { - labels: ['Red', 'Blue', 'Yellow'], - datasets: [ - { - label: '% of Votes', - data: [12, 19, 3], - backgroundColor: [ - 'rgba(255, 134,159,0.4)', - 'rgba(98, 182, 239,0.4)', - 'rgba(255, 218, 128,0.4)' - ], - borderWidth: 2, - borderColor: ['rgba(255, 134, 159, 1)', 'rgba(98, 182, 239, 1)', 'rgba(255, 218, 128, 1)'] - } - ] - } + let result: ChartData<'bar', number[], unknown> | undefined = undefined -{#if $worldStore} - -{/if} + + {#if result} + + {/if} + diff --git a/frontend/src/lib/components/apps/components/common/ButtonComponent.svelte b/frontend/src/lib/components/apps/components/common/ButtonComponent.svelte index 708b5a8eca..3a1e47533b 100644 --- a/frontend/src/lib/components/apps/components/common/ButtonComponent.svelte +++ b/frontend/src/lib/components/apps/components/common/ButtonComponent.svelte @@ -1,7 +1,7 @@ - + - + diff --git a/frontend/src/lib/components/apps/components/helpers/ComponentInputValue.svelte b/frontend/src/lib/components/apps/components/helpers/ComponentInputValue.svelte deleted file mode 100644 index 4c2b088452..0000000000 --- a/frontend/src/lib/components/apps/components/helpers/ComponentInputValue.svelte +++ /dev/null @@ -1,18 +0,0 @@ - diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableInputValue.svelte b/frontend/src/lib/components/apps/components/helpers/InputValue.svelte similarity index 100% rename from frontend/src/lib/components/apps/components/helpers/RunnableInputValue.svelte rename to frontend/src/lib/components/apps/components/helpers/InputValue.svelte diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte index f312f783a0..7529034525 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte @@ -13,7 +13,7 @@ import type { Output } from '../../rx' import type { AppEditorContext, InputsSpec } from '../../types' import { loadSchema, schemaToInputsSpec } from '../../utils' - import RunnableInputValue from './RunnableInputValue.svelte' + import InputValue from './InputValue.svelte' // Component props export let id: string @@ -179,7 +179,7 @@ {#each Object.keys(inputs) as key} - + {/each} - {#if component.type === 'runformcomponent'} - + {:else if component.type === 'barchartcomponent'} + - {:else if component.type === 'displaycomponent'} - - {:else if component.type === 'barchartcomponent'} - {:else if component.type === 'piechartcomponent'} {:else if component.type === 'textcomponent'} - + {:else if component.type === 'buttoncomponent'} - + {/if} diff --git a/frontend/src/lib/components/apps/editor/componentsPanel/componentDefaultProps.ts b/frontend/src/lib/components/apps/editor/componentsPanel/componentDefaultProps.ts index 7cc3aab48b..63e5b3a6db 100644 --- a/frontend/src/lib/components/apps/editor/componentsPanel/componentDefaultProps.ts +++ b/frontend/src/lib/components/apps/editor/componentsPanel/componentDefaultProps.ts @@ -1,8 +1,6 @@ const defaultProps = { inputs: {}, - componentInputs: {}, - alignable: false, - width: 0 + componentInputs: {} } const defaultAlignement = { diff --git a/frontend/src/lib/components/apps/editor/componentsPanel/data.ts b/frontend/src/lib/components/apps/editor/componentsPanel/data.ts index 8db9010b83..efba3a2004 100644 --- a/frontend/src/lib/components/apps/editor/componentsPanel/data.ts +++ b/frontend/src/lib/components/apps/editor/componentsPanel/data.ts @@ -16,11 +16,6 @@ const windmillComponents = { defaultValue: undefined } } - }, - { - ...defaultProps, - id: 'runformcomponent', - type: 'runformcomponent' } ] as AppComponent[] } @@ -55,31 +50,6 @@ const plainComponents = { } }, runnable: true - }, - { - ...defaultProps, - id: 'imagecomponent', - type: 'imagecomponent' - }, - { - ...defaultProps, - id: 'inputcomponent', - type: 'inputcomponent' - }, - { - ...defaultProps, - id: 'selectcomponent', - type: 'selectcomponent' - }, - { - ...defaultProps, - id: 'checkboxcomponent', - type: 'checkboxcomponent' - }, - { - ...defaultProps, - id: 'radiocomponent', - type: 'radiocomponent' } ] as AppComponent[] } diff --git a/frontend/src/lib/components/apps/editor/contextPanel/ComponentOutputViewer.svelte b/frontend/src/lib/components/apps/editor/contextPanel/ComponentOutputViewer.svelte index 6bc9322ed8..31c8707d69 100644 --- a/frontend/src/lib/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +++ b/frontend/src/lib/components/apps/editor/contextPanel/ComponentOutputViewer.svelte @@ -10,7 +10,7 @@ let object = {} - outputs.forEach((output) => { + outputs.forEach((output: string) => { $worldStore?.outputsById[componentId][output].subscribe({ next: (value) => { object[output] = value diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/ComponentPanel.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/ComponentPanel.svelte index 265455f5e4..14d0b3d91a 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/ComponentPanel.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/ComponentPanel.svelte @@ -74,17 +74,17 @@ { - if (component && component.type === 'runformcomponent') { - component.path = detail.path - component.runType = 'script' + if (component?.runnable) { + component['path'] = detail.path + component['runType'] = 'script' } }} /> { - if (component && component.type === 'runformcomponent') { - component.path = detail.path - component.runType = 'flow' + if (component?.runnable) { + component['path'] = detail.path + component['runType'] = 'flow' } }} /> diff --git a/frontend/src/lib/components/apps/types.ts b/frontend/src/lib/components/apps/types.ts index c1c1f0e0e5..d5d3c52163 100644 --- a/frontend/src/lib/components/apps/types.ts +++ b/frontend/src/lib/components/apps/types.ts @@ -60,11 +60,7 @@ type Runnable = { runType?: 'script' | 'flow' } -export type RunFormComponent = Runnable & { - type: 'runformcomponent' -} - -export type BarChartComponent = { +export type BarChartComponent = Runnable & { type: 'barchartcomponent' } @@ -82,7 +78,6 @@ export type DisplayComponent = { export type AppComponent = | ( - | RunFormComponent | DisplayComponent | TextInputComponent | BarChartComponent @@ -93,12 +88,10 @@ export type AppComponent = | PieChartComponent ) & { id: ComponentID - width: number horizontalAlignement?: 'left' | 'center' | 'right' verticalAlignement?: 'top' | 'center' | 'bottom' inputs: InputsSpec - // Only dynamic inputs (Result of display) componentInputs: ComponentInputsSpec runnable?: boolean | undefined card?: boolean | undefined diff --git a/frontend/src/lib/components/apps/utils.ts b/frontend/src/lib/components/apps/utils.ts index 9e347d2db1..9792be0741 100644 --- a/frontend/src/lib/components/apps/utils.ts +++ b/frontend/src/lib/components/apps/utils.ts @@ -4,54 +4,12 @@ import type { Schema } from '$lib/common' import { FlowService, ScriptService } from '$lib/gen' import { faBarChart, - faCode, faDisplay, faFile, - faFileAudio, - faImage, faMobileScreenButton, - faPieChart, - faSpellCheck, - faTabletButton + faPieChart } from '@fortawesome/free-solid-svg-icons' -type Args = Record - -export function buildArgs( - inputSpecs: InputsSpec, - schema: Schema, - includeHidden: boolean = false -): Args { - const obj = Object.keys(schema.properties).reduce((acc, key) => { - let input = inputSpecs[key] - - if (!input) { - input = { - type: 'static', - value: '', - visible: true, - fieldType: 'text' - } - } - - if (input.type === 'static' && (input.visible || includeHidden)) { - acc[key] = input.value - } - - if (input.type === 'output') { - acc[key] = input.defaultValue - } - - if (input.type === 'user') { - acc[key] = schema.properties[key].default - } - - return acc - }, {}) - - return obj -} - export async function loadSchema( workspace: string, path: string, @@ -94,10 +52,6 @@ export const displayData = { name: 'Result', icon: faDisplay }, - runformcomponent: { - name: 'Script', - icon: faCode - }, textcomponent: { name: 'Text', icon: faFile @@ -106,27 +60,6 @@ export const displayData = { name: 'Button', icon: faMobileScreenButton }, - imagecomponent: { - name: 'Image', - icon: faImage - }, - inputcomponent: { - name: 'Input', - icon: faFileAudio - }, - selectcomponent: { - name: 'Select', - icon: faSpellCheck - }, - checkboxcomponent: { - name: 'Checkbox', - icon: faTabletButton - }, - - radiocomponent: { - name: 'Radio Button', - icon: faTabletButton - }, piechartcomponent: { name: 'Pie chart', icon: faPieChart