windmill-components 1.60.4 → 1.75.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 +15 -1
- package/common.d.ts +5 -1
- package/components/ApiConnectForm.svelte +66 -5
- package/components/AppConnect.svelte +26 -10
- package/components/ArgInput.svelte +1 -1
- package/components/CliHelpBox.svelte +49 -0
- package/components/CliHelpBox.svelte.d.ts +14 -0
- package/components/DisplayResult.svelte +78 -10
- package/components/DisplayResult.svelte.d.ts +1 -0
- package/components/Editor.svelte +17 -7
- package/components/EditorBar.svelte +129 -111
- package/components/FieldHeader.svelte +12 -8
- package/components/FlowBuilder.svelte +107 -39
- package/components/FlowBuilder.svelte.d.ts +5 -0
- package/components/FlowGraphViewer.svelte +5 -4
- package/components/FlowJobResult.svelte +13 -5
- package/components/FlowJobResult.svelte.d.ts +1 -0
- package/components/FlowMetadata.svelte +24 -8
- package/components/FlowPreviewContent.svelte +5 -11
- package/components/FlowStatusViewer.svelte +62 -17
- package/components/FolderEditor.svelte +3 -2
- package/components/GroupEditor.svelte +8 -0
- package/components/HighlightCode.svelte +7 -1
- package/components/InlineCodeCopy.svelte +11 -0
- package/components/InlineCodeCopy.svelte.d.ts +16 -0
- package/components/InputTransformForm.svelte +22 -25
- package/components/InputTransformSchemaForm.svelte +103 -0
- package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
- package/components/LogViewer.svelte +7 -1
- package/components/LogViewer.svelte.d.ts +1 -0
- package/components/ModulePreview.svelte +13 -3
- package/components/MoveDrawer.svelte +1 -1
- package/components/Multiselect.svelte +1 -1
- package/components/Multiselect.svelte.d.ts +2 -2
- package/components/ObjectResourceInput.svelte +6 -1
- package/components/Path.svelte +29 -16
- package/components/Popover.svelte +10 -15
- package/components/Popover.svelte.d.ts +1 -0
- package/components/Range.svelte.d.ts +2 -2
- package/components/ResourceEditor.svelte +39 -16
- package/components/ResourcePicker.svelte +33 -15
- package/components/RunChart.svelte +24 -5
- package/components/RunForm.svelte +26 -3
- package/components/RunForm.svelte.d.ts +2 -0
- package/components/ScheduleEditor.svelte +1 -1
- package/components/SchemaEditor.svelte +2 -2
- package/components/SchemaForm.svelte +72 -60
- package/components/SchemaForm.svelte.d.ts +1 -5
- package/components/ScriptBuilder.svelte +69 -30
- package/components/ScriptBuilder.svelte.d.ts +1 -0
- package/components/ScriptEditor.svelte +1 -0
- package/components/ScriptPicker.svelte +3 -0
- package/components/SharedBadge.svelte +5 -5
- package/components/SimpleEditor.svelte +4 -1
- package/components/SimpleEditor.svelte.d.ts +2 -0
- package/components/Slider.svelte +19 -0
- package/components/Slider.svelte.d.ts +20 -0
- package/components/StringTypeNarrowing.svelte +0 -1
- package/components/SuperadminSettings.svelte +11 -3
- package/components/SuperadminSettings.svelte.d.ts +2 -0
- package/components/TemplateEditor.svelte +1 -1
- package/components/TemplateEditor.svelte.d.ts +204 -0
- package/components/TestJobLoader.svelte +5 -5
- package/components/Toggle.svelte +18 -6
- package/components/Toggle.svelte.d.ts +2 -0
- package/components/Tooltip.svelte +1 -1
- package/components/UserSettings.svelte +13 -3
- package/components/UserSettings.svelte.d.ts +2 -0
- package/components/VariableEditor.svelte +1 -1
- package/components/WhitelistIp.svelte +23 -0
- package/components/WhitelistIp.svelte.d.ts +14 -0
- package/components/apps/components/buttons/AppButton.svelte +79 -17
- package/components/apps/components/buttons/AppButton.svelte.d.ts +4 -0
- package/components/apps/components/{form → buttons}/AppForm.svelte +19 -7
- package/components/apps/components/{form → buttons}/AppForm.svelte.d.ts +3 -0
- package/components/apps/components/buttons/AppFormButton.svelte +145 -0
- package/components/apps/components/buttons/AppFormButton.svelte.d.ts +28 -0
- package/components/apps/components/buttons/index.d.ts +3 -0
- package/components/apps/components/buttons/index.js +3 -0
- package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte +27 -8
- package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte.d.ts +4 -0
- package/components/apps/components/display/AppDisplayComponent.svelte +36 -0
- package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +24 -0
- package/components/apps/components/display/AppHtml.svelte +46 -0
- package/components/apps/components/{dataDisplay → display}/AppHtml.svelte.d.ts +4 -1
- package/components/apps/components/display/AppIcon.svelte +47 -0
- package/components/apps/components/display/AppIcon.svelte.d.ts +25 -0
- package/components/apps/components/display/AppImage.svelte +34 -0
- package/components/apps/components/display/AppImage.svelte.d.ts +25 -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/{dataDisplay → display}/AppPieChart.svelte +16 -7
- package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte.d.ts +4 -0
- package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte +13 -4
- package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte.d.ts +4 -0
- package/components/apps/components/{dataDisplay → display}/AppText.svelte +42 -34
- package/components/apps/components/{dataDisplay → display}/AppText.svelte.d.ts +4 -0
- package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte +14 -5
- package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte.d.ts +4 -0
- package/components/apps/components/display/PlotlyHtml.svelte +32 -0
- package/components/apps/components/display/PlotlyHtml.svelte.d.ts +24 -0
- package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte +4 -10
- package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte.d.ts +2 -0
- package/components/apps/components/display/index.d.ts +15 -0
- package/components/apps/components/display/index.js +15 -0
- package/components/apps/components/display/table/AppAggridTable.svelte +92 -0
- package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +25 -0
- package/components/apps/components/{table → display/table}/AppTable.svelte +85 -29
- package/components/apps/components/{table → display/table}/AppTable.svelte.d.ts +6 -2
- package/components/apps/components/{table → display/table}/AppTableFooter.svelte +9 -2
- package/components/apps/components/{table → display/table}/AppTableFooter.svelte.d.ts +2 -0
- package/components/apps/components/helpers/AlignWrapper.svelte +29 -23
- package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +6 -2
- package/components/apps/components/helpers/HiddenComponent.svelte +23 -0
- package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +25 -0
- package/components/apps/components/helpers/InputDefaultValue.svelte +17 -0
- package/components/apps/components/helpers/InputDefaultValue.svelte.d.ts +17 -0
- package/components/apps/components/helpers/InputValue.svelte +39 -18
- package/components/apps/components/helpers/InputValue.svelte.d.ts +0 -1
- 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 +1 -1
- 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 +99 -102
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -2
- package/components/apps/components/helpers/RunnableWrapper.svelte +16 -7
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +5 -2
- package/components/apps/components/helpers/index.d.ts +10 -0
- package/components/apps/components/helpers/index.js +10 -0
- package/components/apps/components/icon.d.ts +1 -0
- package/components/apps/components/icon.js +18 -0
- package/components/apps/components/index.d.ts +5 -0
- package/components/apps/components/index.js +5 -0
- package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte +12 -4
- package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppDateInput.svelte +47 -0
- package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte.d.ts +6 -1
- package/components/apps/components/inputs/AppFileInput.svelte +42 -0
- package/components/apps/components/inputs/AppFileInput.svelte.d.ts +23 -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 +52 -0
- package/components/apps/components/{numberInputs → inputs}/AppNumberInput.svelte.d.ts +5 -0
- package/components/apps/components/inputs/AppRangeInput.svelte +85 -0
- package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +26 -0
- package/components/apps/components/inputs/AppSelect.svelte +127 -0
- package/components/apps/components/{selectInputs → inputs}/AppSelect.svelte.d.ts +5 -0
- package/components/apps/components/inputs/AppSliderInputs.svelte +73 -0
- package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppTextInput.svelte +71 -0
- package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte.d.ts +6 -0
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +59 -0
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +24 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte +183 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +33 -0
- package/components/apps/components/inputs/index.d.ts +9 -0
- package/components/apps/components/inputs/index.js +9 -0
- package/components/apps/components/layout/AppContainer.svelte +40 -0
- package/components/apps/components/layout/AppContainer.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppDivider.svelte +40 -0
- package/components/apps/components/layout/AppDivider.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppDrawer.svelte +89 -0
- package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppSplitpanes.svelte +88 -0
- package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
- package/components/apps/components/layout/AppTabs.svelte +99 -0
- package/components/apps/components/layout/AppTabs.svelte.d.ts +27 -0
- package/components/apps/components/layout/index.d.ts +5 -0
- package/components/apps/components/layout/index.js +5 -0
- package/components/apps/editor/AppComponentInput.svelte +33 -0
- package/components/apps/editor/AppComponentInput.svelte.d.ts +18 -0
- package/components/apps/editor/AppComponentInputs.svelte +13 -0
- package/components/apps/editor/AppComponentInputs.svelte.d.ts +20 -0
- package/components/apps/editor/AppEditor.svelte +134 -35
- package/components/apps/editor/AppEditor.svelte.d.ts +4 -1
- package/components/apps/editor/AppEditorHeader.svelte +178 -47
- package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
- package/components/apps/editor/AppInputs.svelte +60 -0
- package/components/apps/editor/AppInputs.svelte.d.ts +14 -0
- package/components/apps/editor/AppPreview.svelte +30 -12
- package/components/apps/editor/ComponentHeader.svelte +52 -3
- package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -1
- package/components/apps/editor/GridEditor.svelte +134 -77
- package/components/apps/editor/GridEditor.svelte.d.ts +2 -0
- package/components/apps/editor/GridPanel.svelte +29 -0
- package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
- package/components/apps/editor/RecomputeAllComponents.svelte +8 -6
- package/components/apps/editor/SettingsPanel.svelte +26 -8
- package/components/apps/editor/SubGridEditor.svelte +139 -0
- package/components/apps/editor/SubGridEditor.svelte.d.ts +29 -0
- package/components/apps/editor/appUtils.d.ts +19 -0
- package/components/apps/editor/appUtils.js +241 -0
- package/components/apps/editor/component/Component.svelte +434 -0
- package/components/apps/editor/{ComponentEditor.svelte.d.ts → component/Component.svelte.d.ts} +7 -5
- package/components/apps/editor/component/ComponentNavigation.svelte +125 -0
- package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
- package/components/apps/editor/component/README.md +15 -0
- package/components/apps/editor/component/components.d.ts +77 -0
- package/components/apps/editor/component/components.js +1476 -0
- package/components/apps/editor/component/default-codes.d.ts +3 -0
- package/components/apps/editor/component/default-codes.js +322 -0
- package/components/apps/editor/component/index.d.ts +4 -0
- package/components/apps/editor/component/index.js +4 -0
- package/components/apps/editor/component/sets.d.ts +2 -0
- package/components/apps/editor/component/sets.js +55 -0
- package/components/apps/editor/componentsPanel/ComponentList.svelte +75 -108
- package/components/apps/editor/componentsPanel/CssProperty.svelte +67 -0
- package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +21 -0
- package/components/apps/editor/componentsPanel/CssSettings.svelte +188 -0
- package/components/apps/editor/componentsPanel/CssSettings.svelte.d.ts +14 -0
- package/components/apps/editor/componentsPanel/ListItem.svelte +39 -0
- package/components/apps/editor/componentsPanel/ListItem.svelte.d.ts +20 -0
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +5 -1
- package/components/apps/editor/componentsPanel/componentStaticValues.js +16 -1
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
- package/components/apps/editor/contextPanel/ContextPanel.svelte +115 -67
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +109 -10
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +88 -41
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +32 -6
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +75 -8
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +128 -72
- package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -5
- package/components/apps/editor/inlineScriptsPanel/utils.js +48 -7
- package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +14 -10
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +68 -1
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +130 -61
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +6 -3
- 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 +73 -0
- package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +20 -0
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +5 -1
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +93 -78
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +92 -0
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +18 -0
- package/components/apps/editor/settingsPanel/Recompute.svelte +5 -2
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +1 -1
- package/components/apps/editor/settingsPanel/TableActions.svelte +45 -7
- package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +6 -4
- 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 +1 -1
- package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +107 -0
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +21 -0
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +2 -1
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +59 -6
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +3 -0
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +21 -0
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +17 -0
- 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 +4 -21
- package/components/apps/gridUtils.d.ts +3 -1
- package/components/apps/gridUtils.js +5 -3
- package/components/apps/inputType.d.ts +34 -6
- package/components/apps/rx.js +2 -1
- package/components/apps/store.d.ts +6 -1
- package/components/apps/types.d.ts +47 -42
- package/components/apps/types.js +1 -1
- package/components/apps/utils.d.ts +6 -5
- package/components/apps/utils.js +63 -95
- package/components/common/button/Button.svelte +12 -5
- package/components/common/button/Button.svelte.d.ts +3 -1
- package/components/common/button/ButtonPopup.svelte +2 -0
- package/components/common/button/ButtonPopup.svelte.d.ts +2 -1
- package/components/common/button/UndoRedo.svelte +32 -0
- package/components/common/button/UndoRedo.svelte.d.ts +20 -0
- package/components/common/button/model.d.ts +2 -2
- package/components/common/button/model.js +21 -6
- package/components/common/confirmationModal/ConfirmationModal.svelte +8 -1
- package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -4
- package/components/common/drawer/Drawer.svelte +13 -5
- package/components/common/drawer/Drawer.svelte.d.ts +3 -1
- package/components/common/drawer/DrawerContent.svelte +0 -1
- package/components/common/fileInput/FileInput.svelte +138 -0
- package/components/common/fileInput/FileInput.svelte.d.ts +29 -0
- package/components/common/fileInput/model.d.ts +1 -0
- package/components/common/fileInput/model.js +1 -0
- package/components/common/index.d.ts +2 -0
- package/components/common/index.js +2 -0
- package/components/common/kbd/Kbd.svelte.d.ts +2 -2
- package/components/common/menu/Menu.svelte +3 -2
- package/components/common/menu/Menu.svelte.d.ts +2 -1
- package/components/common/modal/Modal.svelte +79 -0
- package/components/common/modal/Modal.svelte.d.ts +24 -0
- package/components/common/popup/Popup.svelte +34 -17
- package/components/common/popup/Popup.svelte.d.ts +11 -4
- package/components/common/table/AppRow.svelte +13 -4
- package/components/common/table/AppRow.svelte.d.ts +1 -0
- package/components/common/table/FlowRow.svelte +40 -8
- package/components/common/table/FlowRow.svelte.d.ts +1 -0
- package/components/common/table/LanguageBadge.svelte +10 -4
- package/components/common/table/Row.svelte +1 -1
- package/components/common/table/ScriptRow.svelte +44 -12
- package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/components/common/tabs/Tab.svelte +12 -5
- package/components/common/tabs/Tab.svelte.d.ts +4 -1
- package/components/common/tabs/Tabs.svelte +12 -8
- package/components/common/tabs/Tabs.svelte.d.ts +6 -2
- package/components/flows/CreateActionsFlow.svelte +2 -3
- package/components/flows/FlowEditor.svelte +6 -4
- package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/components/flows/content/BranchPredicateEditor.svelte +13 -12
- 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/FlowInputs.svelte +109 -99
- package/components/flows/content/FlowLoop.svelte +4 -5
- package/components/flows/content/FlowModuleComponent.svelte +26 -13
- 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/FlowRetries.svelte +8 -6
- package/components/flows/content/FlowSchedules.svelte +1 -2
- package/components/flows/content/FlowSettings.svelte +77 -51
- 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 -2
- package/components/flows/flowState.js +1 -3
- package/components/flows/flowStateUtils.d.ts +7 -6
- package/components/flows/flowStateUtils.js +9 -11
- package/components/flows/flowStore.d.ts +5 -3
- package/components/flows/flowStore.js +6 -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 +163 -130
- package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
- package/components/flows/map/FlowSettingsItem.svelte +5 -4
- package/components/flows/map/InsertModuleButton.svelte +34 -18
- package/components/flows/map/InsertModuleButton.svelte.d.ts +2 -0
- package/components/flows/map/MapItem.svelte +176 -101
- 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/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 +17 -11
- package/components/graph/FlowGraph.svelte +247 -164
- package/components/graph/FlowGraph.svelte.d.ts +15 -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/README.md +3 -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/d3/controllers/d3Old.d.ts +1 -0
- package/components/graph/svelvet/d3/controllers/d3Old.js +43 -0
- package/components/graph/svelvet/docs/CHANGELOG.md +145 -0
- package/components/graph/svelvet/docs/DESIGN_PATTERNS.md +44 -0
- package/components/graph/svelvet/docs/DOCUMENTATION.md +5 -0
- package/components/graph/svelvet/docs/README.md +34 -0
- package/components/graph/svelvet/docs/TODO.md +14 -0
- package/components/graph/svelvet/docs/Tutorials.md +25 -0
- 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
- 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/icons/SquareIcon.svelte +9 -0
- package/components/icons/SquareIcon.svelte.d.ts +17 -0
- package/components/icons/index.d.ts +2 -0
- package/components/icons/index.js +2 -0
- package/components/jobs/JobDetail.svelte +40 -5
- package/components/propertyPicker/ObjectViewer.svelte +14 -9
- package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
- package/components/propertyPicker/PropPicker.svelte +8 -1
- package/components/propertyPicker/PropPickerResult.svelte +1 -1
- package/components/random_positive_adjetive.d.ts +1 -0
- package/components/random_positive_adjetive.js +961 -0
- package/components/scriptEditor/LogPanel.svelte +2 -1
- package/components/sidebar/SidebarContent.svelte +1 -1
- package/components/sidebar/UserMenu.svelte +46 -16
- package/components/sidebar/UserMenu.svelte.d.ts +0 -3
- package/components/sidebar/WorkspaceMenu.svelte +3 -1
- package/components/sidebar/settings.d.ts +2 -0
- package/components/sidebar/settings.js +2 -0
- package/consts.d.ts +1 -0
- package/consts.js +1 -0
- package/defaults.d.ts +4 -0
- package/defaults.js +4 -0
- package/gen/core/OpenAPI.js +1 -1
- package/gen/models/CompletedJob.d.ts +1 -0
- package/gen/models/FlowModule.d.ts +0 -1
- package/gen/models/QueuedJob.d.ts +1 -0
- package/gen/models/WorkerPing.d.ts +1 -1
- package/gen/services/FlowService.d.ts +9 -0
- package/gen/services/FlowService.js +15 -0
- package/gen/services/JobService.d.ts +97 -15
- package/gen/services/JobService.js +74 -15
- package/gen/services/ScriptService.d.ts +10 -1
- package/gen/services/ScriptService.js +16 -1
- package/gen/services/VariableService.d.ts +4 -2
- package/gen/services/VariableService.js +8 -2
- package/gen/services/WorkspaceService.d.ts +17 -0
- package/gen/services/WorkspaceService.js +16 -0
- package/history.d.ts +9 -0
- package/history.js +56 -0
- package/infer.js +3 -0
- package/init_scripts/python_failure_module.py +10 -0
- package/init_scripts/python_init_code.py +37 -0
- package/init_scripts/python_init_code_clear.py +5 -0
- package/init_scripts/python_init_code_trigger.py +14 -0
- package/logout.js +2 -1
- package/package.json +661 -522
- package/script_helpers.d.ts +6 -5
- package/script_helpers.js +8 -73
- package/scripts.d.ts +1 -1
- package/scripts.js +8 -1
- package/stores.d.ts +5 -1
- package/stores.js +8 -1
- package/user.d.ts +1 -1
- package/user.js +14 -8
- package/utils.d.ts +10 -5
- package/utils.js +51 -14
- package/components/apps/components/DisplayComponent.svelte +0 -16
- package/components/apps/components/DisplayComponent.svelte.d.ts +0 -20
- package/components/apps/components/dataDisplay/AppHtml.svelte +0 -31
- package/components/apps/components/dateInputs/AppDateInput.svelte +0 -34
- package/components/apps/components/numberInputs/AppNumberInput.svelte +0 -33
- package/components/apps/components/numberInputs/AppSliderInputs.svelte +0 -37
- package/components/apps/components/selectInputs/AppSelect.svelte +0 -47
- package/components/apps/components/textInputs/AppTextInput.svelte +0 -31
- package/components/apps/editor/ComponentEditor.svelte +0 -145
- package/components/apps/editor/TablePanel.svelte +0 -17
- package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
- package/components/apps/editor/componentsPanel/data.d.ts +0 -3
- package/components/apps/editor/componentsPanel/data.js +0 -499
- package/components/apps/editorUtils.d.ts +0 -1
- package/components/apps/editorUtils.js +0 -292
- 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
- /package/components/apps/components/{table → display/table}/tableOptions.d.ts +0 -0
- /package/components/apps/components/{table → display/table}/tableOptions.js +0 -0
package/assets/app.css
CHANGED
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
display: none !important;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
.svelte-select-list {
|
|
27
|
+
z-index: 1000 !important;
|
|
28
|
+
}
|
|
26
29
|
.nowrap pre code.hljs {
|
|
27
30
|
whitespace: normal !important;
|
|
28
31
|
}
|
|
@@ -47,12 +50,23 @@
|
|
|
47
50
|
.Template-editor span.mtk20 {
|
|
48
51
|
color: black !important;
|
|
49
52
|
}
|
|
53
|
+
|
|
54
|
+
::-webkit-scrollbar {
|
|
55
|
+
width: 9px;
|
|
56
|
+
height: 9px;
|
|
57
|
+
}
|
|
58
|
+
::-webkit-scrollbar-track {
|
|
59
|
+
background: transparent;
|
|
60
|
+
}
|
|
61
|
+
::-webkit-scrollbar-thumb {
|
|
62
|
+
background-color: rgba(155, 155, 155, 0.5);
|
|
63
|
+
border: transparent;
|
|
64
|
+
}
|
|
50
65
|
}
|
|
51
66
|
|
|
52
67
|
@layer components {
|
|
53
68
|
/* Flow graph viewer -> Svelvet library internal class overwrite */
|
|
54
69
|
.Node {
|
|
55
70
|
display: flex !important;
|
|
56
|
-
cursor: pointer !important;
|
|
57
71
|
}
|
|
58
72
|
}
|
package/common.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface SchemaProperty {
|
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
export type Schema = {
|
|
22
|
-
$schema: string;
|
|
22
|
+
$schema: string | undefined;
|
|
23
23
|
type: string;
|
|
24
24
|
properties: {
|
|
25
25
|
[name: string]: SchemaProperty;
|
|
@@ -31,4 +31,8 @@ export type Meta = {
|
|
|
31
31
|
owner: string;
|
|
32
32
|
name: string;
|
|
33
33
|
};
|
|
34
|
+
type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
|
|
35
|
+
/** An inclusive range of integer numbers */
|
|
36
|
+
export type IntRange<F extends number, T extends number> = F | Exclude<Enumerate<T>, Enumerate<F>> | T;
|
|
34
37
|
export declare function pathToMeta(path: string): Meta;
|
|
38
|
+
export {};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
<script>import { ResourceService } from '../gen';
|
|
1
|
+
<script>import { JobService, Preview, ResourceService } from '../gen';
|
|
2
2
|
import { workspaceStore } from '../stores';
|
|
3
|
-
import { emptySchema, emptyString } from '../utils';
|
|
3
|
+
import { emptySchema, emptyString, sendUserToast } from '../utils';
|
|
4
|
+
import { Loader2 } from 'lucide-svelte';
|
|
5
|
+
import Button from './common/button/Button.svelte';
|
|
4
6
|
import SchemaForm from './SchemaForm.svelte';
|
|
5
7
|
import SimpleEditor from './SimpleEditor.svelte';
|
|
8
|
+
import Toggle from './Toggle.svelte';
|
|
6
9
|
export let resource_type;
|
|
7
10
|
export let args = {};
|
|
8
11
|
export let password;
|
|
@@ -10,6 +13,8 @@ export let isValid = true;
|
|
|
10
13
|
let schema = emptySchema();
|
|
11
14
|
let notFound = false;
|
|
12
15
|
async function loadSchema() {
|
|
16
|
+
rawCode = '{}';
|
|
17
|
+
viewJsonSchema = false;
|
|
13
18
|
try {
|
|
14
19
|
const rt = await ResourceService.getResourceType({
|
|
15
20
|
workspace: $workspaceStore,
|
|
@@ -19,7 +24,6 @@ async function loadSchema() {
|
|
|
19
24
|
notFound = false;
|
|
20
25
|
}
|
|
21
26
|
catch (e) {
|
|
22
|
-
rawCode = '{}';
|
|
23
27
|
notFound = true;
|
|
24
28
|
}
|
|
25
29
|
}
|
|
@@ -40,17 +44,74 @@ function parseJson() {
|
|
|
40
44
|
}
|
|
41
45
|
let error = '';
|
|
42
46
|
let rawCode = '';
|
|
47
|
+
let viewJsonSchema = false;
|
|
48
|
+
$: rawCode && parseJson();
|
|
49
|
+
function switchTab(asJson) {
|
|
50
|
+
viewJsonSchema = asJson;
|
|
51
|
+
if (asJson) {
|
|
52
|
+
rawCode = JSON.stringify(args, null, 2);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
parseJson();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
let loading = false;
|
|
59
|
+
async function testConnection() {
|
|
60
|
+
loading = true;
|
|
61
|
+
const job = await JobService.runScriptPreview({
|
|
62
|
+
workspace: $workspaceStore,
|
|
63
|
+
requestBody: {
|
|
64
|
+
language: 'deno',
|
|
65
|
+
content: `
|
|
66
|
+
import { Client } from 'https://deno.land/x/postgres/mod.ts'
|
|
67
|
+
export async function main(args: any) {
|
|
68
|
+
const client = new Client("postgres://" + args.user + ":" + args.password + "@" + args.host + ":" + args.port + "/" + args.dbname + "?sslmode=" + args.sslmode)
|
|
69
|
+
await client.connect()
|
|
70
|
+
return 'Connection successful'
|
|
71
|
+
}
|
|
72
|
+
`,
|
|
73
|
+
args: {
|
|
74
|
+
args
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
await new Promise((r) => setTimeout(r, 3000));
|
|
79
|
+
loading = false;
|
|
80
|
+
const testResult = await JobService.getCompletedJob({
|
|
81
|
+
workspace: $workspaceStore,
|
|
82
|
+
id: job
|
|
83
|
+
});
|
|
84
|
+
if (testResult) {
|
|
85
|
+
sendUserToast(testResult.success ? testResult.result : testResult.result?.['error']?.['message'], !testResult.success);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
43
88
|
</script>
|
|
44
89
|
|
|
45
|
-
{#if notFound}
|
|
90
|
+
{#if !notFound}
|
|
91
|
+
<div class="w-full flex gap-4 flex-row-reverse">
|
|
92
|
+
<Toggle
|
|
93
|
+
on:change={(e) => switchTab(e.detail)}
|
|
94
|
+
options={{
|
|
95
|
+
right: 'As JSON'
|
|
96
|
+
}}
|
|
97
|
+
/>
|
|
98
|
+
{#if resource_type == 'postgresql'}
|
|
99
|
+
<Button size="sm" on:click={testConnection}
|
|
100
|
+
>{#if loading}<Loader2 class="animate-spin mr-2" />{/if} Test connection</Button
|
|
101
|
+
>
|
|
102
|
+
{/if}
|
|
103
|
+
</div>
|
|
104
|
+
{:else}
|
|
46
105
|
<p class="italic text-gray-500 text-xs mb-4"
|
|
47
106
|
>No corresponding resource type found in your workspace for {resource_type}. Define the value in
|
|
48
107
|
JSON directly</p
|
|
49
108
|
>
|
|
109
|
+
{/if}
|
|
110
|
+
{#if notFound || viewJsonSchema}
|
|
50
111
|
{#if !emptyString(error)}<span class="text-red-400 text-xs mb-1 flex flex-row-reverse"
|
|
51
112
|
>{error}</span
|
|
52
113
|
>{:else}<div class="py-2" />{/if}
|
|
53
114
|
<SimpleEditor autoHeight lang="json" bind:code={rawCode} fixedOverflowWidgets={false} />
|
|
54
115
|
{:else}
|
|
55
|
-
<SchemaForm {password} isValid {schema} bind:args />
|
|
116
|
+
<SchemaForm noDelete {password} isValid {schema} bind:args />
|
|
56
117
|
{/if}
|
|
@@ -34,6 +34,14 @@ const apiTokenApps = {
|
|
|
34
34
|
supabase: {
|
|
35
35
|
img: '/supabase_connect.png',
|
|
36
36
|
instructions: ['Go to the API Settings of your app to find the project URL and key']
|
|
37
|
+
},
|
|
38
|
+
square: {
|
|
39
|
+
img: '/square_connect.gif',
|
|
40
|
+
instructions: [
|
|
41
|
+
'Go to <a href="https://developer.squareup.com/apps" target="_blank" rel=”noopener noreferrer”>https://developer.squareup.com/apps</a>',
|
|
42
|
+
'In the left pane, choose Credentials',
|
|
43
|
+
'At the top of the page, choose Production mode for a production access token or Sandbox mode for a Sandbox access token.'
|
|
44
|
+
]
|
|
37
45
|
}
|
|
38
46
|
};
|
|
39
47
|
</script>
|
|
@@ -52,6 +60,7 @@ import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
|
52
60
|
import ApiConnectForm from './ApiConnectForm.svelte';
|
|
53
61
|
import SearchItems from './SearchItems.svelte';
|
|
54
62
|
import autosize from 'svelte-autosize';
|
|
63
|
+
import WhitelistIp from './WhitelistIp.svelte';
|
|
55
64
|
export let newPageOAuth = false;
|
|
56
65
|
let filter = '';
|
|
57
66
|
let manual = false;
|
|
@@ -63,7 +72,7 @@ let args = {};
|
|
|
63
72
|
$: key =
|
|
64
73
|
apiTokenApps[resource_type]?.key ??
|
|
65
74
|
(args != undefined
|
|
66
|
-
? Object.keys(args).filter((x) => ['token', 'password', 'api_key'].includes(x))[0]
|
|
75
|
+
? Object.keys(args).filter((x) => ['token', 'password', 'api_key', 'key'].includes(x))[0]
|
|
67
76
|
: undefined);
|
|
68
77
|
let scopes = [];
|
|
69
78
|
let extra_params = [];
|
|
@@ -126,6 +135,7 @@ async function loadResources() {
|
|
|
126
135
|
async function next() {
|
|
127
136
|
if (step == 1 && manual) {
|
|
128
137
|
step += 1;
|
|
138
|
+
args = {};
|
|
129
139
|
}
|
|
130
140
|
else if (step == 1 && !manual) {
|
|
131
141
|
const url = new URL(`/api/oauth/connect/${resource_type}`, $page.url.origin);
|
|
@@ -220,6 +230,7 @@ $: disabled =
|
|
|
220
230
|
args['token'] == '' &&
|
|
221
231
|
args['password'] == '' &&
|
|
222
232
|
args['api_key'] == '' &&
|
|
233
|
+
args['key'] == '' &&
|
|
223
234
|
key != undefined) ||
|
|
224
235
|
(step == 3 && pathError != '') ||
|
|
225
236
|
!isValid;
|
|
@@ -355,12 +366,9 @@ let filteredConnectsManual = [];
|
|
|
355
366
|
bind:error={pathError}
|
|
356
367
|
bind:path
|
|
357
368
|
initialPath=""
|
|
358
|
-
namePlaceholder=
|
|
369
|
+
namePlaceholder={resource_type}
|
|
359
370
|
kind="resource"
|
|
360
371
|
/>
|
|
361
|
-
<h2 class="mt-4 mb-2">Description</h2>
|
|
362
|
-
|
|
363
|
-
<textarea type="text" autocomplete="off" use:autosize bind:value={description} />
|
|
364
372
|
|
|
365
373
|
{#if apiTokenApps[resource_type]}
|
|
366
374
|
<h2 class="mt-4 mb-2">Instructions</h2>
|
|
@@ -374,20 +382,28 @@ let filteredConnectsManual = [];
|
|
|
374
382
|
</ol>
|
|
375
383
|
</div>
|
|
376
384
|
{#if apiTokenApps[resource_type].img}
|
|
377
|
-
<div class="mt-4 w-full">
|
|
378
|
-
<img class="max-h-
|
|
385
|
+
<div class="mt-4 w-full overflow-hidden">
|
|
386
|
+
<img class="m-auto max-h-60" alt="connect" src={apiTokenApps[resource_type].img} />
|
|
379
387
|
</div>
|
|
380
388
|
{/if}
|
|
381
389
|
{/if}
|
|
390
|
+
{#if resource_type == 'postgresql' || resource_type == 'mysql' || resource_type == 'mongodb'}
|
|
391
|
+
<WhitelistIp />
|
|
392
|
+
{/if}
|
|
382
393
|
|
|
383
|
-
<h2 class="mt-
|
|
394
|
+
<h2 class="mt-4">Value</h2>
|
|
384
395
|
<div class="mt-4">
|
|
385
|
-
|
|
396
|
+
{#key resource_type}
|
|
397
|
+
<ApiConnectForm password={key ?? ''} {resource_type} bind:args bind:isValid />
|
|
398
|
+
{/key}
|
|
386
399
|
</div>
|
|
400
|
+
|
|
401
|
+
<h2 class="mt-4 mb-2">Description</h2>
|
|
402
|
+
<textarea type="text" autocomplete="off" use:autosize bind:value={description} />
|
|
387
403
|
{:else}
|
|
388
404
|
<Path
|
|
389
405
|
initialPath=""
|
|
390
|
-
namePlaceholder=
|
|
406
|
+
namePlaceholder={resource_type}
|
|
391
407
|
bind:error={pathError}
|
|
392
408
|
bind:path
|
|
393
409
|
kind="resource"
|
|
@@ -141,7 +141,7 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
|
|
|
141
141
|
<FieldHeader {label} {required} {type} {contentEncoding} {format} {itemsType} />
|
|
142
142
|
{/if}
|
|
143
143
|
{#if editableSchema}
|
|
144
|
-
<div class="my-1 text-xs border-solid border border-gray-400
|
|
144
|
+
<div class="p-2 my-1 text-xs border-solid border border-gray-400">
|
|
145
145
|
<span
|
|
146
146
|
class="underline"
|
|
147
147
|
on:click={() => {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<script>import { page } from '$app/stores';
|
|
2
|
+
import { userWorkspaces, workspaceStore } from '../stores';
|
|
3
|
+
import { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';
|
|
4
|
+
import Icon from 'svelte-awesome';
|
|
5
|
+
import { slide } from 'svelte/transition';
|
|
6
|
+
import InlineCodeCopy from './InlineCodeCopy.svelte';
|
|
7
|
+
$: opened = false;
|
|
8
|
+
$: workspace = $userWorkspaces.find((e) => e.id === $workspaceStore);
|
|
9
|
+
$: workspaceName = workspace?.name;
|
|
10
|
+
$: workspaceId = workspace?.id;
|
|
11
|
+
$: url = `${$page.url.protocol}//${$page.url.hostname}/`;
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<div class="text-sm mt-2 flex">
|
|
15
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
16
|
+
<span
|
|
17
|
+
class="underline mr-4"
|
|
18
|
+
on:click={() => {
|
|
19
|
+
opened = !opened
|
|
20
|
+
}}
|
|
21
|
+
>
|
|
22
|
+
CLI quick setup
|
|
23
|
+
<Icon class="ml-2" data={opened ? faChevronUp : faChevronDown} scale={0.7} />
|
|
24
|
+
</span>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
{#if opened}
|
|
28
|
+
<div
|
|
29
|
+
transition:slide|local
|
|
30
|
+
class="bg-gray-100 border-l-4 border-gray-600 text-gray-700 p-4 m-4"
|
|
31
|
+
role="alert"
|
|
32
|
+
id="dynamic-input-help-box"
|
|
33
|
+
>
|
|
34
|
+
<ul class="pl-0 list-decimal list-inside">
|
|
35
|
+
<li
|
|
36
|
+
>Install the latest wmill CLI from deno.land: <InlineCodeCopy
|
|
37
|
+
content={'deno install --unstable -A https://deno.land/x/wmill/main.ts'}
|
|
38
|
+
/></li
|
|
39
|
+
>
|
|
40
|
+
<li
|
|
41
|
+
>Setup the wmill cli for this workspace & remote: <InlineCodeCopy
|
|
42
|
+
content={`wmill workspace add ${workspaceName} ${workspaceId} ${url}`}
|
|
43
|
+
/></li
|
|
44
|
+
>
|
|
45
|
+
<li>Follow the prompts in your terminal</li>
|
|
46
|
+
<li>Use the run command above!</li>
|
|
47
|
+
</ul>
|
|
48
|
+
</div>
|
|
49
|
+
{/if}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: Record<string, never>;
|
|
4
|
+
events: {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
};
|
|
7
|
+
slots: {};
|
|
8
|
+
};
|
|
9
|
+
export type CliHelpBoxProps = typeof __propDef.props;
|
|
10
|
+
export type CliHelpBoxEvents = typeof __propDef.events;
|
|
11
|
+
export type CliHelpBoxSlots = typeof __propDef.slots;
|
|
12
|
+
export default class CliHelpBox extends SvelteComponentTyped<CliHelpBoxProps, CliHelpBoxEvents, CliHelpBoxSlots> {
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
<script>import { Highlight } from 'svelte-highlight';
|
|
2
2
|
import { json } from 'svelte-highlight/languages';
|
|
3
3
|
import TableCustom from './TableCustom.svelte';
|
|
4
|
-
import { truncate } from '../utils';
|
|
5
|
-
import { Button } from './common';
|
|
4
|
+
import { copyToClipboard, truncate } from '../utils';
|
|
5
|
+
import { Button, Drawer, DrawerContent } from './common';
|
|
6
6
|
import autosize from 'svelte-autosize';
|
|
7
|
+
import { ClipboardCopy } from 'lucide-svelte';
|
|
7
8
|
export let result;
|
|
9
|
+
export let requireHtmlApproval = false;
|
|
8
10
|
let resultKind;
|
|
9
11
|
$: resultKind = inferResultKind(result);
|
|
10
12
|
let forceJson = false;
|
|
13
|
+
let enableHtml = false;
|
|
11
14
|
function isRectangularArray(obj) {
|
|
12
15
|
if (!Array.isArray(obj) || obj.length == 0) {
|
|
13
16
|
return false;
|
|
@@ -35,9 +38,15 @@ function inferResultKind(result) {
|
|
|
35
38
|
else if (keys.map((k) => Array.isArray(result[k])).reduce((a, b) => a && b)) {
|
|
36
39
|
return 'table-col';
|
|
37
40
|
}
|
|
41
|
+
else if (keys.length == 1 && keys[0] == 'html') {
|
|
42
|
+
return 'html';
|
|
43
|
+
}
|
|
38
44
|
else if (keys.length == 1 && keys[0] == 'png') {
|
|
39
45
|
return 'png';
|
|
40
46
|
}
|
|
47
|
+
else if (keys.length == 1 && keys[0] == 'svg') {
|
|
48
|
+
return 'svg';
|
|
49
|
+
}
|
|
41
50
|
else if (keys.length == 1 && keys[0] == 'jpeg') {
|
|
42
51
|
return 'jpeg';
|
|
43
52
|
}
|
|
@@ -47,6 +56,9 @@ function inferResultKind(result) {
|
|
|
47
56
|
else if (keys.length == 1 && keys[0] == 'error') {
|
|
48
57
|
return 'error';
|
|
49
58
|
}
|
|
59
|
+
else if (keys.length === 2 && keys.includes('file') && keys.includes('filename')) {
|
|
60
|
+
return 'filename';
|
|
61
|
+
}
|
|
50
62
|
else if (keys.length == 3 &&
|
|
51
63
|
keys.includes('resume') &&
|
|
52
64
|
keys.includes('cancel') &&
|
|
@@ -59,16 +71,35 @@ function inferResultKind(result) {
|
|
|
59
71
|
return 'json';
|
|
60
72
|
}
|
|
61
73
|
let payload = '';
|
|
74
|
+
let jsonViewer;
|
|
62
75
|
</script>
|
|
63
76
|
|
|
77
|
+
<Drawer bind:this={jsonViewer} size="900px">
|
|
78
|
+
<DrawerContent title="Expanded Result" on:close={jsonViewer.closeDrawer}>
|
|
79
|
+
<svelte:fragment slot="actions">
|
|
80
|
+
<Button
|
|
81
|
+
on:click={() => copyToClipboard(JSON.stringify(result, null, 4))}
|
|
82
|
+
color="light"
|
|
83
|
+
size="xs"
|
|
84
|
+
>
|
|
85
|
+
<div class="flex gap-2 items-center">Copy to clipboard <ClipboardCopy /> </div>
|
|
86
|
+
</Button>
|
|
87
|
+
</svelte:fragment>
|
|
88
|
+
<Highlight language={json} code={JSON.stringify(result, null, 4).replace(/\\n/g, '\n')} />
|
|
89
|
+
</DrawerContent>
|
|
90
|
+
</Drawer>
|
|
91
|
+
|
|
64
92
|
<div class="inline-highlight">
|
|
65
93
|
{#if result != undefined}
|
|
66
94
|
{#if resultKind && resultKind != 'json'}
|
|
67
95
|
<div class="mb-2 text-gray-500 text-sm bg-gray-50/20">
|
|
68
|
-
as JSON <input type="checkbox" bind:checked={forceJson} /></div
|
|
96
|
+
as JSON <input class="windmillapp" type="checkbox" bind:checked={forceJson} /></div
|
|
69
97
|
>{/if}{#if typeof result == 'object' && Object.keys(result).length > 0}<div
|
|
70
|
-
class="mb-2 text-sm text-gray-700"
|
|
71
|
-
>The result keys are: <b>{truncate(Object.keys(result).join(', '), 50)}</b
|
|
98
|
+
class="mb-2 min-w-[400px] text-sm text-gray-700 relative"
|
|
99
|
+
>The result keys are: <b>{truncate(Object.keys(result).join(', '), 50)}</b>
|
|
100
|
+
<div class="text-gray-500 text-sm absolute top-0 right-2">
|
|
101
|
+
<button on:click={jsonViewer.openDrawer}>Expand JSON</button>
|
|
102
|
+
</div></div
|
|
72
103
|
>{/if}{#if !forceJson && resultKind == 'table-col'}<div
|
|
73
104
|
class="grid grid-flow-col-dense border border-gray-200 rounded-md "
|
|
74
105
|
>
|
|
@@ -104,6 +135,34 @@ let payload = '';
|
|
|
104
135
|
</tbody>
|
|
105
136
|
</TableCustom>
|
|
106
137
|
</div>
|
|
138
|
+
{:else if !forceJson && resultKind == 'html'}
|
|
139
|
+
<div class="h-full">
|
|
140
|
+
{#if !requireHtmlApproval || enableHtml}
|
|
141
|
+
{@html result.html}
|
|
142
|
+
{:else}
|
|
143
|
+
<div class="font-main text-sm">
|
|
144
|
+
<div class="flex flex-col">
|
|
145
|
+
<div class="bg-red-400 py-1 rounded-t text-white font-bold text-center">
|
|
146
|
+
Warning
|
|
147
|
+
</div>
|
|
148
|
+
<p
|
|
149
|
+
class="text-gray-600 mb-2 text-left border-2 !border-t-0 rounded-b border-red-400 overflow-auto p-1"
|
|
150
|
+
>Rendering HTML can expose you to <a
|
|
151
|
+
href="https://owasp.org/www-community/attacks/xss/"
|
|
152
|
+
target="_blank"
|
|
153
|
+
rel="noreferrer"
|
|
154
|
+
class="hover:underline">XSS attacks</a
|
|
155
|
+
>. Only enable it if you trust the author of the script.
|
|
156
|
+
</p>
|
|
157
|
+
</div>
|
|
158
|
+
<div class="center-center">
|
|
159
|
+
<Button size="sm" color="dark" on:click={() => (enableHtml = true)}>
|
|
160
|
+
Enable HTML rendering
|
|
161
|
+
</Button>
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
{/if}
|
|
165
|
+
</div>
|
|
107
166
|
{:else if !forceJson && resultKind == 'png'}
|
|
108
167
|
<div class="h-full"
|
|
109
168
|
><img alt="png rendered" class="w-auto h-full" src="data:image/png;base64,{result.png}" />
|
|
@@ -116,6 +175,11 @@ let payload = '';
|
|
|
116
175
|
src="data:image/jpeg;base64,{result.jpeg}"
|
|
117
176
|
/>
|
|
118
177
|
</div>
|
|
178
|
+
{:else if !forceJson && resultKind == 'svg'}
|
|
179
|
+
<div
|
|
180
|
+
><a download="windmill.svg" href="data:text/plain;base64,{btoa(result.svg)}">Download</a>
|
|
181
|
+
</div>
|
|
182
|
+
<div class="h-full overflow-auto">{@html result.svg} </div>
|
|
119
183
|
{:else if !forceJson && resultKind == 'gif'}
|
|
120
184
|
<div class="h-full"
|
|
121
185
|
><img alt="gif rendered" class="w-auto h-full" src="data:image/gif;base64,{result.gif}" />
|
|
@@ -126,8 +190,14 @@ let payload = '';
|
|
|
126
190
|
>Download</a
|
|
127
191
|
>
|
|
128
192
|
</div>
|
|
193
|
+
{:else if !forceJson && resultKind === 'filename'}
|
|
194
|
+
<div>
|
|
195
|
+
<a download={result.filename} href="data:application/octet-stream;base64,{result.file}">
|
|
196
|
+
Download
|
|
197
|
+
</a>
|
|
198
|
+
</div>
|
|
129
199
|
{:else if !forceJson && resultKind == 'error'}<div>
|
|
130
|
-
<span class="text-red-500 font-semibold text-sm"
|
|
200
|
+
<span class="text-red-500 font-semibold text-sm whitespace-pre-wrap"
|
|
131
201
|
>{result.error.name}: {result.error.message}</span
|
|
132
202
|
>
|
|
133
203
|
<pre class="text-sm whitespace-pre-wrap text-gray-900">{result.error.stack ?? ''}</pre>
|
|
@@ -157,10 +227,8 @@ let payload = '';
|
|
|
157
227
|
><a rel="noreferrer" target="_blank" href={result['approvalPage']}>Approval Page</a></div
|
|
158
228
|
>
|
|
159
229
|
</div>
|
|
160
|
-
{:else}
|
|
161
|
-
|
|
162
|
-
code={JSON.stringify(result, null, 4).replace(/\\n/g, '\n')}
|
|
163
|
-
/>
|
|
230
|
+
{:else}
|
|
231
|
+
<Highlight language={json} code={JSON.stringify(result, null, 4).replace(/\\n/g, '\n')} />
|
|
164
232
|
{/if}
|
|
165
233
|
{:else}
|
|
166
234
|
<div class="text-gray-500 text-sm">No result</div>
|
package/components/Editor.svelte
CHANGED
|
@@ -102,8 +102,16 @@ export function insertAtLine(code, line) {
|
|
|
102
102
|
}
|
|
103
103
|
export function setCode(ncode) {
|
|
104
104
|
code = ncode;
|
|
105
|
-
if (editor) {
|
|
106
|
-
editor.setValue(ncode)
|
|
105
|
+
if (editor?.getModel()) {
|
|
106
|
+
// editor.setValue(ncode)
|
|
107
|
+
editor.pushUndoStop();
|
|
108
|
+
editor.executeEdits('set', [
|
|
109
|
+
{
|
|
110
|
+
range: editor.getModel().getFullModelRange(),
|
|
111
|
+
text: ncode
|
|
112
|
+
}
|
|
113
|
+
]);
|
|
114
|
+
editor.pushUndoStop();
|
|
107
115
|
}
|
|
108
116
|
}
|
|
109
117
|
export function format() {
|
|
@@ -246,8 +254,9 @@ export async function reloadWebsocket() {
|
|
|
246
254
|
console.error(`connection to ${name} language server failed`);
|
|
247
255
|
}
|
|
248
256
|
}
|
|
257
|
+
const wsProtocol = $page.url.protocol == 'https:' ? 'wss' : 'ws';
|
|
249
258
|
if (lang == 'typescript') {
|
|
250
|
-
await connectToLanguageServer(
|
|
259
|
+
await connectToLanguageServer(`${wsProtocol}://${$page.url.host}/ws/deno`, 'deno', {
|
|
251
260
|
certificateStores: null,
|
|
252
261
|
enablePaths: [],
|
|
253
262
|
config: null,
|
|
@@ -279,7 +288,7 @@ export async function reloadWebsocket() {
|
|
|
279
288
|
});
|
|
280
289
|
}
|
|
281
290
|
else if (lang === 'python') {
|
|
282
|
-
await connectToLanguageServer(
|
|
291
|
+
await connectToLanguageServer(`${wsProtocol}://${$page.url.host}/ws/pyright`, 'pyright', {
|
|
283
292
|
executionEnvironments: [
|
|
284
293
|
{
|
|
285
294
|
root: '/tmp/pyright',
|
|
@@ -289,7 +298,7 @@ export async function reloadWebsocket() {
|
|
|
289
298
|
}
|
|
290
299
|
]
|
|
291
300
|
});
|
|
292
|
-
connectToLanguageServer(
|
|
301
|
+
connectToLanguageServer(`${wsProtocol}://${$page.url.host}/ws/black`, 'black', {
|
|
293
302
|
formatters: {
|
|
294
303
|
black: {
|
|
295
304
|
command: 'black',
|
|
@@ -302,7 +311,7 @@ export async function reloadWebsocket() {
|
|
|
302
311
|
});
|
|
303
312
|
}
|
|
304
313
|
else if (lang === 'go') {
|
|
305
|
-
connectToLanguageServer(
|
|
314
|
+
connectToLanguageServer(`${wsProtocol}://${$page.url.host}/ws/go`, 'go', {
|
|
306
315
|
'build.allowImplicitNetworkAccess': true
|
|
307
316
|
});
|
|
308
317
|
}
|
|
@@ -355,7 +364,8 @@ async function loadMonaco() {
|
|
|
355
364
|
const model = meditor.createModel(code, lang, mUri.parse(uri));
|
|
356
365
|
model.updateOptions(updateOptions);
|
|
357
366
|
editor = meditor.create(divEl, {
|
|
358
|
-
...editorConfig(model, code, lang, automaticLayout, fixedOverflowWidgets)
|
|
367
|
+
...editorConfig(model, code, lang, automaticLayout, fixedOverflowWidgets),
|
|
368
|
+
tabSize: lang == 'python' ? 4 : 2
|
|
359
369
|
});
|
|
360
370
|
let timeoutModel = undefined;
|
|
361
371
|
editor.onDidChangeModelContent((event) => {
|