windmill-components 1.75.0 → 1.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ArgInput.svelte +4 -14
- package/components/DisplayResult.svelte +1 -1
- package/components/Dropdown.svelte +14 -4
- package/components/FlowGraphViewer.svelte +1 -1
- package/components/FolderUsageInfo.svelte +16 -6
- package/components/FolderUsageInfo.svelte.d.ts +2 -0
- package/components/LightweightArgInput.svelte +315 -0
- package/components/LightweightArgInput.svelte.d.ts +47 -0
- package/components/LightweightSchemaForm.svelte +31 -0
- package/components/LightweightSchemaForm.svelte.d.ts +18 -0
- package/components/ModulePreview.svelte +1 -0
- package/components/Multiselect.svelte.d.ts +2 -2
- package/components/PageHeader.svelte +1 -1
- package/components/Path.svelte +26 -3
- package/components/Range.svelte.d.ts +2 -2
- package/components/ScriptBuilder.svelte +122 -122
- package/components/SettingSection.svelte +44 -0
- package/components/SettingSection.svelte.d.ts +21 -0
- package/components/SimpleEditor.svelte +1 -1
- package/components/SimpleEditor.svelte.d.ts +2 -0
- package/components/TemplateEditor.svelte +3 -0
- package/components/TemplateEditor.svelte.d.ts +0 -204
- package/components/Tooltip.svelte +3 -1
- package/components/VariableEditor.svelte +2 -1
- package/components/WhitelistIp.svelte +1 -3
- package/components/apps/components/buttons/AppButton.svelte +16 -8
- package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -2
- package/components/apps/components/buttons/AppForm.svelte +3 -7
- package/components/apps/components/buttons/AppFormButton.svelte +3 -7
- package/components/apps/components/display/AppBarChart.svelte +7 -3
- package/components/apps/components/display/AppBarChart.svelte.d.ts +0 -2
- package/components/apps/components/display/AppDisplayComponent.svelte +7 -3
- package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +0 -2
- package/components/apps/components/display/AppHtml.svelte +7 -11
- package/components/apps/components/display/AppHtml.svelte.d.ts +0 -2
- package/components/apps/components/display/AppIcon.svelte +0 -1
- package/components/apps/components/display/AppIcon.svelte.d.ts +0 -2
- package/components/apps/components/display/AppImage.svelte +0 -1
- package/components/apps/components/display/AppImage.svelte.d.ts +0 -2
- package/components/apps/components/display/AppMap.svelte +10 -3
- package/components/apps/components/display/AppMap.svelte.d.ts +0 -2
- package/components/apps/components/display/AppPdf.svelte +8 -3
- package/components/apps/components/display/AppPdf.svelte.d.ts +0 -2
- package/components/apps/components/display/AppPieChart.svelte +7 -3
- package/components/apps/components/display/AppPieChart.svelte.d.ts +0 -2
- package/components/apps/components/display/AppScatterChart.svelte +7 -3
- package/components/apps/components/display/AppScatterChart.svelte.d.ts +0 -2
- package/components/apps/components/display/AppText.svelte +41 -17
- package/components/apps/components/display/AppText.svelte.d.ts +0 -2
- package/components/apps/components/display/AppTimeseries.svelte +7 -3
- package/components/apps/components/display/AppTimeseries.svelte.d.ts +0 -2
- package/components/apps/components/display/PlotlyHtml.svelte +9 -4
- package/components/apps/components/display/PlotlyHtml.svelte.d.ts +0 -2
- package/components/apps/components/display/VegaLiteHtml.svelte +8 -3
- package/components/apps/components/display/VegaLiteHtml.svelte.d.ts +0 -2
- package/components/apps/components/display/table/AppAggridTable.svelte +13 -5
- package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +0 -2
- package/components/apps/components/display/table/AppTable.svelte +19 -13
- package/components/apps/components/display/table/AppTable.svelte.d.ts +0 -2
- package/components/apps/components/helpers/HiddenComponent.svelte +11 -2
- package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +1 -2
- package/components/apps/components/helpers/InputValue.svelte +26 -43
- package/components/apps/components/helpers/InputValue.svelte.d.ts +4 -3
- package/components/apps/components/helpers/NonRunnableComponent.svelte +2 -2
- package/components/apps/components/helpers/RefreshButton.svelte +2 -3
- package/components/apps/components/helpers/ResizeWrapper.svelte +3 -4
- package/components/apps/components/helpers/RunnableComponent.svelte +63 -51
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +2 -1
- package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -1
- package/components/apps/components/helpers/eval.d.ts +5 -0
- package/components/apps/components/helpers/eval.js +57 -0
- package/components/apps/components/inputs/AppCheckbox.svelte +4 -2
- package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +0 -2
- package/components/apps/components/inputs/AppDateInput.svelte +4 -2
- package/components/apps/components/inputs/AppDateInput.svelte.d.ts +0 -2
- package/components/apps/components/inputs/AppFileInput.svelte +4 -2
- package/components/apps/components/inputs/AppFileInput.svelte.d.ts +0 -2
- package/components/apps/components/inputs/AppMultiSelect.svelte +4 -2
- package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +0 -2
- package/components/apps/components/inputs/AppNumberInput.svelte +4 -2
- package/components/apps/components/inputs/AppNumberInput.svelte.d.ts +0 -2
- package/components/apps/components/inputs/AppRangeInput.svelte +5 -2
- package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +0 -2
- package/components/apps/components/inputs/AppSelect.svelte +4 -2
- package/components/apps/components/inputs/AppSelect.svelte.d.ts +0 -2
- package/components/apps/components/inputs/AppSliderInputs.svelte +4 -2
- package/components/apps/components/inputs/AppSliderInputs.svelte.d.ts +0 -2
- package/components/apps/components/inputs/AppTextInput.svelte +5 -3
- package/components/apps/components/inputs/AppTextInput.svelte.d.ts +0 -2
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +5 -2
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +0 -2
- package/components/apps/components/layout/AppContainer.svelte +1 -7
- package/components/apps/components/layout/AppContainer.svelte.d.ts +0 -2
- package/components/apps/components/layout/AppDrawer.svelte +0 -3
- package/components/apps/components/layout/AppSplitpanes.svelte +1 -6
- package/components/apps/components/layout/AppTabs.svelte +62 -34
- package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -2
- package/components/apps/editor/AppComponentInput.svelte +2 -1
- package/components/apps/editor/AppEditor.svelte +145 -143
- package/components/apps/editor/AppEditorHeader.svelte +43 -35
- package/components/apps/editor/AppPreview.svelte +68 -15
- package/components/apps/editor/ComponentHeader.svelte +3 -1
- package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -0
- package/components/apps/editor/GridEditor.svelte +58 -77
- package/components/apps/editor/GridPanel.svelte +3 -1
- package/components/apps/editor/GridViewer.svelte +91 -0
- package/components/apps/editor/GridViewer.svelte.d.ts +32 -0
- package/components/apps/editor/RecomputeAllComponents.svelte +7 -1
- package/components/apps/editor/SettingsPanel.svelte +23 -10
- package/components/apps/editor/SubGridEditor.svelte +95 -68
- package/components/apps/editor/SubGridEditor.svelte.d.ts +3 -4
- package/components/apps/editor/appUtils.d.ts +13 -3
- package/components/apps/editor/appUtils.js +106 -37
- package/components/apps/editor/component/Component.svelte +6 -52
- package/components/apps/editor/component/ComponentNavigation.svelte +101 -51
- package/components/apps/editor/component/components.d.ts +3 -3
- package/components/apps/editor/component/components.js +59 -115
- package/components/apps/editor/componentsPanel/ComponentList.svelte +5 -4
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -1
- package/components/apps/editor/componentsPanel/componentStaticValues.js +1 -0
- package/components/apps/editor/contextPanel/ComponentOutput.svelte +67 -0
- package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +21 -0
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +15 -10
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte.d.ts +0 -1
- package/components/apps/editor/contextPanel/ContextPanel.svelte +73 -136
- package/components/apps/editor/contextPanel/SubGridOutput.svelte +66 -0
- package/components/apps/editor/contextPanel/SubGridOutput.svelte.d.ts +19 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +41 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte.d.ts +18 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte +9 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte.d.ts +16 -0
- package/components/apps/editor/contextPanel/components/MinMaxButton.svelte +25 -0
- package/components/apps/editor/contextPanel/components/MinMaxButton.svelte.d.ts +16 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte +99 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +24 -0
- package/components/apps/editor/contextPanel/components/TableActionOutput.svelte +17 -0
- package/components/apps/editor/contextPanel/components/TableActionOutput.svelte.d.ts +17 -0
- package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +13 -0
- package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte.d.ts +17 -0
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +55 -23
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +74 -44
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +5 -9
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +2 -2
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +43 -37
- package/components/apps/editor/settingsPanel/GridPane.svelte +1 -3
- package/components/apps/editor/settingsPanel/GridTab.svelte +5 -15
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -16
- package/components/apps/editor/settingsPanel/Recompute.svelte +1 -0
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +6 -0
- package/components/apps/editor/settingsPanel/TableActions.svelte +4 -6
- package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +2 -8
- package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +58 -46
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +2 -0
- package/components/apps/gridUtils.d.ts +1 -3
- package/components/apps/gridUtils.js +1 -15
- package/components/apps/rx.d.ts +7 -5
- package/components/apps/rx.js +37 -19
- package/components/apps/svelte-grid/Grid.svelte +167 -0
- package/components/apps/svelte-grid/Grid.svelte.d.ts +45 -0
- package/components/apps/svelte-grid/LICENSE +23 -0
- package/components/apps/svelte-grid/MoveResize.svelte +328 -0
- package/components/apps/svelte-grid/MoveResize.svelte.d.ts +46 -0
- package/components/apps/svelte-grid/types.d.ts +21 -0
- package/components/apps/svelte-grid/utils/container.d.ts +1 -0
- package/components/apps/svelte-grid/utils/container.js +4 -0
- package/components/apps/svelte-grid/utils/helper.d.ts +10 -0
- package/components/apps/svelte-grid/utils/helper.js +36 -0
- package/components/apps/svelte-grid/utils/item.d.ts +14 -0
- package/components/apps/svelte-grid/utils/item.js +192 -0
- package/components/apps/svelte-grid/utils/matrix.d.ts +6 -0
- package/components/apps/svelte-grid/utils/matrix.js +53 -0
- package/components/apps/svelte-grid/utils/other.d.ts +3 -0
- package/components/apps/svelte-grid/utils/other.js +30 -0
- package/components/apps/types.d.ts +19 -14
- package/components/apps/utils.d.ts +1 -1
- package/components/apps/utils.js +15 -9
- package/components/common/CloseButton.svelte +18 -0
- package/components/common/CloseButton.svelte.d.ts +27 -0
- package/components/common/badge/Badge.svelte +6 -1
- package/components/common/badge/Badge.svelte.d.ts +1 -0
- package/components/common/button/Button.svelte.d.ts +1 -1
- package/components/common/button/ButtonPopup.svelte.d.ts +1 -1
- package/components/common/drawer/DrawerContent.svelte +2 -6
- package/components/common/languageIcons/JavaScript.svelte +11 -0
- package/components/common/languageIcons/JavaScript.svelte.d.ts +25 -0
- package/components/common/languageIcons/LanguageIcon.svelte +3 -1
- package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
- package/components/common/menu/Menu.svelte +1 -1
- package/components/common/menu/Menu.svelte.d.ts +1 -1
- package/components/common/popup/Popup.svelte +2 -1
- package/components/common/popup/Popup.svelte.d.ts +9 -0
- package/components/common/table/AppRow.svelte +1 -4
- package/components/common/table/FlowRow.svelte +1 -4
- package/components/common/table/ScriptRow.svelte +1 -4
- package/components/common/tabs/Tab.svelte +1 -0
- package/components/common/tabs/Tab.svelte.d.ts +2 -0
- package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/components/graph/FlowGraph.svelte +1 -1
- package/components/propertyPicker/ObjectViewer.svelte +1 -1
- package/components/propertyPicker/PropPicker.svelte +4 -1
- package/components/sidebar/SidebarContent.svelte +2 -2
- package/consts.js +1 -1
- package/history.js +8 -1
- package/package.json +24 -28
- package/utils.js +0 -1
- package/components/apps/editor/AppComponentInputs.svelte +0 -13
- package/components/apps/editor/AppComponentInputs.svelte.d.ts +0 -20
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +0 -92
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +0 -18
- package/components/graph/svelvet/d3/controllers/README.md +0 -3
- package/components/graph/svelvet/d3/controllers/d3Old.d.ts +0 -1
- package/components/graph/svelvet/d3/controllers/d3Old.js +0 -43
- package/components/graph/svelvet/docs/CHANGELOG.md +0 -145
- package/components/graph/svelvet/docs/DESIGN_PATTERNS.md +0 -44
- package/components/graph/svelvet/docs/DOCUMENTATION.md +0 -5
- package/components/graph/svelvet/docs/README.md +0 -34
- package/components/graph/svelvet/docs/TODO.md +0 -14
- package/components/graph/svelvet/docs/Tutorials.md +0 -25
- package/components/graph/svelvet/docs/images/css-background-after.png +0 -0
- package/components/graph/svelvet/docs/images/css-background-before.png +0 -0
- package/components/graph/svelvet/docs/images/custom-edges-after.png +0 -0
- package/components/graph/svelvet/docs/images/custom-edges-before.png +0 -0
- package/components/graph/svelvet/docs/images/custom-nodes-after.png +0 -0
- package/components/graph/svelvet/docs/images/custom-nodes-before.png +0 -0
- package/components/graph/svelvet/docs/images/custom-svelte-components-after.png +0 -0
- package/components/graph/svelvet/docs/images/custom-svelte-components-before.png +0 -0
- package/components/graph/svelvet/docs/images/html-docs-after.png +0 -0
- package/components/graph/svelvet/docs/images/html-docs-before.png +0 -0
- package/components/graph/svelvet/docs/images/minimap-after.png +0 -0
- package/components/graph/svelvet/docs/images/minimap-before.png +0 -0
- package/components/graph/svelvet/docs/images/node-classes-after.png +0 -0
- package/components/graph/svelvet/docs/images/node-classes-before.png +0 -0
- package/components/graph/svelvet/docs/images/node-create-after.png +0 -0
- package/components/graph/svelvet/docs/images/node-create-before.png +0 -0
|
@@ -7,7 +7,6 @@ declare const __propDef: {
|
|
|
7
7
|
configuration: Record<string, AppInput>;
|
|
8
8
|
inputType?: string | undefined;
|
|
9
9
|
verticalAlignment?: 'top' | 'center' | 'bottom' | undefined;
|
|
10
|
-
staticOutputs?: string[] | undefined;
|
|
11
10
|
customCss?: ComponentCustomCSS<'input'> | undefined;
|
|
12
11
|
appCssKey?: "textinputcomponent" | "passwordinputcomponent" | "emailinputcomponent" | undefined;
|
|
13
12
|
render: boolean;
|
|
@@ -23,6 +22,5 @@ export type AppTextInputProps = typeof __propDef.props;
|
|
|
23
22
|
export type AppTextInputEvents = typeof __propDef.events;
|
|
24
23
|
export type AppTextInputSlots = typeof __propDef.slots;
|
|
25
24
|
export default class AppTextInput extends SvelteComponentTyped<AppTextInputProps, AppTextInputEvents, AppTextInputSlots> {
|
|
26
|
-
get staticOutputs(): string[];
|
|
27
25
|
}
|
|
28
26
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script>import { initOutput } from '../../../editor/appUtils';
|
|
2
|
+
import { getContext } from 'svelte';
|
|
2
3
|
import { twMerge } from 'tailwind-merge';
|
|
3
4
|
import { concatCustomCss } from '../../../utils';
|
|
4
5
|
import AlignWrapper from '../../helpers/AlignWrapper.svelte';
|
|
@@ -7,10 +8,12 @@ import CurrencyInput from './CurrencyInput.svelte';
|
|
|
7
8
|
export let id;
|
|
8
9
|
export let configuration;
|
|
9
10
|
export let verticalAlignment = undefined;
|
|
10
|
-
export const staticOutputs = ['result'];
|
|
11
11
|
export let customCss = undefined;
|
|
12
12
|
export let render;
|
|
13
13
|
const { app, worldStore } = getContext('AppViewerContext');
|
|
14
|
+
initOutput($worldStore, id, {
|
|
15
|
+
result: undefined
|
|
16
|
+
});
|
|
14
17
|
let defaultValue = undefined;
|
|
15
18
|
let isNegativeAllowed = undefined;
|
|
16
19
|
let currency = undefined;
|
|
@@ -6,7 +6,6 @@ declare const __propDef: {
|
|
|
6
6
|
id: string;
|
|
7
7
|
configuration: Record<string, AppInput>;
|
|
8
8
|
verticalAlignment?: 'top' | 'center' | 'bottom' | undefined;
|
|
9
|
-
staticOutputs?: string[] | undefined;
|
|
10
9
|
customCss?: ComponentCustomCSS<'input'> | undefined;
|
|
11
10
|
render: boolean;
|
|
12
11
|
};
|
|
@@ -19,6 +18,5 @@ export type AppCurrencyInputProps = typeof __propDef.props;
|
|
|
19
18
|
export type AppCurrencyInputEvents = typeof __propDef.events;
|
|
20
19
|
export type AppCurrencyInputSlots = typeof __propDef.slots;
|
|
21
20
|
export default class AppCurrencyInput extends SvelteComponentTyped<AppCurrencyInputProps, AppCurrencyInputEvents, AppCurrencyInputSlots> {
|
|
22
|
-
get staticOutputs(): string[];
|
|
23
21
|
}
|
|
24
22
|
export {};
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
2
|
import SubGridEditor from '../../editor/SubGridEditor.svelte';
|
|
3
3
|
import { concatCustomCss } from '../../utils';
|
|
4
|
-
import InputValue from '../helpers/InputValue.svelte';
|
|
5
4
|
export let id;
|
|
6
5
|
export let configuration;
|
|
7
6
|
export let componentContainerHeight;
|
|
8
7
|
export let customCss = undefined;
|
|
9
8
|
export let render;
|
|
10
|
-
let noPadding = undefined;
|
|
11
|
-
export const staticOutputs = [];
|
|
12
9
|
const { app, focusedGrid, selectedComponent } = getContext('AppViewerContext');
|
|
13
10
|
function onFocus() {
|
|
14
11
|
$focusedGrid = {
|
|
@@ -20,13 +17,10 @@ $: $selectedComponent === id && onFocus();
|
|
|
20
17
|
$: css = concatCustomCss($app.css?.containercomponent, customCss);
|
|
21
18
|
</script>
|
|
22
19
|
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
<div>
|
|
20
|
+
<div class="w-full h-full">
|
|
26
21
|
{#if $app.subgrids?.[`${id}-0`]}
|
|
27
22
|
<SubGridEditor
|
|
28
23
|
visible={render}
|
|
29
|
-
{noPadding}
|
|
30
24
|
{id}
|
|
31
25
|
class={css?.container.class}
|
|
32
26
|
style={css?.container.style}
|
|
@@ -8,7 +8,6 @@ declare const __propDef: {
|
|
|
8
8
|
componentContainerHeight: number;
|
|
9
9
|
customCss?: ComponentCustomCSS<'container'> | undefined;
|
|
10
10
|
render: boolean;
|
|
11
|
-
staticOutputs?: string[] | undefined;
|
|
12
11
|
};
|
|
13
12
|
events: {
|
|
14
13
|
[evt: string]: CustomEvent<any>;
|
|
@@ -19,6 +18,5 @@ export type AppContainerProps = typeof __propDef.props;
|
|
|
19
18
|
export type AppContainerEvents = typeof __propDef.events;
|
|
20
19
|
export type AppContainerSlots = typeof __propDef.slots;
|
|
21
20
|
export default class AppContainer extends SvelteComponentTyped<AppContainerProps, AppContainerEvents, AppContainerSlots> {
|
|
22
|
-
get staticOutputs(): string[];
|
|
23
21
|
}
|
|
24
22
|
export {};
|
|
@@ -15,7 +15,6 @@ export let noWFull = false;
|
|
|
15
15
|
export let render;
|
|
16
16
|
const { app, focusedGrid, selectedComponent } = getContext('AppViewerContext');
|
|
17
17
|
let gridContent = undefined;
|
|
18
|
-
let noPadding = undefined;
|
|
19
18
|
let drawerTitle = undefined;
|
|
20
19
|
let appDrawer;
|
|
21
20
|
let labelValue;
|
|
@@ -54,7 +53,6 @@ $: css = concatCustomCss($app.css?.containercomponent, customCss);
|
|
|
54
53
|
</div>
|
|
55
54
|
|
|
56
55
|
<InputValue {id} input={configuration.gridContent} bind:value={gridContent} />
|
|
57
|
-
<InputValue {id} input={configuration.noPadding} bind:value={noPadding} />
|
|
58
56
|
<InputValue {id} input={configuration.drawerTitle} bind:value={drawerTitle} />
|
|
59
57
|
<InputValue {id} input={configuration.label} bind:value={labelValue} />
|
|
60
58
|
<InputValue {id} input={configuration.color} bind:value={color} />
|
|
@@ -73,7 +71,6 @@ $: css = concatCustomCss($app.css?.containercomponent, customCss);
|
|
|
73
71
|
{#if $app.subgrids?.[`${id}-0`]}
|
|
74
72
|
<SubGridEditor
|
|
75
73
|
visible={open && render}
|
|
76
|
-
{noPadding}
|
|
77
74
|
{id}
|
|
78
75
|
class={css?.container.class}
|
|
79
76
|
style={css?.container.style}
|
|
@@ -11,9 +11,7 @@ export let customCss = undefined;
|
|
|
11
11
|
export let horizontal = false;
|
|
12
12
|
export let panes;
|
|
13
13
|
export let render;
|
|
14
|
-
const { app, focusedGrid, selectedComponent } = getContext('AppViewerContext');
|
|
15
|
-
const { componentControl } = getContext('AppEditorContext');
|
|
16
|
-
let noPadding = undefined;
|
|
14
|
+
const { app, focusedGrid, selectedComponent, componentControl } = getContext('AppViewerContext');
|
|
17
15
|
function onFocus() {
|
|
18
16
|
$focusedGrid = {
|
|
19
17
|
parentComponentId: id,
|
|
@@ -54,8 +52,6 @@ $: {
|
|
|
54
52
|
}
|
|
55
53
|
</script>
|
|
56
54
|
|
|
57
|
-
<InputValue {id} input={configuration.noPadding} bind:value={noPadding} />
|
|
58
|
-
|
|
59
55
|
<div class="h-full w-full border" on:pointerdown|stopPropagation>
|
|
60
56
|
<Splitpanes {horizontal}>
|
|
61
57
|
{#each sumedup as paneSize, index (index)}
|
|
@@ -64,7 +60,6 @@ $: {
|
|
|
64
60
|
<SubGridEditor
|
|
65
61
|
visible={render}
|
|
66
62
|
noYPadding
|
|
67
|
-
{noPadding}
|
|
68
63
|
{id}
|
|
69
64
|
shouldHighlight={$focusedGrid?.subGridIndex === index}
|
|
70
65
|
class={css?.container.class}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script>import { Tab, Tabs } from '../../../common';
|
|
2
2
|
import { getContext, onMount } from 'svelte';
|
|
3
|
+
import { initOutput } from '../../editor/appUtils';
|
|
3
4
|
import SubGridEditor from '../../editor/SubGridEditor.svelte';
|
|
4
5
|
import { concatCustomCss } from '../../utils';
|
|
5
6
|
import InputValue from '../helpers/InputValue.svelte';
|
|
@@ -9,12 +10,14 @@ export let componentContainerHeight;
|
|
|
9
10
|
export let tabs;
|
|
10
11
|
export let customCss = undefined;
|
|
11
12
|
export let render;
|
|
12
|
-
export
|
|
13
|
-
const { app, worldStore, focusedGrid, selectedComponent } = getContext('AppViewerContext');
|
|
14
|
-
const { componentControl } = getContext('AppEditorContext');
|
|
13
|
+
export let initializing = configuration.tabsKind != undefined;
|
|
14
|
+
const { app, worldStore, focusedGrid, selectedComponent, mode, componentControl } = getContext('AppViewerContext');
|
|
15
15
|
let selected = tabs[0];
|
|
16
|
-
let
|
|
16
|
+
let kind = undefined;
|
|
17
17
|
let tabHeight = 0;
|
|
18
|
+
let outputs = initOutput($worldStore, id, {
|
|
19
|
+
selectedTabIndex: 0
|
|
20
|
+
});
|
|
18
21
|
function handleTabSelection() {
|
|
19
22
|
const selectedIndex = tabs?.indexOf(selected);
|
|
20
23
|
outputs?.selectedTabIndex.set(selectedIndex, true);
|
|
@@ -54,46 +57,71 @@ $componentControl[id] = {
|
|
|
54
57
|
return true;
|
|
55
58
|
}
|
|
56
59
|
return false;
|
|
60
|
+
},
|
|
61
|
+
setTab: (tab) => {
|
|
62
|
+
selected = tabs[tab];
|
|
57
63
|
}
|
|
58
64
|
};
|
|
59
65
|
$: selected && handleTabSelection();
|
|
60
|
-
$: outputs = $worldStore?.outputsById[id];
|
|
61
66
|
$: selectedIndex = tabs?.indexOf(selected) ?? -1;
|
|
62
67
|
$: css = concatCustomCss($app.css?.tabscomponent, customCss);
|
|
68
|
+
let subgridWidth = undefined;
|
|
63
69
|
</script>
|
|
64
70
|
|
|
65
|
-
<InputValue
|
|
71
|
+
<InputValue
|
|
72
|
+
on:done={() => initializing && (initializing = false)}
|
|
73
|
+
{id}
|
|
74
|
+
input={configuration.tabsKind}
|
|
75
|
+
bind:value={kind}
|
|
76
|
+
/>
|
|
66
77
|
|
|
67
|
-
<div>
|
|
68
|
-
|
|
69
|
-
<
|
|
78
|
+
<div class={kind == 'sidebar' ? 'flex gap-4 w-full' : 'w-full'}>
|
|
79
|
+
{#if !kind || kind == 'tabs' || (kind == 'invisibleOnView' && $mode == 'dnd')}
|
|
80
|
+
<div bind:clientHeight={tabHeight}>
|
|
81
|
+
<Tabs bind:selected class={css?.tabRow?.class} style={css?.tabRow?.style}>
|
|
82
|
+
{#each tabs ?? [] as res}
|
|
83
|
+
<Tab
|
|
84
|
+
value={res}
|
|
85
|
+
class={css?.tabs?.class}
|
|
86
|
+
style={css?.tabs?.style}
|
|
87
|
+
selectedClass={css?.selectedTab?.class}
|
|
88
|
+
selectedStyle={css?.selectedTab?.style}
|
|
89
|
+
>
|
|
90
|
+
<span class="font-semibold">{res}</span>
|
|
91
|
+
</Tab>
|
|
92
|
+
{/each}
|
|
93
|
+
</Tabs>
|
|
94
|
+
</div>
|
|
95
|
+
{:else if kind == 'sidebar'}
|
|
96
|
+
<div
|
|
97
|
+
class="flex gap-y-2 flex-col w-1/6 max-w-[160px] bg-white text-[#2e3440] opacity-80 px-4 pt-4 border-r border-gray-400"
|
|
98
|
+
>
|
|
70
99
|
{#each tabs ?? [] as res}
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
100
|
+
<button
|
|
101
|
+
class="rounded-sm !truncate text-sm hover:bg-gray-100 hover:border hover:text-black px-1 py-2 {selected ==
|
|
102
|
+
res
|
|
103
|
+
? 'outline outline-gray-500 outline-1 bg-white text-black'
|
|
104
|
+
: ''}"
|
|
105
|
+
on:pointerdown|stopPropagation
|
|
106
|
+
on:click={() => (selected = res)}>{res}</button
|
|
77
107
|
>
|
|
78
|
-
<span class="font-semibold">{res}</span>
|
|
79
|
-
</Tab>
|
|
80
108
|
{/each}
|
|
81
|
-
</
|
|
82
|
-
</div>
|
|
83
|
-
{#if $app.subgrids}
|
|
84
|
-
{#each tabs ?? [] as res, i}
|
|
85
|
-
<SubGridEditor
|
|
86
|
-
{id}
|
|
87
|
-
visible={render && i === selectedIndex}
|
|
88
|
-
bind:subGrid={$app.subgrids[`${id}-${i}`]}
|
|
89
|
-
{noPadding}
|
|
90
|
-
class={css?.container?.class}
|
|
91
|
-
style={css?.container?.style}
|
|
92
|
-
containerHeight={componentContainerHeight - tabHeight}
|
|
93
|
-
on:focus={() => {
|
|
94
|
-
$selectedComponent = id
|
|
95
|
-
}}
|
|
96
|
-
/>
|
|
97
|
-
{/each}
|
|
109
|
+
</div>
|
|
98
110
|
{/if}
|
|
111
|
+
|
|
112
|
+
<div bind:clientWidth={subgridWidth} class="w-full">
|
|
113
|
+
{#if $app.subgrids}
|
|
114
|
+
{#each tabs ?? [] as res, i}<SubGridEditor
|
|
115
|
+
{id}
|
|
116
|
+
visible={render && i === selectedIndex}
|
|
117
|
+
bind:subGrid={$app.subgrids[`${id}-${i}`]}
|
|
118
|
+
class={css?.container?.class}
|
|
119
|
+
style={css?.container?.style}
|
|
120
|
+
containerHeight={componentContainerHeight - tabHeight}
|
|
121
|
+
on:focus={() => {
|
|
122
|
+
$selectedComponent = id
|
|
123
|
+
}}
|
|
124
|
+
/>{/each}
|
|
125
|
+
{/if}
|
|
126
|
+
</div>
|
|
99
127
|
</div>
|
|
@@ -9,7 +9,7 @@ declare const __propDef: {
|
|
|
9
9
|
tabs: string[];
|
|
10
10
|
customCss?: ComponentCustomCSS<'tabRow' | 'tabs' | 'selectedTab' | 'container'> | undefined;
|
|
11
11
|
render: boolean;
|
|
12
|
-
|
|
12
|
+
initializing?: boolean | undefined;
|
|
13
13
|
};
|
|
14
14
|
events: {
|
|
15
15
|
pointerdown: PointerEvent;
|
|
@@ -22,6 +22,5 @@ export type AppTabsProps = typeof __propDef.props;
|
|
|
22
22
|
export type AppTabsEvents = typeof __propDef.events;
|
|
23
23
|
export type AppTabsSlots = typeof __propDef.slots;
|
|
24
24
|
export default class AppTabs extends SvelteComponentTyped<AppTabsProps, AppTabsEvents, AppTabsSlots> {
|
|
25
|
-
get staticOutputs(): string[];
|
|
26
25
|
}
|
|
27
26
|
export {};
|
|
@@ -25,7 +25,8 @@ export let resourceOnly = false;
|
|
|
25
25
|
id={component.id}
|
|
26
26
|
shouldCapitalize={false}
|
|
27
27
|
bind:inputSpecs={component.componentInput.fields}
|
|
28
|
-
userInputEnabled={component.type
|
|
28
|
+
userInputEnabled={component.type === 'formcomponent' ||
|
|
29
|
+
component.type === 'formbuttoncomponent'}
|
|
29
30
|
{resourceOnly}
|
|
30
31
|
/>
|
|
31
32
|
{/if}
|
|
@@ -33,8 +33,6 @@ export let policy;
|
|
|
33
33
|
export let summary;
|
|
34
34
|
export let fromHub = false;
|
|
35
35
|
const appStore = writable(app);
|
|
36
|
-
const worldStore = writable(undefined);
|
|
37
|
-
const staticOutputs = writable({});
|
|
38
36
|
const selectedComponent = writable(undefined);
|
|
39
37
|
const mode = writable(initialMode);
|
|
40
38
|
const breakpoint = writable('lg');
|
|
@@ -49,9 +47,14 @@ const runnableComponents = writable({});
|
|
|
49
47
|
const errorByComponent = writable({});
|
|
50
48
|
const focusedGrid = writable(undefined);
|
|
51
49
|
const pickVariableCallback = writable(undefined);
|
|
50
|
+
let context = {
|
|
51
|
+
email: $userStore?.email,
|
|
52
|
+
username: $userStore?.username,
|
|
53
|
+
query: Object.fromEntries($page.url.searchParams.entries()),
|
|
54
|
+
hash: $page.url.hash
|
|
55
|
+
};
|
|
52
56
|
setContext('AppViewerContext', {
|
|
53
|
-
worldStore,
|
|
54
|
-
staticOutputs,
|
|
57
|
+
worldStore: buildWorld(context),
|
|
55
58
|
app: appStore,
|
|
56
59
|
summary: summaryStore,
|
|
57
60
|
selectedComponent,
|
|
@@ -70,12 +73,14 @@ setContext('AppViewerContext', {
|
|
|
70
73
|
openDebugRun: writable(undefined),
|
|
71
74
|
focusedGrid,
|
|
72
75
|
stateId: writable(0),
|
|
73
|
-
parentWidth: writable(0)
|
|
76
|
+
parentWidth: writable(0),
|
|
77
|
+
state: writable({}),
|
|
78
|
+
componentControl: writable({})
|
|
74
79
|
});
|
|
75
80
|
setContext('AppEditorContext', {
|
|
76
81
|
history,
|
|
77
|
-
|
|
78
|
-
|
|
82
|
+
pickVariableCallback,
|
|
83
|
+
ontextfocus: writable(undefined)
|
|
79
84
|
});
|
|
80
85
|
let timeout = undefined;
|
|
81
86
|
$: $appStore && saveDraft();
|
|
@@ -94,17 +99,10 @@ let mounted = false;
|
|
|
94
99
|
onMount(() => {
|
|
95
100
|
mounted = true;
|
|
96
101
|
});
|
|
97
|
-
let context = {
|
|
98
|
-
email: $userStore?.email,
|
|
99
|
-
username: $userStore?.username,
|
|
100
|
-
query: Object.fromEntries($page.url.searchParams.entries()),
|
|
101
|
-
hash: $page.url.hash
|
|
102
|
-
};
|
|
103
102
|
function hashchange(e) {
|
|
104
103
|
context.hash = e.newURL.split('#')[1];
|
|
105
104
|
context = context;
|
|
106
105
|
}
|
|
107
|
-
$: mounted && ($worldStore = buildWorld($staticOutputs, $worldStore, context));
|
|
108
106
|
$: previewing = $mode === 'preview';
|
|
109
107
|
$: width = $breakpoint === 'sm' ? 'min-w-[400px] max-w-[656px]' : 'min-w-[710px] w-full';
|
|
110
108
|
let selectedTab = 'insert';
|
|
@@ -129,144 +127,148 @@ let variableEditor = undefined;
|
|
|
129
127
|
/>
|
|
130
128
|
{/if}
|
|
131
129
|
{#if !$userStore?.operator}
|
|
132
|
-
{#if
|
|
133
|
-
|
|
134
|
-
|
|
130
|
+
{#if $appStore}
|
|
131
|
+
{#if initialMode !== 'preview'}
|
|
132
|
+
<AppEditorHeader {policy} {fromHub} />
|
|
133
|
+
{/if}
|
|
135
134
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
<div
|
|
166
|
-
on:pointerdown={(e) => {
|
|
167
|
-
$selectedComponent = undefined
|
|
168
|
-
$focusedGrid = undefined
|
|
169
|
-
}}
|
|
170
|
-
class={twMerge(
|
|
171
|
-
'bg-gray-100 h-full w-full',
|
|
172
|
-
$appStore.css?.['app']?.['viewer']?.class
|
|
173
|
-
)}
|
|
174
|
-
style={$appStore.css?.['app']?.['viewer']?.style}
|
|
175
|
-
>
|
|
135
|
+
{#if previewing}
|
|
136
|
+
<SplitPanesWrapper>
|
|
137
|
+
<div
|
|
138
|
+
class={twMerge('h-full w-full', $appStore.css?.['app']?.['viewer']?.class)}
|
|
139
|
+
style={$appStore.css?.['app']?.['viewer']?.style}
|
|
140
|
+
>
|
|
141
|
+
<AppPreview
|
|
142
|
+
workspace={$workspaceStore ?? ''}
|
|
143
|
+
summary={$summaryStore}
|
|
144
|
+
app={$appStore}
|
|
145
|
+
appPath={path}
|
|
146
|
+
{breakpoint}
|
|
147
|
+
{policy}
|
|
148
|
+
isEditor
|
|
149
|
+
{context}
|
|
150
|
+
noBackend={false}
|
|
151
|
+
/>
|
|
152
|
+
</div>
|
|
153
|
+
</SplitPanesWrapper>
|
|
154
|
+
{:else}
|
|
155
|
+
<SplitPanesWrapper>
|
|
156
|
+
<Splitpanes class="max-w-full overflow-hidden">
|
|
157
|
+
<Pane size={15} minSize={5} maxSize={33}>
|
|
158
|
+
<ContextPanel />
|
|
159
|
+
</Pane>
|
|
160
|
+
<Pane size={64}>
|
|
161
|
+
<SplitPanesWrapper>
|
|
162
|
+
<Splitpanes horizontal>
|
|
163
|
+
<Pane size={70}>
|
|
176
164
|
<div
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
165
|
+
on:pointerdown={(e) => {
|
|
166
|
+
$selectedComponent = undefined
|
|
167
|
+
$focusedGrid = undefined
|
|
168
|
+
}}
|
|
169
|
+
class={twMerge(
|
|
170
|
+
'bg-gray-100 h-full w-full',
|
|
171
|
+
$appStore.css?.['app']?.['viewer']?.class
|
|
180
172
|
)}
|
|
173
|
+
style={$appStore.css?.['app']?.['viewer']?.style}
|
|
181
174
|
>
|
|
182
|
-
|
|
183
|
-
|
|
175
|
+
<div
|
|
176
|
+
class={classNames(
|
|
177
|
+
'relative mx-auto w-full h-full overflow-auto',
|
|
178
|
+
app.fullscreen ? '' : 'max-w-6xl'
|
|
179
|
+
)}
|
|
180
|
+
>
|
|
181
|
+
{#if $appStore.grid}
|
|
182
|
+
<ComponentNavigation />
|
|
184
183
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
184
|
+
<div on:pointerdown|stopPropagation class={width}>
|
|
185
|
+
<GridEditor {policy} />
|
|
186
|
+
</div>
|
|
188
187
|
|
|
189
|
-
|
|
190
|
-
|
|
188
|
+
<div id="app-editor-top-level-drawer" />
|
|
189
|
+
{/if}
|
|
190
|
+
</div>
|
|
191
191
|
</div>
|
|
192
|
+
</Pane>
|
|
193
|
+
<Pane size={$connectingInput?.opened ? 0 : 30}>
|
|
194
|
+
<div class="relative h-full w-full">
|
|
195
|
+
<InlineScriptsPanel />
|
|
196
|
+
</div>
|
|
197
|
+
</Pane>
|
|
198
|
+
</Splitpanes>
|
|
199
|
+
</SplitPanesWrapper>
|
|
200
|
+
</Pane>
|
|
201
|
+
<Pane size={21} minSize={5} maxSize={33}>
|
|
202
|
+
<div class="relative flex flex-col h-full">
|
|
203
|
+
<Tabs bind:selected={selectedTab} wrapperClass="!h-[40px]" class="!h-full">
|
|
204
|
+
<Tab value="insert" size="xs">
|
|
205
|
+
<div class="m-1 center-center gap-2">
|
|
206
|
+
<Icon data={faPlus} />
|
|
207
|
+
<span>Insert</span>
|
|
208
|
+
</div>
|
|
209
|
+
</Tab>
|
|
210
|
+
<Tab value="settings" size="xs">
|
|
211
|
+
<div class="m-1 center-center gap-2">
|
|
212
|
+
<Icon data={faSliders} />
|
|
213
|
+
<span>Settings</span>
|
|
214
|
+
</div>
|
|
215
|
+
</Tab>
|
|
216
|
+
<Tab value="css" size="xs">
|
|
217
|
+
<div class="m-1 center-center gap-2">
|
|
218
|
+
<Icon data={faCode} />
|
|
219
|
+
<span>CSS</span>
|
|
220
|
+
</div>
|
|
221
|
+
</Tab>
|
|
222
|
+
<div slot="content" class="h-full overflow-y-auto pb-4">
|
|
223
|
+
<TabContent class="overflow-auto h-full" value="settings">
|
|
224
|
+
{#if $selectedComponent !== undefined}
|
|
225
|
+
<SettingsPanel />
|
|
226
|
+
{:else}
|
|
227
|
+
<div class="min-w-[150px] text-sm text-gray-500 text-center py-8 px-2">
|
|
228
|
+
Select a component to see the settings for it
|
|
229
|
+
</div>
|
|
230
|
+
{/if}
|
|
231
|
+
</TabContent>
|
|
232
|
+
<TabContent value="insert">
|
|
233
|
+
<ComponentList />
|
|
234
|
+
</TabContent>
|
|
235
|
+
<TabContent value="css">
|
|
236
|
+
<CssSettings />
|
|
237
|
+
</TabContent>
|
|
192
238
|
</div>
|
|
193
|
-
</
|
|
194
|
-
|
|
195
|
-
<div
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
</div>
|
|
216
|
-
</Tab>
|
|
217
|
-
<Tab value="css" size="xs">
|
|
218
|
-
<div class="m-1 center-center gap-2">
|
|
219
|
-
<Icon data={faCode} />
|
|
220
|
-
<span>CSS</span>
|
|
221
|
-
</div>
|
|
222
|
-
</Tab>
|
|
223
|
-
<div slot="content" class="h-full overflow-y-auto pb-4">
|
|
224
|
-
<TabContent class="overflow-auto" value="settings">
|
|
225
|
-
{#if $selectedComponent !== undefined}
|
|
226
|
-
<SettingsPanel />
|
|
227
|
-
{:else}
|
|
228
|
-
<div class="min-w-[150px] text-sm text-gray-500 text-center py-8 px-2">
|
|
229
|
-
Select a component to see the settings for it
|
|
230
|
-
</div>
|
|
231
|
-
{/if}
|
|
232
|
-
</TabContent>
|
|
233
|
-
<TabContent value="insert">
|
|
234
|
-
<ComponentList />
|
|
235
|
-
</TabContent>
|
|
236
|
-
<TabContent value="css">
|
|
237
|
-
<CssSettings />
|
|
238
|
-
</TabContent>
|
|
239
|
-
</div>
|
|
240
|
-
</Tabs>
|
|
241
|
-
{#if $connectingInput.opened}
|
|
242
|
-
<div
|
|
243
|
-
class="fixed top-32 p-2 z-50 flex justify-center items-center"
|
|
244
|
-
transition:fly|local={{ duration: 100, y: -100 }}
|
|
245
|
-
>
|
|
246
|
-
<Alert title="Connecting" type="info">
|
|
247
|
-
<div class="flex gap-2 flex-col">
|
|
248
|
-
Click on the output of the component you want to connect to on the left panel.
|
|
249
|
-
<div>
|
|
250
|
-
<Button
|
|
251
|
-
color="blue"
|
|
252
|
-
variant="border"
|
|
253
|
-
size="xs"
|
|
254
|
-
on:click={() => {
|
|
255
|
-
$connectingInput.opened = false
|
|
256
|
-
$connectingInput.input = undefined
|
|
257
|
-
}}
|
|
258
|
-
>
|
|
259
|
-
Stop connecting
|
|
260
|
-
</Button>
|
|
239
|
+
</Tabs>
|
|
240
|
+
{#if $connectingInput.opened}
|
|
241
|
+
<div
|
|
242
|
+
class="fixed top-32 p-2 z-50 flex justify-center items-center"
|
|
243
|
+
transition:fly|local={{ duration: 100, y: -100 }}
|
|
244
|
+
>
|
|
245
|
+
<Alert title="Connecting" type="info">
|
|
246
|
+
<div class="flex gap-2 flex-col">
|
|
247
|
+
Click on the output of the component you want to connect to on the left panel.
|
|
248
|
+
<div>
|
|
249
|
+
<Button
|
|
250
|
+
color="blue"
|
|
251
|
+
variant="border"
|
|
252
|
+
size="xs"
|
|
253
|
+
on:click={() => {
|
|
254
|
+
$connectingInput.opened = false
|
|
255
|
+
$connectingInput.input = undefined
|
|
256
|
+
}}
|
|
257
|
+
>
|
|
258
|
+
Stop connecting
|
|
259
|
+
</Button>
|
|
260
|
+
</div>
|
|
261
261
|
</div>
|
|
262
|
-
</
|
|
263
|
-
</
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
</
|
|
267
|
-
</
|
|
268
|
-
</
|
|
269
|
-
|
|
262
|
+
</Alert>
|
|
263
|
+
</div>
|
|
264
|
+
{/if}
|
|
265
|
+
</div>
|
|
266
|
+
</Pane>
|
|
267
|
+
</Splitpanes>
|
|
268
|
+
</SplitPanesWrapper>
|
|
269
|
+
{/if}
|
|
270
|
+
{:else}
|
|
271
|
+
App is null
|
|
270
272
|
{/if}
|
|
271
273
|
{:else}
|
|
272
274
|
App editor not available to operators
|