windmill-components 1.309.6 → 1.339.2
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/package/assets/app.css +22 -1
- package/package/autosize.js +1 -1
- package/package/common.d.ts +8 -0
- package/package/common.js +5 -1
- package/package/components/AllFlowLogs.svelte +30 -0
- package/package/components/AllFlowLogs.svelte.d.ts +18 -0
- package/package/components/ApiConnectForm.svelte +10 -4
- package/package/components/AppConnectDrawer.svelte +74 -0
- package/package/components/AppConnectDrawer.svelte.d.ts +20 -0
- package/package/components/AppConnectInner.svelte +513 -0
- package/package/components/AppConnectInner.svelte.d.ts +28 -0
- package/package/components/ArgInfo.svelte +19 -3
- package/package/components/ArgInput.svelte +73 -16
- package/package/components/ArgInput.svelte.d.ts +4 -0
- package/package/components/ConcurrentJobsChart.svelte +212 -0
- package/package/components/ConcurrentJobsChart.svelte.d.ts +23 -0
- package/package/components/CustomOauth.svelte +2 -2
- package/package/components/DateInput.svelte +47 -0
- package/package/components/DateInput.svelte.d.ts +24 -0
- package/package/components/DateTimeInput.svelte +25 -3
- package/package/components/DefaultScripts.svelte +5 -8
- package/package/components/DefaultTags.svelte +3 -2
- package/package/components/DefaultTags.svelte.d.ts +3 -1
- package/package/components/DefaultTagsInner.svelte +1 -10
- package/package/components/DefaultTagsInner.svelte.d.ts +3 -1
- package/package/components/Dev.svelte +70 -9
- package/package/components/DiffEditor.svelte +3 -0
- package/package/components/DisplayResult.svelte +186 -123
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/DropdownV2.svelte.d.ts +2 -2
- package/package/components/EditableSchemaForm.svelte +3 -0
- package/package/components/Editor.svelte +110 -93
- package/package/components/Editor.svelte.d.ts +4 -2
- package/package/components/EditorBar.svelte +99 -8
- package/package/components/EditorBar.svelte.d.ts +0 -1
- package/package/components/ErrorOrRecoveryHandler.svelte +0 -1
- package/package/components/FlowGraphViewer.svelte +1 -0
- package/package/components/FlowGraphViewerStep.svelte +19 -1
- package/package/components/FlowJobResult.svelte +13 -0
- package/package/components/FlowJobResult.svelte.d.ts +3 -0
- package/package/components/FlowMetadata.svelte +40 -35
- package/package/components/FlowMetadata.svelte.d.ts +3 -1
- package/package/components/FlowPreviewContent.svelte +13 -6
- package/package/components/FlowStatusViewerInner.svelte +46 -2
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InputTransformForm.svelte +3 -0
- package/package/components/InstanceSettings.svelte +163 -16
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobLogs.svelte +12 -0
- package/package/components/JobLogs.svelte.d.ts +16 -0
- package/package/components/JobStatus.svelte +1 -1
- package/package/components/Label.svelte +1 -1
- package/package/components/Label.svelte.d.ts +1 -0
- package/package/components/LightweightArgInput.svelte +294 -268
- package/package/components/LightweightArgInput.svelte.d.ts +3 -0
- package/package/components/LightweightResourcePicker.svelte +74 -26
- package/package/components/LightweightSchemaForm.svelte +25 -24
- package/package/components/LogViewer.svelte +52 -15
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/Login.svelte +288 -0
- package/package/components/Login.svelte.d.ts +19 -0
- package/package/components/ModulePreviewForm.svelte +3 -0
- package/package/components/NoMainFuncBadge.svelte +8 -0
- package/package/components/NoMainFuncBadge.svelte.d.ts +14 -0
- package/package/components/OauthExtraParams.svelte +1 -1
- package/package/components/OauthScopes.svelte +1 -1
- package/package/components/ObjectStoreConfigSettings.svelte +12 -1
- package/package/components/ObjectStoreConfigSettings.svelte.d.ts +1 -0
- package/package/components/ParqetTableRenderer.svelte +12 -16
- package/package/components/Password.svelte +1 -0
- package/package/components/Password.svelte.d.ts +2 -0
- package/package/components/PasswordArgInput.svelte +49 -0
- package/package/components/PasswordArgInput.svelte.d.ts +17 -0
- package/package/components/PropertyRow.svelte +10 -2
- package/package/components/QueueMetricsDrawer.svelte +225 -0
- package/package/components/QueueMetricsDrawer.svelte.d.ts +18 -0
- package/package/components/ResourceEditor.svelte +1 -0
- package/package/components/ResourcePicker.svelte +3 -7
- package/package/components/ResultJobLoader.svelte +2 -2
- package/package/components/ResultJobLoader.svelte.d.ts +9 -9
- package/package/components/S3FilePicker.svelte +1 -1
- package/package/components/SavedInputs.svelte +49 -13
- package/package/components/ScheduleEditorInner.svelte +255 -228
- package/package/components/SchemaEditor.svelte +5 -3
- package/package/components/SchemaEditor.svelte.d.ts +2 -0
- package/package/components/SchemaForm.svelte +5 -0
- package/package/components/SchemaForm.svelte.d.ts +1 -0
- package/package/components/SchemaModal.svelte +101 -8
- package/package/components/SchemaModal.svelte.d.ts +2 -0
- package/package/components/ScriptBuilder.svelte +15 -8
- package/package/components/ScriptBuilder.svelte.d.ts +1 -0
- package/package/components/ScriptEditor.svelte +1 -2
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/SimpleEditor.svelte +4 -1
- package/package/components/StringTypeNarrowing.svelte +43 -24
- package/package/components/StringTypeNarrowing.svelte.d.ts +1 -0
- package/package/components/TemplateEditor.svelte +1 -0
- package/package/components/TestJobLoader.svelte +14 -5
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/Toggle.svelte +1 -1
- package/package/components/Tooltip.svelte +8 -2
- package/package/components/Tooltip.svelte.d.ts +1 -0
- package/package/components/WorkspaceGroup.svelte +74 -9
- package/package/components/WorkspaceGroup.svelte.d.ts +1 -0
- package/package/components/app_connect.d.ts +7 -0
- package/package/components/app_connect.js +78 -0
- package/package/components/apps/components/buttons/AppButton.svelte +0 -1
- package/package/components/apps/components/display/AppAlert.svelte +1 -1
- package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
- package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -2
- package/package/components/apps/components/display/AppDownload.svelte +1 -1
- package/package/components/apps/components/display/AppIcon.svelte +1 -1
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +2 -2
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte +3 -3
- package/package/components/apps/components/display/AppMap.svelte +3 -2
- package/package/components/apps/components/display/AppMenu.svelte +1 -1
- package/package/components/apps/components/display/AppPdf.svelte +3 -11
- package/package/components/apps/components/display/AppText.svelte +7 -2
- package/package/components/apps/components/display/charts/AppAgCharts.svelte +6 -3
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +32 -30
- package/package/components/apps/components/display/dbtable/InsertRow.svelte +3 -6
- package/package/components/apps/components/display/dbtable/queries/delete.js +1 -1
- package/package/components/apps/components/display/dbtable/queries/insert.js +1 -12
- package/package/components/apps/components/display/dbtable/queries/select.js +1 -1
- package/package/components/apps/components/display/dbtable/queries/update.js +2 -2
- package/package/components/apps/components/display/dbtable/utils.d.ts +0 -1
- package/package/components/apps/components/display/dbtable/utils.js +0 -83
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -44
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +5 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +172 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +27 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +38 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +28 -0
- package/package/components/apps/components/display/table/AppAggridTable.svelte +189 -56
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +11 -2
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/AppCell.svelte +1 -3
- package/package/components/apps/components/display/table/AppTable.svelte +320 -281
- package/package/components/apps/components/display/table/AppTableFooter.svelte +42 -23
- package/package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -2
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +119 -0
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +21 -0
- package/package/components/apps/components/display/table/theme/windmill-theme.css +656 -0
- package/package/components/apps/components/display/table/utils.js +22 -0
- package/package/components/apps/components/helpers/DebouncedInput.svelte +3 -2
- package/package/components/apps/components/helpers/NonRunnableComponent.svelte +35 -0
- package/package/components/apps/components/helpers/RefreshButton.svelte +30 -12
- package/package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -3
- package/package/components/apps/components/helpers/RefreshIndicator.svelte +19 -0
- package/package/components/apps/components/helpers/RefreshIndicator.svelte.d.ts +16 -0
- package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +86 -35
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +8 -5
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +7 -1
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +5 -0
- package/package/components/apps/components/inputs/AppDateInput.svelte +5 -1
- package/package/components/apps/components/inputs/AppFileInput.svelte +11 -2
- package/package/components/apps/components/inputs/AppMultiSelect.svelte +56 -50
- package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +178 -0
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte.d.ts +24 -0
- package/package/components/apps/components/inputs/AppNumberInput.svelte +1 -1
- package/package/components/apps/components/inputs/AppQuillEditor.svelte +26 -0
- package/package/components/apps/components/inputs/AppRangeInput.svelte +38 -37
- package/package/components/apps/components/inputs/AppSelect.svelte +21 -10
- package/package/components/apps/components/inputs/AppSliderInputs.svelte +26 -31
- package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
- package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +7 -2
- package/package/components/apps/components/layout/AppContainer.svelte +1 -1
- package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
- package/package/components/apps/components/layout/AppDrawer.svelte +16 -3
- package/package/components/apps/components/layout/AppDrawer.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppModal.svelte +85 -79
- package/package/components/apps/components/layout/AppModal.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppStepper.svelte +2 -1
- package/package/components/apps/components/layout/AppTabs.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +3 -2
- package/package/components/apps/editor/AppEditorHeader.svelte +62 -31
- package/package/components/apps/editor/AppInputs.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +18 -7
- package/package/components/apps/editor/ComponentHeader.svelte +37 -1
- package/package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
- package/package/components/apps/editor/GridEditor.svelte +15 -6
- package/package/components/apps/editor/GridEditorMenu.svelte +120 -49
- package/package/components/apps/editor/GridViewer.svelte +14 -5
- package/package/components/apps/editor/GridViewer.svelte.d.ts +5 -1
- package/package/components/apps/editor/RecomputeAllComponents.svelte +17 -3
- package/package/components/apps/editor/RunnableJobPanel.svelte +9 -5
- package/package/components/apps/editor/SettingsPanel.svelte +6 -2
- package/package/components/apps/editor/SubGridEditor.svelte +44 -27
- package/package/components/apps/editor/appUtils.d.ts +6 -1
- package/package/components/apps/editor/appUtils.js +85 -7
- package/package/components/apps/editor/component/Component.svelte +78 -2
- package/package/components/apps/editor/component/Component.svelte.d.ts +3 -0
- package/package/components/apps/editor/component/components.d.ts +274 -21
- package/package/components/apps/editor/component/components.js +176 -12
- package/package/components/apps/editor/component/default-codes.d.ts +1 -1
- package/package/components/apps/editor/component/default-codes.js +241 -9
- package/package/components/apps/editor/component/sets.d.ts +3 -0
- package/package/components/apps/editor/component/sets.js +12 -2
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +15 -2
- package/package/components/apps/editor/componentsPanel/componentControlUtils.js +4 -2
- package/package/components/apps/editor/componentsPanel/cssUtils.js +1 -1
- package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +5 -0
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -5
- package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +46 -6
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
- package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +8 -5
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +54 -4
- package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +61 -0
- package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +16 -0
- package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +12 -10
- package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte +29 -32
- package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte.d.ts +0 -5
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +27 -25
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +24 -3
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +27 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/Recompute.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/StylePanel.svelte +4 -3
- package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +3 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +1 -0
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -4
- package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +6 -3
- package/package/components/apps/inputType.d.ts +4 -0
- package/package/components/apps/rx.d.ts +1 -1
- package/package/components/apps/rx.js +7 -0
- package/package/components/apps/svelte-grid/Grid.svelte +13 -4
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +2 -1
- package/package/components/apps/svelte-grid/types.d.ts +1 -0
- package/package/components/apps/svelte-grid/utils/helper.js +1 -0
- package/package/components/apps/svelte-grid/utils/overlap.d.ts +3 -0
- package/package/components/apps/svelte-grid/utils/overlap.js +21 -0
- package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
- package/package/components/apps/svelte-select/lib/tailwind.css +1 -1
- package/package/components/apps/types.d.ts +1 -0
- package/package/components/apps/utils.js +13 -3
- package/package/components/auditLogs/AuditLogsTable.svelte +5 -2
- package/package/components/build_workers.js +1 -0
- package/package/components/common/alert/Alert.svelte +17 -17
- package/package/components/common/badge/Badge.svelte +6 -3
- package/package/components/common/badge/model.d.ts +1 -1
- package/package/components/common/button/Button.svelte +22 -14
- package/package/components/common/calendarPicker/CalendarPicker.svelte +2 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -0
- package/package/components/common/drawer/ConditionalPortal.svelte +9 -0
- package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +18 -0
- package/package/components/common/drawer/Disposable.svelte +66 -0
- package/package/components/common/drawer/Disposable.svelte.d.ts +36 -0
- package/package/components/common/drawer/Drawer.svelte +29 -55
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -1
- package/package/components/common/fileInput/FileInput.svelte +3 -3
- package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
- package/package/components/common/fileUpload/FileUpload.svelte +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/table/RowIcon.svelte +4 -4
- package/package/components/common/table/ScriptRow.svelte +12 -1
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +45 -0
- package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +24 -0
- package/package/components/copilot/CronGen.svelte +2 -2
- package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
- package/package/components/copilot/RegexGen.svelte +17 -39
- package/package/components/copilot/ScriptGen.svelte +14 -5
- package/package/components/copilot/StepInputGen.svelte +2 -1
- package/package/components/copilot/StepInputsGen.svelte +2 -1
- package/package/components/copilot/completion.js +60 -9
- package/package/components/copilot/lib.js +5 -3
- package/package/components/copilot/prompts/edit.yaml +24 -0
- package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/editPrompt.js +3 -0
- package/package/components/copilot/prompts/fix.yaml +25 -0
- package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/fixPrompt.js +3 -0
- package/package/components/copilot/prompts/gen.yaml +20 -0
- package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
- package/package/components/copilot/prompts/genPrompt.js +3 -0
- package/package/components/copilot/utils.d.ts +2 -1
- package/package/components/copilot/utils.js +38 -0
- package/package/components/details/createAppFromScript.d.ts +26 -0
- package/package/components/details/createAppFromScript.js +50 -24
- package/package/components/flows/CreateActionsApp.svelte +1 -0
- package/package/components/flows/CreateActionsFlow.svelte +1 -0
- package/package/components/flows/content/FlowInputs.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +15 -6
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
- package/package/components/flows/flowExplorer.js +4 -1
- package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +3 -0
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
- package/package/components/flows/map/MapItem.svelte +2 -0
- package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
- package/package/components/graph/FlowGraph.svelte +1 -0
- package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +41 -16
- package/package/components/home/ItemsList.svelte +44 -9
- package/package/components/home/TreeView.svelte +2 -0
- package/package/components/icons/AzureIcon.svelte +25 -1
- package/package/components/icons/PHPIcon.svelte +117 -0
- package/package/components/icons/PHPIcon.svelte.d.ts +17 -0
- package/package/components/instanceSettings.d.ts +1 -1
- package/package/components/instanceSettings.js +18 -2
- package/package/components/jobs/JobPreview.svelte +5 -0
- package/package/components/multiselect/MultiSelect.svelte +782 -0
- package/package/components/multiselect/MultiSelect.svelte.d.ts +97 -0
- package/package/components/multiselect/types.d.ts +56 -0
- package/package/components/multiselect/types.js +1 -0
- package/package/components/multiselect/utils.d.ts +7 -0
- package/package/components/multiselect/utils.js +54 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +14 -1
- package/package/components/runs/JobLoader.svelte +135 -17
- package/package/components/runs/JobLoader.svelte.d.ts +7 -2
- package/package/components/runs/JobPreview.svelte +39 -3
- package/package/components/runs/JobPreview.svelte.d.ts +2 -0
- package/package/components/runs/RunRow.svelte +78 -31
- package/package/components/runs/RunRow.svelte.d.ts +3 -0
- package/package/components/runs/RunsFilter.svelte +125 -9
- package/package/components/runs/RunsFilter.svelte.d.ts +4 -2
- package/package/components/runs/RunsTable.svelte +53 -5
- package/package/components/runs/RunsTable.svelte.d.ts +6 -0
- package/package/components/scriptEditor/LogPanel.svelte +46 -33
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
- package/package/components/scripts/CreateActionsScript.svelte +1 -1
- package/package/components/settings/WorkspaceUserSettings.svelte +246 -226
- package/package/components/sidebar/MenuButton.svelte +1 -1
- package/package/components/sidebar/MenuLink.svelte +1 -1
- package/package/components/sidebar/changelogs.js +40 -0
- package/package/components/table/AutoDataTable.svelte +77 -102
- package/package/components/table/DataTable.svelte +13 -5
- package/package/components/table/DataTable.svelte.d.ts +1 -0
- package/package/components/vscode.js +1 -1
- package/package/components/wizards/AgGridWizard.svelte +27 -2
- package/package/components/wizards/AgGridWizard.svelte.d.ts +1 -0
- package/package/consts.js +5 -1
- package/package/defaults.d.ts +2 -2
- package/package/defaults.js +2 -2
- package/package/deno_fetch.d.ts.txt +30 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +5 -6
- package/package/gen/core/request.js +4 -1
- package/package/gen/index.d.ts +0 -1
- package/package/gen/index.js +0 -1
- package/package/gen/schemas.gen.d.ts +97 -428
- package/package/gen/schemas.gen.js +97 -433
- package/package/gen/services.gen.d.ts +3087 -1840
- package/package/gen/services.gen.js +3442 -2358
- package/package/gen/types.gen.d.ts +5048 -1505
- package/package/infer.d.ts +1 -1
- package/package/infer.js +6 -2
- package/package/inferArgSig.js +5 -2
- package/package/init_scripts/python_init_code.d.ts +1 -1
- package/package/init_scripts/python_init_code.js +1 -1
- package/package/process.d.ts.txt +1770 -0
- package/package/script_helpers.d.ts +3 -2
- package/package/script_helpers.js +28 -3
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +4 -0
- package/package/utils.d.ts +3 -0
- package/package/utils.js +46 -3
- package/package/windmill_fetch.d.ts.txt +16966 -0
- package/package/zIndexes.d.ts +12 -0
- package/package/zIndexes.js +12 -0
- package/package.json +5 -5
- package/package/components/AppConnect.svelte +0 -566
- package/package/components/AppConnect.svelte.d.ts +0 -23
- package/package/components/ContextMenu.svelte +0 -89
- package/package/components/ContextMenu.svelte.d.ts +0 -28
- package/package/components/apps/components/display/index.d.ts +0 -17
- package/package/components/apps/components/display/index.js +0 -17
- package/package/components/apps/components/helpers/index.d.ts +0 -10
- package/package/components/apps/components/helpers/index.js +0 -10
- package/package/components/apps/components/index.d.ts +0 -5
- package/package/components/apps/components/index.js +0 -5
|
@@ -39,3 +39,25 @@ export function cellRendererFactory(svelteComponent) {
|
|
|
39
39
|
}
|
|
40
40
|
return Renderer;
|
|
41
41
|
}
|
|
42
|
+
export function isLinkObject(value) {
|
|
43
|
+
return value && typeof value === 'object' && 'href' in value && 'label' in value;
|
|
44
|
+
}
|
|
45
|
+
export function defaultCellRenderer(cellRendererType) {
|
|
46
|
+
if (cellRendererType === 'link') {
|
|
47
|
+
return (params) => {
|
|
48
|
+
if (isLinkObject(params.value)) {
|
|
49
|
+
const value = params.value;
|
|
50
|
+
return `<a href=${value.href} class="underline" target="_blank">${value.label}</a>`;
|
|
51
|
+
}
|
|
52
|
+
else if (params.value) {
|
|
53
|
+
return `<a href=${params.value} class="underline" target="_blank">${params.value}</a>`;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return params.value;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<script>
|
|
1
|
+
<script>import { twMerge } from 'tailwind-merge';
|
|
2
|
+
export let placeholder = 'Search...';
|
|
2
3
|
// Using 'any' so 'type="number"' can be passed to the input
|
|
3
4
|
// which should return a number
|
|
4
5
|
export let value;
|
|
@@ -20,6 +21,6 @@ function debounce(event) {
|
|
|
20
21
|
on:pointerdown|stopPropagation
|
|
21
22
|
on:keyup={debounce}
|
|
22
23
|
on:keydown|stopPropagation
|
|
23
|
-
class={parentClass}
|
|
24
|
+
class={twMerge(parentClass, 'mb-1 h-8 !rounded-md !shadow-none')}
|
|
24
25
|
{...$$restProps}
|
|
25
26
|
/>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
2
|
import InputValue from './InputValue.svelte';
|
|
3
3
|
import InitializeComponent from './InitializeComponent.svelte';
|
|
4
|
+
import RefreshIndicator from './RefreshIndicator.svelte';
|
|
4
5
|
export let componentInput;
|
|
5
6
|
export let id;
|
|
6
7
|
export let result;
|
|
@@ -14,6 +15,37 @@ function setOutput(v) {
|
|
|
14
15
|
// console.log('setnr', id)
|
|
15
16
|
outputs?.result?.set(v, true);
|
|
16
17
|
}
|
|
18
|
+
let loading = false;
|
|
19
|
+
let loadingStates = {};
|
|
20
|
+
let subscriptions = [];
|
|
21
|
+
function updateGlobalLoading() {
|
|
22
|
+
loading = Object.values(loadingStates).some((state) => state === true);
|
|
23
|
+
}
|
|
24
|
+
function builtSubscriptions(connections) {
|
|
25
|
+
// If we are rebuilding the subscriptions, we need to unsubscribe from the previous ones
|
|
26
|
+
if (subscriptions.length > 0) {
|
|
27
|
+
subscriptions.forEach((unsubscribe) => unsubscribe?.());
|
|
28
|
+
subscriptions = [];
|
|
29
|
+
loadingStates = {};
|
|
30
|
+
loading = false;
|
|
31
|
+
}
|
|
32
|
+
connections.forEach((connection) => {
|
|
33
|
+
const output = $worldStore.outputsById[connection.componentId];
|
|
34
|
+
if (output?.loading?.subscribe) {
|
|
35
|
+
const unsubscribe = output.loading.subscribe({
|
|
36
|
+
id: `loading-${connection.componentId}`,
|
|
37
|
+
next: (isConnectionLoading) => {
|
|
38
|
+
loadingStates[connection.componentId] = isConnectionLoading;
|
|
39
|
+
updateGlobalLoading();
|
|
40
|
+
}
|
|
41
|
+
}, loadingStates[connection.componentId]);
|
|
42
|
+
subscriptions.push(unsubscribe);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
$: componentInput.type === 'evalv2' &&
|
|
47
|
+
componentInput.connections &&
|
|
48
|
+
builtSubscriptions(componentInput.connections);
|
|
17
49
|
$: result != undefined && outputs && setOutput(result);
|
|
18
50
|
</script>
|
|
19
51
|
|
|
@@ -28,6 +60,9 @@ $: result != undefined && outputs && setOutput(result);
|
|
|
28
60
|
{#if render || hasChildrens}
|
|
29
61
|
<div class={render ? 'h-full w-full' : 'invisible h-0 overflow-hidden'}>
|
|
30
62
|
<slot />
|
|
63
|
+
<div class="flex absolute top-1 right-1 z-50 app-component-refresh-btn">
|
|
64
|
+
<RefreshIndicator {loading} />
|
|
65
|
+
</div>
|
|
31
66
|
</div>
|
|
32
67
|
{:else}
|
|
33
68
|
<div class="w-full h-full" />
|
|
@@ -1,17 +1,35 @@
|
|
|
1
|
-
<script>import {
|
|
1
|
+
<script>import { Button } from '../../../common';
|
|
2
|
+
import { LoaderIcon, RefreshCw } from 'lucide-svelte';
|
|
2
3
|
import { getContext } from 'svelte';
|
|
3
|
-
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
import Popover from '../../../Popover.svelte';
|
|
6
|
+
export let id;
|
|
4
7
|
export let loading;
|
|
5
8
|
const { runnableComponents } = getContext('AppViewerContext');
|
|
6
|
-
async function refresh() {
|
|
7
|
-
await $runnableComponents[componentId]?.cb?.map((cb) => cb());
|
|
8
|
-
}
|
|
9
9
|
</script>
|
|
10
10
|
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
<Popover>
|
|
12
|
+
<Button
|
|
13
|
+
startIcon={{
|
|
14
|
+
icon: loading ? LoaderIcon : RefreshCw,
|
|
15
|
+
classes: twMerge(
|
|
16
|
+
loading ? 'animate-spin text-blue-800' : '',
|
|
17
|
+
'transition-all text-gray-500 dark:text-white'
|
|
18
|
+
)
|
|
19
|
+
}}
|
|
20
|
+
color="light"
|
|
21
|
+
size="xs2"
|
|
22
|
+
btnClasses={twMerge(loading ? ' bg-blue-100 dark:bg-blue-400' : '', 'transition-all')}
|
|
23
|
+
on:click={() => {
|
|
24
|
+
$runnableComponents[id]?.cb?.map((cb) => cb())
|
|
25
|
+
}}
|
|
26
|
+
iconOnly
|
|
27
|
+
/>
|
|
28
|
+
<svelte:fragment slot="text">
|
|
29
|
+
{#if loading}
|
|
30
|
+
Refreshing...
|
|
31
|
+
{:else}
|
|
32
|
+
Refresh
|
|
33
|
+
{/if}
|
|
34
|
+
</svelte:fragment>
|
|
35
|
+
</Popover>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script>import { LoaderIcon } from 'lucide-svelte';
|
|
2
|
+
import Popover from '../../../Popover.svelte';
|
|
3
|
+
export let loading;
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
{#if loading}
|
|
7
|
+
<Popover>
|
|
8
|
+
<div class={'bg-blue-100 dark:bg-blue-400 transition-all p-1 rounded-component'}>
|
|
9
|
+
<LoaderIcon size={14} class="animate-spin text-blue-800 dark:text-white" />
|
|
10
|
+
</div>
|
|
11
|
+
<svelte:fragment slot="text">
|
|
12
|
+
{#if loading}
|
|
13
|
+
Refreshing...
|
|
14
|
+
{:else}
|
|
15
|
+
Refresh
|
|
16
|
+
{/if}
|
|
17
|
+
</svelte:fragment>
|
|
18
|
+
</Popover>
|
|
19
|
+
{/if}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
loading: boolean;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type RefreshIndicatorProps = typeof __propDef.props;
|
|
12
|
+
export type RefreshIndicatorEvents = typeof __propDef.events;
|
|
13
|
+
export type RefreshIndicatorSlots = typeof __propDef.slots;
|
|
14
|
+
export default class RefreshIndicator extends SvelteComponent<RefreshIndicatorProps, RefreshIndicatorEvents, RefreshIndicatorSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -8,11 +8,11 @@ import { Bug } from 'lucide-svelte';
|
|
|
8
8
|
import { createEventDispatcher, getContext, onDestroy, onMount } from 'svelte';
|
|
9
9
|
import { computeGlobalContext, eval_like } from './eval';
|
|
10
10
|
import InputValue from './InputValue.svelte';
|
|
11
|
-
import
|
|
12
|
-
import { selectId } from '../../editor/appUtils';
|
|
11
|
+
import { collectOneOfFields, selectId } from '../../editor/appUtils';
|
|
13
12
|
import ResultJobLoader from '../../../ResultJobLoader.svelte';
|
|
14
13
|
import { userStore } from '../../../../stores';
|
|
15
14
|
import { get } from 'svelte/store';
|
|
15
|
+
import RefreshButton from './RefreshButton.svelte';
|
|
16
16
|
// Component props
|
|
17
17
|
export let id;
|
|
18
18
|
export let fields;
|
|
@@ -37,13 +37,14 @@ export let hideRefreshButton = false;
|
|
|
37
37
|
export let hasChildrens;
|
|
38
38
|
export let allowConcurentRequests = false;
|
|
39
39
|
export let noInitialize = false;
|
|
40
|
+
export let overrideCallback = undefined;
|
|
41
|
+
export let overrideAutoRefresh = false;
|
|
40
42
|
const { worldStore, runnableComponents, workspace, appPath, isEditor, jobs, jobsById, noBackend, errorByComponent, mode, stateId, state, componentControl, initialized, selectedComponent, app, connectingInput, bgRuns } = getContext('AppViewerContext');
|
|
41
43
|
const editorContext = getContext('AppEditorContext');
|
|
42
44
|
const iterContext = getContext('ListWrapperContext');
|
|
43
45
|
const rowContext = getContext('RowWrapperContext');
|
|
44
46
|
const groupContext = getContext('GroupContext');
|
|
45
47
|
const dispatch = createEventDispatcher();
|
|
46
|
-
let donePromise = undefined;
|
|
47
48
|
$runnableComponents = $runnableComponents;
|
|
48
49
|
export function setArgs(value) {
|
|
49
50
|
args = value;
|
|
@@ -71,17 +72,33 @@ let currentStaticValues = lazyStaticValues;
|
|
|
71
72
|
let isBg = id.startsWith('bg_');
|
|
72
73
|
$: isBg && updateBgRuns(loading);
|
|
73
74
|
$: fields && (currentStaticValues = computeStaticValues());
|
|
74
|
-
$:
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
$: currentStaticValues && refreshOnStaticChange();
|
|
76
|
+
function refreshOnStaticChange() {
|
|
77
|
+
if (!deepEqual(currentStaticValues, lazyStaticValues)) {
|
|
78
|
+
lazyStaticValues = currentStaticValues;
|
|
79
|
+
refreshIfAutoRefresh('static changed');
|
|
80
|
+
}
|
|
77
81
|
}
|
|
82
|
+
// $: sendUserToast('args' + JSON.stringify(runnableInputValues) + Boolean(extraQueryParams) || args)
|
|
78
83
|
// $: console.log(runnableInputValues)
|
|
84
|
+
let firstRefresh = true;
|
|
79
85
|
$: (runnableInputValues || extraQueryParams || args) &&
|
|
80
86
|
resultJobLoader &&
|
|
81
87
|
refreshIfAutoRefresh('arg changed');
|
|
88
|
+
$: runnableInputValues && dispatch('argsChanged');
|
|
82
89
|
$: refreshOn =
|
|
83
90
|
runnable && runnable.type === 'runnableByName' ? runnable.inlineScript?.refreshOn ?? [] : [];
|
|
84
|
-
function refreshIfAutoRefresh(
|
|
91
|
+
function refreshIfAutoRefresh(src) {
|
|
92
|
+
if (firstRefresh) {
|
|
93
|
+
firstRefresh = false;
|
|
94
|
+
if (src == 'arg changed' &&
|
|
95
|
+
args == undefined &&
|
|
96
|
+
Object.keys(runnableInputValues ?? {}).length == 0 &&
|
|
97
|
+
Object.keys(extraQueryParams ?? {}).length == 0) {
|
|
98
|
+
// console.debug(`Skipping refreshing ${id} because ${_src} (first)`)
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
85
102
|
// console.debug(`Triggering refreshing ${id} because ${_src}`)
|
|
86
103
|
const refreshEnabled = autoRefresh && ((recomputeOnInputChanged ?? true) || refreshOn?.length > 0);
|
|
87
104
|
if (refreshEnabled && $initialized.initialized) {
|
|
@@ -160,6 +177,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
|
|
|
160
177
|
let jobId;
|
|
161
178
|
console.debug(`Executing ${id}`);
|
|
162
179
|
if (iterContext && $iterContext.disabled) {
|
|
180
|
+
callbacks?.done({});
|
|
163
181
|
console.debug(`Skipping execution of ${id} because it is part of a disabled list`);
|
|
164
182
|
return;
|
|
165
183
|
}
|
|
@@ -170,6 +188,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
|
|
|
170
188
|
job = generateNextFrontendJobId();
|
|
171
189
|
addJob(job);
|
|
172
190
|
}
|
|
191
|
+
console.log('Frontend job started', id);
|
|
173
192
|
let r;
|
|
174
193
|
try {
|
|
175
194
|
r = await eval_like(runnable.inlineScript?.content, computeGlobalContext($worldStore, {
|
|
@@ -177,16 +196,16 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
|
|
|
177
196
|
row: rowContext ? $rowContext : undefined,
|
|
178
197
|
group: groupContext ? $groupContext : undefined
|
|
179
198
|
}), $state, isEditor, $componentControl, $worldStore, $runnableComponents, true);
|
|
180
|
-
await setResult(r, job
|
|
199
|
+
await setResult(r, job);
|
|
181
200
|
$state = $state;
|
|
182
201
|
}
|
|
183
202
|
catch (e) {
|
|
184
203
|
sendUserToast(`Error running frontend script ${id}: ` + e.message, true);
|
|
185
204
|
r = { error: { message: e.body ?? e.message } };
|
|
186
|
-
await setResult(r, job
|
|
205
|
+
await setResult(r, job);
|
|
187
206
|
}
|
|
188
207
|
loading = false;
|
|
189
|
-
|
|
208
|
+
callbacks?.done(r);
|
|
190
209
|
if (setRunnableJobEditorPanel && editorContext) {
|
|
191
210
|
editorContext.runnableJobEditorPanel.update((p) => {
|
|
192
211
|
return {
|
|
@@ -201,39 +220,56 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
|
|
|
201
220
|
if (!noToast) {
|
|
202
221
|
sendUserToast('This app is not connected to a windmill backend, it is a static preview');
|
|
203
222
|
}
|
|
204
|
-
|
|
223
|
+
callbacks?.done({});
|
|
205
224
|
return;
|
|
206
225
|
}
|
|
207
226
|
if (runnable?.type === 'runnableByName' && !runnable.inlineScript) {
|
|
227
|
+
callbacks?.done({});
|
|
208
228
|
return;
|
|
209
229
|
}
|
|
210
230
|
if (!resultJobLoader) {
|
|
211
231
|
console.warn('No test job loader');
|
|
232
|
+
callbacks?.done({});
|
|
212
233
|
return;
|
|
213
234
|
}
|
|
214
235
|
try {
|
|
215
236
|
jobId = await resultJobLoader?.abstractRun(async () => {
|
|
216
237
|
const nonStaticRunnableInputs = dynamicArgsOverride ?? {};
|
|
217
238
|
const staticRunnableInputs = {};
|
|
239
|
+
const allowUserResources = [];
|
|
218
240
|
for (const k of Object.keys(fields ?? {})) {
|
|
219
241
|
let field = fields[k];
|
|
220
242
|
if (field?.type == 'static' && fields[k]) {
|
|
221
|
-
|
|
243
|
+
if (isEditor) {
|
|
244
|
+
staticRunnableInputs[k] = field.value;
|
|
245
|
+
}
|
|
222
246
|
}
|
|
223
247
|
else if (field?.type == 'user') {
|
|
224
248
|
nonStaticRunnableInputs[k] = args?.[k];
|
|
249
|
+
if (isEditor && field.allowUserResources) {
|
|
250
|
+
allowUserResources.push(k);
|
|
251
|
+
}
|
|
225
252
|
}
|
|
226
253
|
else if (field?.type == 'eval' || (field?.type == 'evalv2' && inputValues[k])) {
|
|
227
254
|
nonStaticRunnableInputs[k] = await inputValues[k]?.computeExpr();
|
|
255
|
+
if (isEditor && field?.type == 'evalv2' && field.allowUserResources) {
|
|
256
|
+
allowUserResources.push(k);
|
|
257
|
+
}
|
|
228
258
|
}
|
|
229
259
|
else {
|
|
260
|
+
if (isEditor && field?.type == 'connected' && field.allowUserResources) {
|
|
261
|
+
allowUserResources.push(k);
|
|
262
|
+
}
|
|
230
263
|
nonStaticRunnableInputs[k] = runnableInputValues[k];
|
|
231
264
|
}
|
|
232
265
|
}
|
|
266
|
+
const oneOfRunnableInputs = isEditor ? collectOneOfFields(fields, $app) : {};
|
|
233
267
|
const requestBody = {
|
|
234
268
|
args: nonStaticRunnableInputs,
|
|
235
269
|
component: id,
|
|
236
|
-
force_viewer_static_fields: !isEditor ? undefined : staticRunnableInputs
|
|
270
|
+
force_viewer_static_fields: !isEditor ? undefined : staticRunnableInputs,
|
|
271
|
+
force_viewer_one_of_fields: !isEditor ? undefined : oneOfRunnableInputs,
|
|
272
|
+
force_viewer_allow_user_resources: !isEditor ? undefined : allowUserResources
|
|
237
273
|
};
|
|
238
274
|
if (runnable?.type === 'runnableByName') {
|
|
239
275
|
const { inlineScript } = inlineScriptOverride
|
|
@@ -242,7 +278,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
|
|
|
242
278
|
if (inlineScript) {
|
|
243
279
|
requestBody['raw_code'] = {
|
|
244
280
|
content: inlineScript.content,
|
|
245
|
-
language: inlineScript.language,
|
|
281
|
+
language: inlineScript.language ?? '',
|
|
246
282
|
path: inlineScript.path,
|
|
247
283
|
lock: inlineScript.lock,
|
|
248
284
|
cache_ttl: inlineScript.cache_ttl
|
|
@@ -277,7 +313,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
|
|
|
277
313
|
let error = e.body ?? e.message;
|
|
278
314
|
updateResult({ error });
|
|
279
315
|
$errorByComponent[id] = { error };
|
|
280
|
-
|
|
316
|
+
callbacks?.done({ error });
|
|
281
317
|
sendUserToast(error, true);
|
|
282
318
|
loading = false;
|
|
283
319
|
}
|
|
@@ -288,7 +324,7 @@ export async function runComponent(noToast = false, inlineScriptOverride, setRun
|
|
|
288
324
|
await cancellableRun();
|
|
289
325
|
}
|
|
290
326
|
else {
|
|
291
|
-
console.log('Run component');
|
|
327
|
+
console.log('Run component', id);
|
|
292
328
|
return await executeComponent(noToast, inlineScriptOverride, setRunnableJobEditorPanel, dynamicArgsOverride, callbacks);
|
|
293
329
|
}
|
|
294
330
|
}
|
|
@@ -360,7 +396,7 @@ function updateResult(res) {
|
|
|
360
396
|
outputs.result?.set(res);
|
|
361
397
|
result = res;
|
|
362
398
|
}
|
|
363
|
-
async function setResult(res, jobId
|
|
399
|
+
async function setResult(res, jobId) {
|
|
364
400
|
dispatch('resultSet');
|
|
365
401
|
const errors = getResultErrors(res);
|
|
366
402
|
if (errors) {
|
|
@@ -370,7 +406,7 @@ async function setResult(res, jobId, setRunnableJobEditorPanel) {
|
|
|
370
406
|
recordJob(jobId, errors, errors, transformerResult);
|
|
371
407
|
updateResult(res);
|
|
372
408
|
dispatch('handleError', errors);
|
|
373
|
-
|
|
409
|
+
// callbacks?.done(res)
|
|
374
410
|
return;
|
|
375
411
|
}
|
|
376
412
|
const transformerResult = await runTransformer(res);
|
|
@@ -386,14 +422,14 @@ async function setResult(res, jobId, setRunnableJobEditorPanel) {
|
|
|
386
422
|
recordJob(jobId, res, undefined, transformerResult);
|
|
387
423
|
updateResult(transformerResult);
|
|
388
424
|
dispatch('handleError', transformerResult.error);
|
|
389
|
-
|
|
425
|
+
// callbacks?.done(res)
|
|
390
426
|
return;
|
|
391
427
|
}
|
|
392
428
|
updateResult(transformerResult ?? res);
|
|
393
429
|
recordJob(jobId, result, undefined, transformerResult);
|
|
394
430
|
delete $errorByComponent[id];
|
|
395
431
|
dispatch('success', result);
|
|
396
|
-
|
|
432
|
+
// callbacks?.done(res)
|
|
397
433
|
}
|
|
398
434
|
function handleInputClick(e) {
|
|
399
435
|
const event = e;
|
|
@@ -401,22 +437,37 @@ function handleInputClick(e) {
|
|
|
401
437
|
}
|
|
402
438
|
let cancellableRun = undefined;
|
|
403
439
|
onMount(() => {
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
440
|
+
if (overrideCallback) {
|
|
441
|
+
cancellableRun = overrideCallback;
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
cancellableRun = (inlineScript, setRunnableJobEditorPanel) => {
|
|
445
|
+
let rejectCb;
|
|
446
|
+
let p = new Promise((resolve, reject) => {
|
|
447
|
+
rejectCb = reject;
|
|
448
|
+
executeComponent(true, inlineScript, setRunnableJobEditorPanel, undefined, {
|
|
449
|
+
done: (x) => {
|
|
450
|
+
resolve(x);
|
|
451
|
+
},
|
|
452
|
+
cancel: () => {
|
|
453
|
+
reject();
|
|
454
|
+
},
|
|
455
|
+
error: (e) => {
|
|
456
|
+
console.error(e);
|
|
457
|
+
reject();
|
|
458
|
+
}
|
|
459
|
+
}).catch(reject);
|
|
460
|
+
});
|
|
461
|
+
p.cancel = () => {
|
|
462
|
+
resultJobLoader?.cancelJob();
|
|
463
|
+
loading = false;
|
|
464
|
+
rejectCb(new Error('Canceled'));
|
|
465
|
+
};
|
|
466
|
+
return p;
|
|
415
467
|
};
|
|
416
|
-
|
|
417
|
-
};
|
|
468
|
+
}
|
|
418
469
|
$runnableComponents[id] = {
|
|
419
|
-
autoRefresh: autoRefresh && recomputableByRefreshButton,
|
|
470
|
+
autoRefresh: (autoRefresh && recomputableByRefreshButton) || overrideAutoRefresh,
|
|
420
471
|
refreshOnStart: refreshOnStart,
|
|
421
472
|
cb: [...($runnableComponents[id]?.cb ?? []), cancellableRun]
|
|
422
473
|
};
|
|
@@ -582,7 +633,7 @@ function updateBgRuns(loading) {
|
|
|
582
633
|
{/if}
|
|
583
634
|
{#if render && !initializing && autoRefresh === true && !hideRefreshButton}
|
|
584
635
|
<div class="flex absolute top-1 right-1 z-50 app-component-refresh-btn">
|
|
585
|
-
<RefreshButton {loading}
|
|
636
|
+
<RefreshButton {loading} {id} />
|
|
586
637
|
</div>
|
|
587
638
|
{/if}
|
|
588
639
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
import type { AppInputs, Runnable } from '../../inputType';
|
|
3
3
|
import type { Output } from '../../rx';
|
|
4
|
-
import type { InlineScript } from '../../types';
|
|
4
|
+
import type { CancelablePromise, InlineScript } from '../../types';
|
|
5
5
|
declare const __propDef: {
|
|
6
6
|
props: {
|
|
7
7
|
id: string;
|
|
@@ -33,14 +33,16 @@ declare const __propDef: {
|
|
|
33
33
|
hasChildrens: boolean;
|
|
34
34
|
allowConcurentRequests?: boolean | undefined;
|
|
35
35
|
noInitialize?: boolean | undefined;
|
|
36
|
+
overrideCallback?: (() => CancelablePromise<void>) | undefined;
|
|
37
|
+
overrideAutoRefresh?: boolean | undefined;
|
|
36
38
|
setArgs?: ((value: any) => void) | undefined;
|
|
37
39
|
invalidate?: ((key: string, error: string) => void) | undefined;
|
|
38
40
|
validate?: ((key: string) => void) | undefined;
|
|
39
41
|
validateAll?: (() => void) | undefined;
|
|
40
42
|
runComponent?: ((noToast?: boolean, inlineScriptOverride?: InlineScript, setRunnableJobEditorPanel?: boolean, dynamicArgsOverride?: Record<string, any>, callbacks?: {
|
|
41
|
-
done: (x: any
|
|
43
|
+
done: (x: any) => void;
|
|
42
44
|
cancel: () => void;
|
|
43
|
-
error: () => void;
|
|
45
|
+
error: (e: any) => void;
|
|
44
46
|
} | undefined) => Promise<string | undefined>) | undefined;
|
|
45
47
|
};
|
|
46
48
|
events: {
|
|
@@ -48,6 +50,7 @@ declare const __propDef: {
|
|
|
48
50
|
done: CustomEvent<any>;
|
|
49
51
|
cancel: CustomEvent<any>;
|
|
50
52
|
doneError: CustomEvent<any>;
|
|
53
|
+
argsChanged: CustomEvent<any>;
|
|
51
54
|
resultSet: CustomEvent<any>;
|
|
52
55
|
handleError: CustomEvent<any>;
|
|
53
56
|
success: CustomEvent<any>;
|
|
@@ -67,9 +70,9 @@ export default class RunnableComponent extends SvelteComponent<RunnableComponent
|
|
|
67
70
|
get validate(): (key: string) => void;
|
|
68
71
|
get validateAll(): () => void;
|
|
69
72
|
get runComponent(): (noToast?: boolean, inlineScriptOverride?: InlineScript | undefined, setRunnableJobEditorPanel?: boolean | undefined, dynamicArgsOverride?: Record<string, any> | undefined, callbacks?: {
|
|
70
|
-
done: (x: any
|
|
73
|
+
done: (x: any) => void;
|
|
71
74
|
cancel: () => void;
|
|
72
|
-
error: () => void;
|
|
75
|
+
error: (e: any) => void;
|
|
73
76
|
} | undefined) => Promise<string | undefined>;
|
|
74
77
|
}
|
|
75
78
|
export {};
|
|
@@ -6,6 +6,9 @@ import { sendUserToast } from '../../../../toast';
|
|
|
6
6
|
import InitializeComponent from './InitializeComponent.svelte';
|
|
7
7
|
export let componentInput;
|
|
8
8
|
export let noInitialize = false;
|
|
9
|
+
export let hideRefreshButton = undefined;
|
|
10
|
+
export let overrideCallback = undefined;
|
|
11
|
+
export let overrideAutoRefresh = false;
|
|
9
12
|
export let id;
|
|
10
13
|
export let result = undefined;
|
|
11
14
|
export let initializing = true;
|
|
@@ -175,9 +178,11 @@ export async function handleSideEffect(success, errorMessage) {
|
|
|
175
178
|
fields={componentInput.fields}
|
|
176
179
|
bind:result
|
|
177
180
|
runnable={componentInput.runnable}
|
|
178
|
-
hideRefreshButton={componentInput.hideRefreshButton}
|
|
181
|
+
hideRefreshButton={componentInput.hideRefreshButton ?? hideRefreshButton}
|
|
179
182
|
transformer={componentInput.transformer}
|
|
180
183
|
{autoRefresh}
|
|
184
|
+
{overrideCallback}
|
|
185
|
+
{overrideAutoRefresh}
|
|
181
186
|
recomputableByRefreshButton={componentInput.autoRefresh ?? true}
|
|
182
187
|
bind:recomputeOnInputChanged={componentInput.recomputeOnInputChanged}
|
|
183
188
|
{id}
|
|
@@ -191,6 +196,7 @@ export async function handleSideEffect(success, errorMessage) {
|
|
|
191
196
|
on:done
|
|
192
197
|
on:doneError
|
|
193
198
|
on:cancel
|
|
199
|
+
on:argsChanged
|
|
194
200
|
on:resultSet={() => (initializing = false)}
|
|
195
201
|
on:success={(e) => {
|
|
196
202
|
onSuccess(e.detail)
|
|
@@ -2,10 +2,14 @@ import { SvelteComponent } from "svelte";
|
|
|
2
2
|
import type { AppInput } from '../../inputType';
|
|
3
3
|
import type { Output } from '../../rx';
|
|
4
4
|
import RunnableComponent from './RunnableComponent.svelte';
|
|
5
|
+
import type { CancelablePromise } from '../../../../gen';
|
|
5
6
|
declare const __propDef: {
|
|
6
7
|
props: {
|
|
7
8
|
componentInput: AppInput | undefined;
|
|
8
9
|
noInitialize?: boolean | undefined;
|
|
10
|
+
hideRefreshButton?: boolean | undefined;
|
|
11
|
+
overrideCallback?: (() => CancelablePromise<void>) | undefined;
|
|
12
|
+
overrideAutoRefresh?: boolean | undefined;
|
|
9
13
|
id: string;
|
|
10
14
|
result?: any;
|
|
11
15
|
initializing?: boolean | undefined;
|
|
@@ -117,6 +121,7 @@ declare const __propDef: {
|
|
|
117
121
|
done: CustomEvent<any>;
|
|
118
122
|
doneError: CustomEvent<any>;
|
|
119
123
|
cancel: CustomEvent<any>;
|
|
124
|
+
argsChanged: CustomEvent<any>;
|
|
120
125
|
} & {
|
|
121
126
|
[evt: string]: CustomEvent<any>;
|
|
122
127
|
};
|
|
@@ -83,7 +83,11 @@ let css = initCss($app.css?.dateinputcomponent, customCss);
|
|
|
83
83
|
min={resolvedConfig.minDate}
|
|
84
84
|
max={resolvedConfig.maxDate}
|
|
85
85
|
placeholder="Type..."
|
|
86
|
-
class={twMerge(
|
|
86
|
+
class={twMerge(
|
|
87
|
+
'windmillapp w-full py-1.5 text-sm px-1 app-editor-input',
|
|
88
|
+
css?.input?.class,
|
|
89
|
+
'wm-date-input'
|
|
90
|
+
)}
|
|
87
91
|
style={css?.input?.style ?? ''}
|
|
88
92
|
/>
|
|
89
93
|
{/if}
|
|
@@ -10,7 +10,7 @@ export let id;
|
|
|
10
10
|
export let configuration;
|
|
11
11
|
export let customCss = undefined;
|
|
12
12
|
export let render;
|
|
13
|
-
const { app, worldStore, componentControl } = getContext('AppViewerContext');
|
|
13
|
+
const { app, worldStore, componentControl, mode } = getContext('AppViewerContext');
|
|
14
14
|
let acceptedFileTypes = undefined;
|
|
15
15
|
let allowMultiple = undefined;
|
|
16
16
|
let text = undefined;
|
|
@@ -36,6 +36,14 @@ $componentControl[id] = {
|
|
|
36
36
|
fileInput?.clearFiles();
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
|
+
let files = undefined;
|
|
40
|
+
function preFillFiles() {
|
|
41
|
+
const data = outputs?.result?.peak();
|
|
42
|
+
if (data && Array.isArray(data) && data.length > 0) {
|
|
43
|
+
files = data.map((file) => new File([], file?.name));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
$: outputs.result && files === undefined && $mode === 'dnd' && preFillFiles();
|
|
39
47
|
</script>
|
|
40
48
|
|
|
41
49
|
{#each Object.keys(css ?? {}) as key (key)}
|
|
@@ -67,7 +75,7 @@ $componentControl[id] = {
|
|
|
67
75
|
<InitializeComponent {id} />
|
|
68
76
|
|
|
69
77
|
{#if render}
|
|
70
|
-
<div class="w-full h-full
|
|
78
|
+
<div class="w-full h-full">
|
|
71
79
|
<FileInput
|
|
72
80
|
bind:this={fileInput}
|
|
73
81
|
accept={acceptedFileTypes?.length ? acceptedFileTypes?.join(', ') : undefined}
|
|
@@ -80,6 +88,7 @@ $componentControl[id] = {
|
|
|
80
88
|
class={twMerge('w-full h-full', css?.container?.class, 'wm-file-input')}
|
|
81
89
|
style={css?.container?.style}
|
|
82
90
|
submittedText={submittedFileText}
|
|
91
|
+
bind:files
|
|
83
92
|
>
|
|
84
93
|
{text}
|
|
85
94
|
</FileInput>
|