windmill-components 1.70.0 → 1.77.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/assets/app.css +12 -1
- package/components/AppConnect.svelte +4 -3
- package/components/DisplayResult.svelte +28 -10
- package/components/Dropdown.svelte +14 -4
- package/components/FieldHeader.svelte +12 -8
- package/components/FlowBuilder.svelte +107 -39
- package/components/FlowBuilder.svelte.d.ts +5 -0
- package/components/FlowGraphViewer.svelte +6 -5
- package/components/FlowJobResult.svelte +3 -3
- package/components/FlowPreviewContent.svelte +3 -8
- package/components/FlowStatusViewer.svelte +21 -8
- package/components/FolderUsageInfo.svelte +16 -6
- package/components/FolderUsageInfo.svelte.d.ts +2 -0
- package/components/GroupEditor.svelte +8 -0
- package/components/InputTransformForm.svelte +13 -20
- package/components/InputTransformSchemaForm.svelte +103 -0
- package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
- package/components/LogViewer.svelte +1 -1
- package/components/ModulePreview.svelte +3 -2
- package/components/Multiselect.svelte +1 -1
- package/components/PageHeader.svelte +1 -1
- package/components/Path.svelte +35 -12
- package/components/Popover.svelte +2 -13
- package/components/ResourcePicker.svelte +33 -14
- package/components/RunChart.svelte +24 -5
- package/components/RunForm.svelte +5 -6
- package/components/RunForm.svelte.d.ts +1 -0
- package/components/SchemaForm.svelte +59 -57
- package/components/SchemaForm.svelte.d.ts +0 -5
- package/components/ScriptBuilder.svelte +151 -135
- package/components/ScriptPicker.svelte +3 -0
- package/components/SettingSection.svelte +44 -0
- package/components/SettingSection.svelte.d.ts +21 -0
- package/components/SimpleEditor.svelte +4 -1
- package/components/SimpleEditor.svelte.d.ts +2 -0
- package/components/Slider.svelte +6 -1
- package/components/Slider.svelte.d.ts +1 -0
- package/components/TemplateEditor.svelte +1 -1
- package/components/TestJobLoader.svelte +2 -2
- package/components/Toggle.svelte +17 -4
- package/components/Toggle.svelte.d.ts +2 -0
- package/components/Tooltip.svelte +4 -2
- package/components/UserSettings.svelte +2 -0
- package/components/WhitelistIp.svelte +1 -3
- package/components/apps/components/buttons/AppButton.svelte +45 -23
- package/components/apps/components/buttons/AppButton.svelte.d.ts +2 -0
- package/components/apps/components/buttons/AppForm.svelte +18 -12
- package/components/apps/components/buttons/AppForm.svelte.d.ts +3 -0
- package/components/apps/components/buttons/AppFormButton.svelte +14 -10
- package/components/apps/components/buttons/AppFormButton.svelte.d.ts +3 -0
- package/components/apps/components/display/AppBarChart.svelte +15 -7
- package/components/apps/components/display/AppBarChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppDisplayComponent.svelte +17 -12
- package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +1 -0
- package/components/apps/components/display/AppHtml.svelte +18 -4
- package/components/apps/components/display/AppHtml.svelte.d.ts +3 -0
- package/components/apps/components/display/AppIcon.svelte +20 -8
- package/components/apps/components/display/AppIcon.svelte.d.ts +3 -0
- package/components/apps/components/display/AppImage.svelte +17 -10
- package/components/apps/components/display/AppImage.svelte.d.ts +3 -0
- package/components/apps/components/display/AppMap.svelte +214 -0
- package/components/apps/components/display/AppMap.svelte.d.ts +23 -0
- package/components/apps/components/display/AppPdf.svelte +304 -0
- package/components/apps/components/display/AppPdf.svelte.d.ts +24 -0
- package/components/apps/components/display/AppPieChart.svelte +15 -7
- package/components/apps/components/display/AppPieChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppScatterChart.svelte +12 -4
- package/components/apps/components/display/AppScatterChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppText.svelte +38 -32
- package/components/apps/components/display/AppText.svelte.d.ts +1 -0
- package/components/apps/components/display/AppTimeseries.svelte +12 -4
- package/components/apps/components/display/AppTimeseries.svelte.d.ts +3 -0
- package/components/apps/components/display/PlotlyHtml.svelte +8 -14
- package/components/apps/components/display/PlotlyHtml.svelte.d.ts +1 -1
- package/components/apps/components/display/VegaLiteHtml.svelte +3 -8
- package/components/apps/components/display/VegaLiteHtml.svelte.d.ts +1 -0
- package/components/apps/components/display/index.d.ts +3 -0
- package/components/apps/components/display/index.js +3 -0
- package/components/apps/components/display/table/AppAggridTable.svelte +20 -8
- package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
- package/components/apps/components/display/table/AppTable.svelte +69 -21
- package/components/apps/components/display/table/AppTable.svelte.d.ts +3 -1
- package/components/apps/components/display/table/AppTableFooter.svelte +8 -1
- package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -0
- package/components/apps/components/helpers/AlignWrapper.svelte +13 -7
- package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +3 -1
- package/components/apps/components/helpers/HiddenComponent.svelte +5 -1
- package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +1 -0
- package/components/apps/components/helpers/InputValue.svelte +58 -52
- package/components/apps/components/helpers/InputValue.svelte.d.ts +4 -3
- package/components/apps/components/helpers/NonRunnableComponent.svelte +18 -3
- package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
- package/components/apps/components/helpers/RefreshButton.svelte +3 -4
- package/components/apps/components/helpers/ResizeWrapper.svelte +24 -0
- package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
- package/components/apps/components/helpers/RunnableComponent.svelte +126 -91
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -1
- package/components/apps/components/helpers/RunnableWrapper.svelte +11 -5
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +4 -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 +8 -2
- package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppDateInput.svelte +25 -18
- package/components/apps/components/inputs/AppDateInput.svelte.d.ts +6 -1
- package/components/apps/components/inputs/AppFileInput.svelte +22 -14
- package/components/apps/components/inputs/AppFileInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppMultiSelect.svelte +82 -0
- package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +27 -0
- package/components/apps/components/inputs/AppNumberInput.svelte +20 -16
- package/components/apps/components/inputs/AppNumberInput.svelte.d.ts +5 -0
- package/components/apps/components/inputs/AppRangeInput.svelte +55 -14
- package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppSelect.svelte +58 -21
- package/components/apps/components/inputs/AppSelect.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppSliderInputs.svelte +41 -9
- package/components/apps/components/inputs/AppSliderInputs.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppTextInput.svelte +53 -19
- package/components/apps/components/inputs/AppTextInput.svelte.d.ts +6 -0
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +13 -3
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +1 -0
- package/components/apps/components/layout/AppContainer.svelte +20 -17
- package/components/apps/components/layout/AppContainer.svelte.d.ts +3 -0
- package/components/apps/components/layout/AppDivider.svelte +24 -4
- package/components/apps/components/layout/AppDivider.svelte.d.ts +3 -1
- package/components/apps/components/layout/AppDrawer.svelte +86 -0
- package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppSplitpanes.svelte +83 -0
- package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
- package/components/apps/components/layout/AppTabs.svelte +112 -40
- package/components/apps/components/layout/AppTabs.svelte.d.ts +4 -0
- package/components/apps/components/layout/index.d.ts +2 -0
- package/components/apps/components/layout/index.js +2 -0
- package/components/apps/editor/AppEditor.svelte +201 -132
- package/components/apps/editor/AppEditor.svelte.d.ts +3 -1
- package/components/apps/editor/AppEditorHeader.svelte +149 -66
- package/components/apps/editor/AppInputs.svelte +3 -3
- package/components/apps/editor/AppPreview.svelte +21 -7
- package/components/apps/editor/ComponentHeader.svelte +17 -4
- package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
- package/components/apps/editor/GridEditor.svelte +86 -70
- package/components/apps/editor/GridPanel.svelte +29 -0
- package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
- package/components/apps/editor/RecomputeAllComponents.svelte +14 -6
- package/components/apps/editor/SettingsPanel.svelte +30 -27
- package/components/apps/editor/SubGridEditor.svelte +82 -50
- package/components/apps/editor/SubGridEditor.svelte.d.ts +8 -4
- package/components/apps/editor/appUtils.d.ts +22 -3
- package/components/apps/editor/appUtils.js +221 -47
- package/components/apps/editor/component/Component.svelte +281 -61
- package/components/apps/editor/component/Component.svelte.d.ts +3 -1
- package/components/apps/editor/component/ComponentNavigation.svelte +170 -0
- package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
- package/components/apps/editor/component/components.d.ts +15 -3
- package/components/apps/editor/component/components.js +409 -54
- package/components/apps/editor/component/default-codes.js +6 -6
- package/components/apps/editor/component/sets.js +11 -3
- package/components/apps/editor/componentsPanel/ComponentList.svelte +72 -29
- package/components/apps/editor/componentsPanel/CssProperty.svelte +59 -23
- package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +2 -1
- package/components/apps/editor/componentsPanel/CssSettings.svelte +56 -9
- package/components/apps/editor/componentsPanel/ListItem.svelte +23 -12
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
- package/components/apps/editor/componentsPanel/componentStaticValues.js +15 -2
- package/components/apps/editor/contextPanel/ComponentOutput.svelte +77 -0
- package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +21 -0
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +10 -6
- package/components/apps/editor/contextPanel/ContextPanel.svelte +81 -91
- package/components/apps/editor/contextPanel/SubGridOutput.svelte +71 -0
- package/components/apps/editor/contextPanel/SubGridOutput.svelte.d.ts +19 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +38 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte.d.ts +19 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte +10 -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 +78 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +26 -0
- package/components/apps/editor/contextPanel/components/TableActionOutput.svelte +19 -0
- package/components/apps/editor/contextPanel/components/TableActionOutput.svelte.d.ts +18 -0
- package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +14 -0
- package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte.d.ts +18 -0
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +55 -13
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +126 -62
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +11 -5
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +26 -17
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +95 -85
- package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -9
- package/components/apps/editor/inlineScriptsPanel/utils.js +19 -8
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +10 -9
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +21 -12
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +119 -79
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/GridPane.svelte +75 -0
- package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
- package/components/apps/editor/settingsPanel/GridTab.svelte +9 -17
- package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +2 -0
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/Recompute.svelte +2 -1
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +7 -1
- package/components/apps/editor/settingsPanel/TableActions.svelte +30 -2
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
- package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +19 -0
- 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 +77 -41
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +2 -0
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +3 -3
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +4 -1
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +54 -6
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +7 -9
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +1 -1
- package/components/apps/inputType.d.ts +6 -5
- package/components/apps/rx.d.ts +6 -4
- package/components/apps/rx.js +36 -15
- package/components/apps/store.d.ts +6 -1
- package/components/apps/svelte-grid/Grid.svelte +171 -0
- package/components/apps/svelte-grid/Grid.svelte.d.ts +47 -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 +25 -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 +14 -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 +21 -8
- package/components/apps/utils.d.ts +3 -3
- package/components/apps/utils.js +34 -56
- 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/ButtonPopup.svelte +2 -0
- package/components/common/button/ButtonPopup.svelte.d.ts +1 -0
- package/components/common/button/UndoRedo.svelte +32 -0
- package/components/common/button/UndoRedo.svelte.d.ts +20 -0
- package/components/common/drawer/Drawer.svelte +10 -4
- package/components/common/drawer/Drawer.svelte.d.ts +3 -1
- package/components/common/drawer/DrawerContent.svelte +2 -7
- package/components/common/fileInput/FileInput.svelte +47 -21
- package/components/common/fileInput/FileInput.svelte.d.ts +3 -1
- package/components/common/fileInput/model.d.ts +1 -0
- package/components/common/fileInput/model.js +1 -0
- package/components/common/index.d.ts +1 -0
- package/components/common/index.js +1 -0
- 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 +3 -2
- package/components/common/menu/Menu.svelte.d.ts +2 -1
- package/components/common/modal/Modal.svelte +9 -4
- package/components/common/modal/Modal.svelte.d.ts +2 -0
- package/components/common/popup/Popup.svelte +2 -1
- package/components/common/popup/Popup.svelte.d.ts +9 -0
- package/components/common/table/AppRow.svelte +14 -8
- package/components/common/table/AppRow.svelte.d.ts +1 -0
- package/components/common/table/FlowRow.svelte +22 -12
- package/components/common/table/FlowRow.svelte.d.ts +1 -0
- package/components/common/table/ScriptRow.svelte +43 -14
- package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/components/common/tabs/Tab.svelte +13 -5
- package/components/common/tabs/Tab.svelte.d.ts +6 -1
- package/components/common/tabs/Tabs.svelte +8 -6
- package/components/common/tabs/Tabs.svelte.d.ts +3 -1
- package/components/flows/FlowEditor.svelte +6 -4
- package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/components/flows/content/BranchPredicateEditor.svelte +3 -4
- package/components/flows/content/CapturePayload.svelte +1 -2
- package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
- package/components/flows/content/FlowConstants.svelte +7 -13
- package/components/flows/content/FlowEditorPanel.svelte +4 -3
- package/components/flows/content/FlowFailureModule.svelte +2 -1
- package/components/flows/content/FlowInput.svelte +4 -2
- package/components/flows/content/FlowLoop.svelte +3 -4
- package/components/flows/content/FlowModuleComponent.svelte +23 -11
- package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
- package/components/flows/content/FlowModuleHeader.svelte +26 -3
- package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
- package/components/flows/content/FlowModuleSleep.svelte +2 -2
- package/components/flows/content/FlowModuleWrapper.svelte +2 -8
- package/components/flows/content/FlowSchedules.svelte +1 -2
- package/components/flows/content/FlowSettings.svelte +17 -37
- package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
- package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
- package/components/flows/flowState.d.ts +2 -3
- package/components/flows/flowState.js +1 -4
- package/components/flows/flowStateUtils.d.ts +7 -6
- package/components/flows/flowStateUtils.js +5 -9
- package/components/flows/flowStore.d.ts +5 -4
- package/components/flows/flowStore.js +5 -17
- package/components/flows/header/FlowImportExportMenu.svelte +2 -1
- package/components/flows/map/FlowConstantsItem.svelte +2 -2
- package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
- package/components/flows/map/FlowInputsItem.svelte +2 -3
- package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
- package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
- package/components/flows/map/FlowModuleSchemaMap.svelte +164 -138
- package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
- package/components/flows/map/FlowSettingsItem.svelte +5 -4
- package/components/flows/map/InsertModuleButton.svelte +12 -10
- package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
- package/components/flows/map/MapItem.svelte +176 -103
- package/components/flows/map/MapItem.svelte.d.ts +20 -2
- package/components/flows/map/VirtualItem.svelte +129 -0
- package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
- package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
- package/components/flows/previousResults.d.ts +1 -1
- package/components/flows/previousResults.js +32 -17
- package/components/flows/types.d.ts +13 -1
- package/components/flows/utils.js +1 -1
- package/components/graph/FlowGraph.svelte +227 -167
- package/components/graph/FlowGraph.svelte.d.ts +14 -1
- package/components/graph/model.d.ts +6 -36
- package/components/graph/model.js +1 -1
- package/components/graph/svelvet/LICENSE +21 -0
- package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
- package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
- package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
- package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
- package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
- package/components/graph/svelvet/collapsible/types/types.js +1 -0
- package/components/graph/svelvet/container/README.md +7 -0
- package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
- package/components/graph/svelvet/container/controllers/middleware.js +101 -0
- package/components/graph/svelvet/container/views/GraphView.svelte +252 -0
- package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +25 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte +131 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +41 -0
- package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
- package/components/graph/svelvet/customCss/controllers/getCss.js +57 -0
- package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
- package/components/graph/svelvet/d3/controllers/d3.js +59 -0
- package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
- package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
- package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
- package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
- package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
- package/components/graph/svelvet/edges/controllers/util.js +72 -0
- package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
- package/components/graph/svelvet/edges/models/Anchor.js +122 -0
- package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
- package/components/graph/svelvet/edges/models/Edge.js +107 -0
- package/components/graph/svelvet/edges/types/types.d.ts +18 -0
- package/components/graph/svelvet/edges/types/types.js +1 -0
- package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
- package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
- package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
- package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
- package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
- package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
- package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
- package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
- package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
- package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
- package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
- package/components/graph/svelvet/nodes/controllers/util.js +13 -0
- package/components/graph/svelvet/nodes/models/Node.d.ts +78 -0
- package/components/graph/svelvet/nodes/models/Node.js +195 -0
- package/components/graph/svelvet/nodes/views/EditNode.svelte +147 -0
- package/components/graph/svelvet/nodes/views/EditNode.svelte.d.ts +33 -0
- package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
- package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
- package/components/graph/svelvet/resizableNodes/controllers/util.d.ts +11 -0
- package/components/graph/svelvet/resizableNodes/controllers/util.js +24 -0
- package/components/graph/svelvet/resizableNodes/models/ResizeNode.d.ts +33 -0
- package/components/graph/svelvet/resizableNodes/models/ResizeNode.js +71 -0
- package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte +81 -0
- package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte.d.ts +20 -0
- package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
- package/components/graph/svelvet/store/controllers/storeApi.js +111 -0
- package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
- package/components/graph/svelvet/store/controllers/userApi.js +18 -0
- package/components/graph/svelvet/store/controllers/util.d.ts +31 -0
- package/components/graph/svelvet/store/controllers/util.js +180 -0
- package/components/graph/svelvet/store/models/store.d.ts +12 -0
- package/components/graph/svelvet/store/models/store.js +9 -0
- package/components/graph/svelvet/store/types/types.d.ts +134 -0
- package/components/graph/svelvet/store/types/types.js +1 -0
- package/components/graph/svelvet/types/README.md +3 -0
- package/components/graph/svelvet/types/index.d.ts +2 -0
- package/components/graph/svelvet/types/index.js +1 -0
- package/components/graph/svelvet/types/types.d.ts +49 -0
- package/components/graph/svelvet/types/types.js +18 -0
- package/components/graph/util.js +2 -2
- package/components/home/ItemsList.svelte +53 -5
- package/components/home/ItemsList.svelte.d.ts +1 -0
- package/components/home/ListFilters.svelte +7 -2
- package/components/jobs/JobDetail.svelte +12 -1
- package/components/propertyPicker/ObjectViewer.svelte +6 -4
- package/components/sidebar/SidebarContent.svelte +2 -2
- package/consts.d.ts +1 -0
- package/consts.js +1 -0
- package/defaults.d.ts +4 -0
- package/defaults.js +4 -0
- package/history.d.ts +9 -0
- package/history.js +63 -0
- package/package.json +87 -9
- package/script_helpers.d.ts +1 -1
- package/script_helpers.js +1 -0
- package/scripts.d.ts +1 -1
- package/scripts.js +8 -1
- package/utils.d.ts +9 -4
- package/utils.js +43 -8
- package/components/apps/editor/TablePanel.svelte +0 -19
- package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +0 -85
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +0 -18
- package/components/flows/map/FlowBranchAllMap.svelte +0 -100
- package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
- package/components/flows/map/FlowBranchOneMap.svelte +0 -124
- package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
<script>import BaseEdge from './BaseEdge.svelte';
|
|
2
|
+
// import { Position } from '../types/utils';
|
|
3
|
+
// // enumerable values (static) set for Position
|
|
4
|
+
// export var Position;
|
|
5
|
+
// (function (Position) {
|
|
6
|
+
// Position["Left"] = "left";
|
|
7
|
+
// Position["Right"] = "right";
|
|
8
|
+
// Position["Top"] = "top";
|
|
9
|
+
// Position["Bottom"] = "bottom";
|
|
10
|
+
// })(Position || (Position = {}));
|
|
11
|
+
// //
|
|
12
|
+
// // export type CoordinateExtent = [[number, number], [number, number]];
|
|
13
|
+
const Position = { Left: 'left', Right: 'right', Top: 'top', Bottom: 'bottom' };
|
|
14
|
+
import { findStore } from '../../../store/controllers/storeApi';
|
|
15
|
+
import { getAnchorFromEdge } from '../../../edges/controllers/util';
|
|
16
|
+
function calculateControlOffset(distance, curvature) {
|
|
17
|
+
if (distance >= 0) {
|
|
18
|
+
return 0.5 * distance;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return curvature * 25 * Math.sqrt(-distance);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// get the control point for the bezier curve (in the middle of the edge)
|
|
25
|
+
function getControlWithCurvature({ pos, x1, y1, x2, y2, c }) {
|
|
26
|
+
let ctX, ctY;
|
|
27
|
+
switch (pos) {
|
|
28
|
+
case Position.Left:
|
|
29
|
+
{
|
|
30
|
+
ctX = x1 - calculateControlOffset(x1 - x2, c);
|
|
31
|
+
ctY = y1;
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
case Position.Right:
|
|
35
|
+
{
|
|
36
|
+
ctX = x1 + calculateControlOffset(x2 - x1, c);
|
|
37
|
+
ctY = y1;
|
|
38
|
+
}
|
|
39
|
+
break;
|
|
40
|
+
case Position.Top:
|
|
41
|
+
{
|
|
42
|
+
ctX = x1;
|
|
43
|
+
ctY = y1 - calculateControlOffset(y1 - y2, c);
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
case Position.Bottom:
|
|
47
|
+
{
|
|
48
|
+
ctX = x1;
|
|
49
|
+
ctY = y1 + calculateControlOffset(y2 - y1, c);
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
return [ctX, ctY];
|
|
54
|
+
}
|
|
55
|
+
// returns string to pass into edge 'path' svg d attribute (where to be drawn)
|
|
56
|
+
// referenced from ReactFlow.dev
|
|
57
|
+
function getSimpleBezierPath({ sourceX, sourceY, sourcePosition = Position.Bottom, targetX, targetY, targetPosition = Position.Top, curvature = 0.25 }) {
|
|
58
|
+
const [sourceControlX, sourceControlY] = getControlWithCurvature({
|
|
59
|
+
pos: sourcePosition,
|
|
60
|
+
x1: sourceX,
|
|
61
|
+
y1: sourceY,
|
|
62
|
+
x2: targetX,
|
|
63
|
+
y2: targetY,
|
|
64
|
+
c: curvature
|
|
65
|
+
});
|
|
66
|
+
const [targetControlX, targetControlY] = getControlWithCurvature({
|
|
67
|
+
pos: targetPosition,
|
|
68
|
+
x1: targetX,
|
|
69
|
+
y1: targetY,
|
|
70
|
+
x2: sourceX,
|
|
71
|
+
y2: sourceY,
|
|
72
|
+
c: curvature
|
|
73
|
+
});
|
|
74
|
+
return `M${sourceX},${sourceY} C${sourceControlX},${sourceControlY} ${targetControlX},${targetControlY} ${targetX},${targetY}`;
|
|
75
|
+
}
|
|
76
|
+
// determining center of the bezier curve to know where to place the bezier edge text label
|
|
77
|
+
function getSimpleBezierCenter({ sourceX, sourceY, sourcePosition = Position.Bottom, targetX, targetY, targetPosition = Position.Top, curvature = 0.25 }) {
|
|
78
|
+
const [sourceControlX, sourceControlY] = getControlWithCurvature({
|
|
79
|
+
pos: sourcePosition,
|
|
80
|
+
x1: sourceX,
|
|
81
|
+
y1: sourceY,
|
|
82
|
+
x2: targetX,
|
|
83
|
+
y2: targetY,
|
|
84
|
+
c: curvature
|
|
85
|
+
});
|
|
86
|
+
const [targetControlX, targetControlY] = getControlWithCurvature({
|
|
87
|
+
pos: targetPosition,
|
|
88
|
+
x1: targetX,
|
|
89
|
+
y1: targetY,
|
|
90
|
+
x2: sourceX,
|
|
91
|
+
y2: sourceY,
|
|
92
|
+
c: curvature
|
|
93
|
+
});
|
|
94
|
+
// cubic bezier t=0.5 mid point, not the actual mid point, but easy to calculate
|
|
95
|
+
// https://stackoverflow.com/questions/67516101/how-to-find-distance-mid-point-of-bezier-curve
|
|
96
|
+
const centerX = sourceX * 0.125 + sourceControlX * 0.375 + targetControlX * 0.375 + targetX * 0.125;
|
|
97
|
+
const centerY = sourceY * 0.125 + sourceControlY * 0.375 + targetControlY * 0.375 + targetY * 0.125;
|
|
98
|
+
const xOffset = Math.abs(centerX - sourceX);
|
|
99
|
+
const yOffset = Math.abs(centerY - sourceY);
|
|
100
|
+
return [centerX, centerY, xOffset, yOffset];
|
|
101
|
+
}
|
|
102
|
+
export let canvasId;
|
|
103
|
+
export let edgeId;
|
|
104
|
+
const store = findStore(canvasId);
|
|
105
|
+
const { nodesStore, edgesStore, anchorsStore } = store;
|
|
106
|
+
let edge;
|
|
107
|
+
$: edge = $edgesStore[edgeId];
|
|
108
|
+
let params;
|
|
109
|
+
$: {
|
|
110
|
+
const store = findStore(canvasId);
|
|
111
|
+
const sourceAnchor = getAnchorFromEdge(store, edge.id, 'source');
|
|
112
|
+
const targetAnchor = getAnchorFromEdge(store, edge.id, 'target');
|
|
113
|
+
const mapAngle = { 0: 'right', 90: 'top', 180: 'left', 270: 'bottom' };
|
|
114
|
+
params = {
|
|
115
|
+
sourceX: edge.sourceX,
|
|
116
|
+
sourceY: edge.sourceY,
|
|
117
|
+
sourcePosition: mapAngle[sourceAnchor.angle],
|
|
118
|
+
targetX: edge.targetX,
|
|
119
|
+
targetY: edge.targetY,
|
|
120
|
+
targetPosition: mapAngle[targetAnchor.angle],
|
|
121
|
+
curvature: 0.25
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
// pass in params to function that returns a string value for SVG path d attribute (where to be drawn)
|
|
125
|
+
$: path = getSimpleBezierPath(params);
|
|
126
|
+
$: [centerX, centerY] = getSimpleBezierCenter(params);
|
|
127
|
+
// pass necessary values to BaseEdge component
|
|
128
|
+
// BaseEdge renders a 'base' path that can be customized by parent Edge components
|
|
129
|
+
$: baseEdgeProps = {
|
|
130
|
+
...edge,
|
|
131
|
+
path: path,
|
|
132
|
+
centerX: centerX,
|
|
133
|
+
centerY: centerY
|
|
134
|
+
};
|
|
135
|
+
</script>
|
|
136
|
+
|
|
137
|
+
<BaseEdge {baseEdgeProps} {canvasId} />
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
canvasId: string;
|
|
5
|
+
edgeId: string;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type SimpleBezierEdgeProps = typeof __propDef.props;
|
|
13
|
+
export type SimpleBezierEdgeEvents = typeof __propDef.events;
|
|
14
|
+
export type SimpleBezierEdgeSlots = typeof __propDef.slots;
|
|
15
|
+
export default class SimpleBezierEdge extends SvelteComponentTyped<SimpleBezierEdgeProps, SimpleBezierEdgeEvents, SimpleBezierEdgeSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import BaseEdge from './BaseEdge.svelte';
|
|
3
|
+
import { getCenter } from './utils';
|
|
4
|
+
|
|
5
|
+
const Position = {};
|
|
6
|
+
Position['Left'] = 'left';
|
|
7
|
+
Position['Right'] = 'right';
|
|
8
|
+
Position['Top'] = 'top';
|
|
9
|
+
Position['Bottom'] = 'bottom';
|
|
10
|
+
// These are some helper methods for drawing the round corners
|
|
11
|
+
// The name indicates the direction of the path. "bottomLeftCorner" goes
|
|
12
|
+
// from bottom to the left and "leftBottomCorner" goes from left to the bottom.
|
|
13
|
+
// We have to consider the direction of the paths because of the animated lines.
|
|
14
|
+
const bottomLeftCorner = (x, y, size) =>
|
|
15
|
+
`L ${x},${y - size}Q ${x},${y} ${x + size},${y}`;
|
|
16
|
+
const leftBottomCorner = (x, y, size) =>
|
|
17
|
+
`L ${x + size},${y}Q ${x},${y} ${x},${y - size}`;
|
|
18
|
+
const bottomRightCorner = (x, y, size) =>
|
|
19
|
+
`L ${x},${y - size}Q ${x},${y} ${x - size},${y}`;
|
|
20
|
+
const rightBottomCorner = (x, y, size) =>
|
|
21
|
+
`L ${x - size},${y}Q ${x},${y} ${x},${y - size}`;
|
|
22
|
+
const leftTopCorner = (x, y, size) =>
|
|
23
|
+
`L ${x + size},${y}Q ${x},${y} ${x},${y + size}`;
|
|
24
|
+
const topLeftCorner = (x, y, size) =>
|
|
25
|
+
`L ${x},${y + size}Q ${x},${y} ${x + size},${y}`;
|
|
26
|
+
const topRightCorner = (x, y, size) =>
|
|
27
|
+
`L ${x},${y + size}Q ${x},${y} ${x - size},${y}`;
|
|
28
|
+
const rightTopCorner = (x, y, size) =>
|
|
29
|
+
`L ${x - size},${y}Q ${x},${y} ${x},${y + size}`;
|
|
30
|
+
// returns string to pass into edge 'path' svg d attribute (where to be drawn)
|
|
31
|
+
export function getSmoothStepPath({
|
|
32
|
+
sourceX,
|
|
33
|
+
sourceY,
|
|
34
|
+
sourcePosition = Position.Bottom,
|
|
35
|
+
targetX,
|
|
36
|
+
targetY,
|
|
37
|
+
targetPosition = Position.Top,
|
|
38
|
+
borderRadius = 5,
|
|
39
|
+
centerX,
|
|
40
|
+
centerY,
|
|
41
|
+
}) {
|
|
42
|
+
const [_centerX, _centerY, offsetX, offsetY] = getCenter({
|
|
43
|
+
sourceX,
|
|
44
|
+
sourceY,
|
|
45
|
+
targetX,
|
|
46
|
+
targetY,
|
|
47
|
+
});
|
|
48
|
+
const cornerWidth = Math.min(borderRadius, Math.abs(targetX - sourceX));
|
|
49
|
+
const cornerHeight = Math.min(borderRadius, Math.abs(targetY - sourceY));
|
|
50
|
+
const cornerSize = Math.min(cornerWidth, cornerHeight, offsetX, offsetY);
|
|
51
|
+
const leftAndRight = [Position.Left, Position.Right];
|
|
52
|
+
const cX = typeof centerX !== 'undefined' ? centerX : _centerX;
|
|
53
|
+
const cY = typeof centerY !== 'undefined' ? centerY : _centerY;
|
|
54
|
+
let firstCornerPath = null;
|
|
55
|
+
let secondCornerPath = null;
|
|
56
|
+
// for non-mixed edge top/bottom
|
|
57
|
+
if (sourceX <= targetX) {
|
|
58
|
+
firstCornerPath =
|
|
59
|
+
sourceY <= targetY
|
|
60
|
+
? bottomLeftCorner(sourceX, cY, cornerSize)
|
|
61
|
+
: topLeftCorner(sourceX, cY, cornerSize);
|
|
62
|
+
secondCornerPath =
|
|
63
|
+
sourceY <= targetY
|
|
64
|
+
? rightTopCorner(targetX, cY, cornerSize)
|
|
65
|
+
: rightBottomCorner(targetX, cY, cornerSize);
|
|
66
|
+
} else {
|
|
67
|
+
firstCornerPath =
|
|
68
|
+
sourceY < targetY
|
|
69
|
+
? bottomRightCorner(sourceX, cY, cornerSize)
|
|
70
|
+
: topRightCorner(sourceX, cY, cornerSize);
|
|
71
|
+
secondCornerPath =
|
|
72
|
+
sourceY < targetY
|
|
73
|
+
? leftTopCorner(targetX, cY, cornerSize)
|
|
74
|
+
: leftBottomCorner(targetX, cY, cornerSize);
|
|
75
|
+
}
|
|
76
|
+
// for non-mixed edge left/right
|
|
77
|
+
if (
|
|
78
|
+
leftAndRight.includes(sourcePosition) &&
|
|
79
|
+
leftAndRight.includes(targetPosition)
|
|
80
|
+
) {
|
|
81
|
+
if (sourceX <= targetX) {
|
|
82
|
+
firstCornerPath =
|
|
83
|
+
sourceY <= targetY
|
|
84
|
+
? rightTopCorner(cX, sourceY, cornerSize)
|
|
85
|
+
: rightBottomCorner(cX, sourceY, cornerSize);
|
|
86
|
+
secondCornerPath =
|
|
87
|
+
sourceY <= targetY
|
|
88
|
+
? bottomLeftCorner(cX, targetY, cornerSize)
|
|
89
|
+
: topLeftCorner(cX, targetY, cornerSize);
|
|
90
|
+
} else if (
|
|
91
|
+
(sourcePosition === Position.Right &&
|
|
92
|
+
targetPosition === Position.Left) ||
|
|
93
|
+
(sourcePosition === Position.Left &&
|
|
94
|
+
targetPosition === Position.Right) ||
|
|
95
|
+
(sourcePosition === Position.Left && targetPosition === Position.Left)
|
|
96
|
+
) {
|
|
97
|
+
// and sourceX > targetX
|
|
98
|
+
firstCornerPath =
|
|
99
|
+
sourceY <= targetY
|
|
100
|
+
? leftTopCorner(cX, sourceY, cornerSize)
|
|
101
|
+
: leftBottomCorner(cX, sourceY, cornerSize);
|
|
102
|
+
secondCornerPath =
|
|
103
|
+
sourceY <= targetY
|
|
104
|
+
? bottomRightCorner(cX, targetY, cornerSize)
|
|
105
|
+
: topRightCorner(cX, targetY, cornerSize);
|
|
106
|
+
}
|
|
107
|
+
// for mixed edges (top/bottom to left/right) OR (left/right to top/bottom)
|
|
108
|
+
} else if (
|
|
109
|
+
leftAndRight.includes(sourcePosition) &&
|
|
110
|
+
!leftAndRight.includes(targetPosition)
|
|
111
|
+
) {
|
|
112
|
+
if (sourceX <= targetX) {
|
|
113
|
+
firstCornerPath =
|
|
114
|
+
sourceY <= targetY
|
|
115
|
+
? rightTopCorner(targetX, sourceY, cornerSize)
|
|
116
|
+
: rightBottomCorner(targetX, sourceY, cornerSize);
|
|
117
|
+
} else {
|
|
118
|
+
firstCornerPath =
|
|
119
|
+
sourceY <= targetY
|
|
120
|
+
? leftTopCorner(targetX, sourceY, cornerSize)
|
|
121
|
+
: leftBottomCorner(targetX, sourceY, cornerSize);
|
|
122
|
+
}
|
|
123
|
+
secondCornerPath = '';
|
|
124
|
+
} else if (
|
|
125
|
+
!leftAndRight.includes(sourcePosition) &&
|
|
126
|
+
leftAndRight.includes(targetPosition)
|
|
127
|
+
) {
|
|
128
|
+
if (sourceX <= targetX) {
|
|
129
|
+
firstCornerPath =
|
|
130
|
+
sourceY <= targetY
|
|
131
|
+
? bottomLeftCorner(sourceX, targetY, cornerSize)
|
|
132
|
+
: topLeftCorner(sourceX, targetY, cornerSize);
|
|
133
|
+
} else {
|
|
134
|
+
firstCornerPath =
|
|
135
|
+
sourceY <= targetY
|
|
136
|
+
? bottomRightCorner(sourceX, targetY, cornerSize)
|
|
137
|
+
: topRightCorner(sourceX, targetY, cornerSize);
|
|
138
|
+
}
|
|
139
|
+
secondCornerPath = '';
|
|
140
|
+
}
|
|
141
|
+
return `M ${sourceX},${sourceY}${firstCornerPath}${secondCornerPath}L ${targetX},${targetY}`;
|
|
142
|
+
}
|
|
143
|
+
export let edge;
|
|
144
|
+
export let borderRadius = 5;
|
|
145
|
+
export let canvasId;
|
|
146
|
+
|
|
147
|
+
import { findStore } from '../../../store/controllers/storeApi';
|
|
148
|
+
import { getAnchorFromEdge } from '../../../edges/controllers/util';
|
|
149
|
+
|
|
150
|
+
let params;
|
|
151
|
+
$: {
|
|
152
|
+
const store = findStore(canvasId);
|
|
153
|
+
const sourceAnchor = getAnchorFromEdge(store, edge.id, 'source');
|
|
154
|
+
const targetAnchor = getAnchorFromEdge(store, edge.id, 'target');
|
|
155
|
+
const mapAngle = { 0: 'right', 90: 'top', 180: 'left', 270: 'bottom' };
|
|
156
|
+
params = {
|
|
157
|
+
sourceX: edge.sourceX,
|
|
158
|
+
sourceY: edge.sourceY,
|
|
159
|
+
targetX: edge.targetX,
|
|
160
|
+
targetY: edge.targetY,
|
|
161
|
+
sourcePosition: mapAngle[sourceAnchor.angle],
|
|
162
|
+
targetPosition: mapAngle[targetAnchor.angle],
|
|
163
|
+
borderRadius: borderRadius,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
$: [centerX, centerY] = getCenter(params);
|
|
167
|
+
$: path = getSmoothStepPath(params);
|
|
168
|
+
$: baseEdgeProps = {
|
|
169
|
+
...edge,
|
|
170
|
+
path: path,
|
|
171
|
+
centerX: centerX,
|
|
172
|
+
centerY: centerY,
|
|
173
|
+
};
|
|
174
|
+
</script>
|
|
175
|
+
|
|
176
|
+
<BaseEdge {baseEdgeProps} {canvasId} />
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} SmoothStepEdgeProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} SmoothStepEdgeEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} SmoothStepEdgeSlots */
|
|
4
|
+
export default class SmoothStepEdge extends SvelteComponentTyped<{
|
|
5
|
+
canvasId: any;
|
|
6
|
+
edge: any;
|
|
7
|
+
borderRadius?: number | undefined;
|
|
8
|
+
getSmoothStepPath?: (({ sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, borderRadius, centerX, centerY, }: {
|
|
9
|
+
sourceX: any;
|
|
10
|
+
sourceY: any;
|
|
11
|
+
sourcePosition?: string | undefined;
|
|
12
|
+
targetX: any;
|
|
13
|
+
targetY: any;
|
|
14
|
+
targetPosition?: string | undefined;
|
|
15
|
+
borderRadius?: number | undefined;
|
|
16
|
+
centerX: any;
|
|
17
|
+
centerY: any;
|
|
18
|
+
}) => string) | undefined;
|
|
19
|
+
}, {
|
|
20
|
+
[evt: string]: CustomEvent<any>;
|
|
21
|
+
}, {}> {
|
|
22
|
+
get getSmoothStepPath(): ({ sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, borderRadius, centerX, centerY, }: {
|
|
23
|
+
sourceX: any;
|
|
24
|
+
sourceY: any;
|
|
25
|
+
sourcePosition?: string | undefined;
|
|
26
|
+
targetX: any;
|
|
27
|
+
targetY: any;
|
|
28
|
+
targetPosition?: string | undefined;
|
|
29
|
+
borderRadius?: number | undefined;
|
|
30
|
+
centerX: any;
|
|
31
|
+
centerY: any;
|
|
32
|
+
}) => string;
|
|
33
|
+
}
|
|
34
|
+
export type SmoothStepEdgeProps = typeof __propDef.props;
|
|
35
|
+
export type SmoothStepEdgeEvents = typeof __propDef.events;
|
|
36
|
+
export type SmoothStepEdgeSlots = typeof __propDef.slots;
|
|
37
|
+
import { SvelteComponentTyped } from "svelte";
|
|
38
|
+
declare const __propDef: {
|
|
39
|
+
props: {
|
|
40
|
+
canvasId: any;
|
|
41
|
+
edge: any;
|
|
42
|
+
borderRadius?: number | undefined;
|
|
43
|
+
getSmoothStepPath?: (({ sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, borderRadius, centerX, centerY, }: {
|
|
44
|
+
sourceX: any;
|
|
45
|
+
sourceY: any;
|
|
46
|
+
sourcePosition?: string | undefined;
|
|
47
|
+
targetX: any;
|
|
48
|
+
targetY: any;
|
|
49
|
+
targetPosition?: string | undefined;
|
|
50
|
+
borderRadius?: number | undefined;
|
|
51
|
+
centerX: any;
|
|
52
|
+
centerY: any;
|
|
53
|
+
}) => string) | undefined;
|
|
54
|
+
};
|
|
55
|
+
events: {
|
|
56
|
+
[evt: string]: CustomEvent<any>;
|
|
57
|
+
};
|
|
58
|
+
slots: {};
|
|
59
|
+
};
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import SmoothStepEdge from './SmoothStepEdge.svelte';
|
|
3
|
+
export let edge;
|
|
4
|
+
export let canvasId;
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<!-- Utilizes the SmoothStepEdge Component and sets borderRadius to zero to give a sharp edge -->
|
|
8
|
+
<SmoothStepEdge {edge} borderRadius={0} {canvasId} />
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} StepEdgeProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} StepEdgeEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} StepEdgeSlots */
|
|
4
|
+
export default class StepEdge extends SvelteComponentTyped<{
|
|
5
|
+
edge: any;
|
|
6
|
+
canvasId: any;
|
|
7
|
+
}, {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
}, {}> {
|
|
10
|
+
}
|
|
11
|
+
export type StepEdgeProps = typeof __propDef.props;
|
|
12
|
+
export type StepEdgeEvents = typeof __propDef.events;
|
|
13
|
+
export type StepEdgeSlots = typeof __propDef.slots;
|
|
14
|
+
import { SvelteComponentTyped } from "svelte";
|
|
15
|
+
declare const __propDef: {
|
|
16
|
+
props: {
|
|
17
|
+
edge: any;
|
|
18
|
+
canvasId: any;
|
|
19
|
+
};
|
|
20
|
+
events: {
|
|
21
|
+
[evt: string]: CustomEvent<any>;
|
|
22
|
+
};
|
|
23
|
+
slots: {};
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { XYPosition, Position } from './utils';
|
|
2
|
+
export interface Node<T = any> {
|
|
3
|
+
id: number;
|
|
4
|
+
position: XYPosition;
|
|
5
|
+
data: T;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
bgColor?: string;
|
|
9
|
+
fontSize?: number;
|
|
10
|
+
borderColor?: string;
|
|
11
|
+
borderRadius?: number;
|
|
12
|
+
textColor?: string;
|
|
13
|
+
clickCallback?: Function;
|
|
14
|
+
image?: boolean;
|
|
15
|
+
src?: string;
|
|
16
|
+
sourcePosition?: 'left' | 'right' | 'top' | 'bottom';
|
|
17
|
+
targetPosition?: 'left' | 'right' | 'top' | 'bottom';
|
|
18
|
+
}
|
|
19
|
+
export interface Edge {
|
|
20
|
+
id: string;
|
|
21
|
+
source: number;
|
|
22
|
+
target: number;
|
|
23
|
+
label?: string;
|
|
24
|
+
labelBgColor?: string;
|
|
25
|
+
labelTextColor?: string;
|
|
26
|
+
edgeColor?: string;
|
|
27
|
+
type?: string;
|
|
28
|
+
animate?: boolean;
|
|
29
|
+
noHandle?: boolean;
|
|
30
|
+
arrow?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface DerivedEdge extends Edge {
|
|
33
|
+
sourceX: number;
|
|
34
|
+
sourceY: number;
|
|
35
|
+
sourcePosition: Position;
|
|
36
|
+
targetX: number;
|
|
37
|
+
targetY: number;
|
|
38
|
+
targetPosition: Position;
|
|
39
|
+
}
|
|
40
|
+
export interface EdgeProps extends DerivedEdge {
|
|
41
|
+
path: string;
|
|
42
|
+
centerX: number;
|
|
43
|
+
centerY: number;
|
|
44
|
+
}
|
|
45
|
+
export interface EdgeTextProps {
|
|
46
|
+
label?: any;
|
|
47
|
+
labelBgColor?: string;
|
|
48
|
+
labelTextColor?: string;
|
|
49
|
+
centerX: number;
|
|
50
|
+
centerY: number;
|
|
51
|
+
}
|
|
52
|
+
export type HandleType = 'source' | 'target';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare enum Position {
|
|
2
|
+
Left = "left",
|
|
3
|
+
Right = "right",
|
|
4
|
+
Top = "top",
|
|
5
|
+
Bottom = "bottom"
|
|
6
|
+
}
|
|
7
|
+
export interface XYPosition {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
}
|
|
11
|
+
export type XYZPosition = XYPosition & {
|
|
12
|
+
z: number;
|
|
13
|
+
};
|
|
14
|
+
export interface Dimensions {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
}
|
|
18
|
+
export interface Rect extends Dimensions, XYPosition {
|
|
19
|
+
}
|
|
20
|
+
export interface Box extends XYPosition {
|
|
21
|
+
x2: number;
|
|
22
|
+
y2: number;
|
|
23
|
+
}
|
|
24
|
+
export type Transform = [number, number, number];
|
|
25
|
+
export interface GetCenterParams {
|
|
26
|
+
sourceX: number;
|
|
27
|
+
sourceY: number;
|
|
28
|
+
targetX: number;
|
|
29
|
+
targetY: number;
|
|
30
|
+
sourcePosition?: Position;
|
|
31
|
+
targetPosition?: Position;
|
|
32
|
+
}
|
|
33
|
+
export declare const getCenter: ({ sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, }: GetCenterParams) => [number, number, number, number];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// enumerable values (static) set for Position
|
|
2
|
+
export var Position;
|
|
3
|
+
(function (Position) {
|
|
4
|
+
Position["Left"] = "left";
|
|
5
|
+
Position["Right"] = "right";
|
|
6
|
+
Position["Top"] = "top";
|
|
7
|
+
Position["Bottom"] = "bottom";
|
|
8
|
+
})(Position || (Position = {}));
|
|
9
|
+
//needed for getCenter funciotn
|
|
10
|
+
const LeftOrRight = [Position.Left, Position.Right];
|
|
11
|
+
//used to determine the position for edge text on a Smooth or Step Edge
|
|
12
|
+
export const getCenter = ({ sourceX, sourceY, targetX, targetY, sourcePosition = Position.Bottom, targetPosition = Position.Top, }) => {
|
|
13
|
+
const sourceIsLeftOrRight = LeftOrRight.includes(sourcePosition);
|
|
14
|
+
const targetIsLeftOrRight = LeftOrRight.includes(targetPosition);
|
|
15
|
+
// we expect flows to be horizontal or vertical (all handles left or right respectively top or bottom)
|
|
16
|
+
// a mixed edge is when one the source is on the left and the target is on the top for example.
|
|
17
|
+
const mixedEdge = (sourceIsLeftOrRight && !targetIsLeftOrRight) ||
|
|
18
|
+
(targetIsLeftOrRight && !sourceIsLeftOrRight);
|
|
19
|
+
if (mixedEdge) {
|
|
20
|
+
const xOffset = sourceIsLeftOrRight ? Math.abs(targetX - sourceX) : 0;
|
|
21
|
+
const centerX = sourceX > targetX ? sourceX - xOffset : sourceX + xOffset;
|
|
22
|
+
const yOffset = sourceIsLeftOrRight ? 0 : Math.abs(targetY - sourceY);
|
|
23
|
+
const centerY = sourceY < targetY ? sourceY + yOffset : sourceY - yOffset;
|
|
24
|
+
return [centerX, centerY, xOffset, yOffset];
|
|
25
|
+
}
|
|
26
|
+
const xOffset = Math.abs(targetX - sourceX) / 2;
|
|
27
|
+
const centerX = targetX < sourceX ? targetX + xOffset : targetX - xOffset;
|
|
28
|
+
const yOffset = Math.abs(targetY - sourceY) / 2;
|
|
29
|
+
const centerY = targetY < sourceY ? targetY + yOffset : targetY - yOffset;
|
|
30
|
+
return [centerX, centerY, xOffset, yOffset];
|
|
31
|
+
};
|