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
|
@@ -7,15 +7,7 @@ import { enterpriseLicense, superadmin } from '../stores';
|
|
|
7
7
|
import { DEFAULT_TAGS_PER_WORKSPACE_SETTING } from '../consts';
|
|
8
8
|
import Toggle from './Toggle.svelte';
|
|
9
9
|
let defaultTags = undefined;
|
|
10
|
-
let defaultTagPerWorkspace = undefined;
|
|
11
|
-
async function loadDefaultTagsPerWorkspace() {
|
|
12
|
-
try {
|
|
13
|
-
defaultTagPerWorkspace = await WorkerService.isDefaultTagsPerWorkspace();
|
|
14
|
-
}
|
|
15
|
-
catch (err) {
|
|
16
|
-
sendUserToast(`Could not load default tag per workspace setting: ${err}`, true);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
10
|
+
export let defaultTagPerWorkspace = undefined;
|
|
19
11
|
async function loadDefaultTags() {
|
|
20
12
|
try {
|
|
21
13
|
defaultTags = (await WorkerService.geDefaultTags()) ?? [];
|
|
@@ -25,7 +17,6 @@ async function loadDefaultTags() {
|
|
|
25
17
|
}
|
|
26
18
|
}
|
|
27
19
|
loadDefaultTags();
|
|
28
|
-
loadDefaultTagsPerWorkspace();
|
|
29
20
|
</script>
|
|
30
21
|
|
|
31
22
|
<div class="flex flex-col w-80 p-2 gap-2">
|
|
@@ -119,15 +119,29 @@ if (searchParams?.has('local')) {
|
|
|
119
119
|
let useLock = false;
|
|
120
120
|
let lockChanges = false;
|
|
121
121
|
let timeout = undefined;
|
|
122
|
+
let loadingCodebaseButton = false;
|
|
123
|
+
let lastBundleCommandId = '';
|
|
122
124
|
const el = (event) => {
|
|
123
125
|
// sendUserToast(`Received message from parent ${event.data.type}`, true)
|
|
124
126
|
if (event.data.type == 'runTest') {
|
|
125
127
|
runTest();
|
|
128
|
+
event.preventDefault();
|
|
126
129
|
}
|
|
127
130
|
else if (event.data.type == 'replaceScript') {
|
|
128
131
|
mode = 'script';
|
|
129
132
|
replaceScript(event.data);
|
|
130
133
|
}
|
|
134
|
+
else if (event.data.type == 'testBundle') {
|
|
135
|
+
if (event.data.id == lastBundleCommandId) {
|
|
136
|
+
testBundle(event.data.file);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
sendUserToast(`Bundle received ${lastBundleCommandId} was obsolete, ignoring`, true);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else if (event.data.type == 'testBundleError') {
|
|
143
|
+
sendUserToast(typeof event.data.error == 'object' ? JSON.stringify(event.data.error) : event.data.error, true);
|
|
144
|
+
}
|
|
131
145
|
else if (event.data.type == 'replaceFlow') {
|
|
132
146
|
mode = 'flow';
|
|
133
147
|
lockChanges = true;
|
|
@@ -164,6 +178,39 @@ onMount(() => {
|
|
|
164
178
|
});
|
|
165
179
|
window.parent?.postMessage({ type: 'refresh' }, '*');
|
|
166
180
|
});
|
|
181
|
+
async function testBundle(file) {
|
|
182
|
+
testJobLoader?.abstractRun(async () => {
|
|
183
|
+
try {
|
|
184
|
+
const form = new FormData();
|
|
185
|
+
form.append('preview', JSON.stringify({
|
|
186
|
+
content: currentScript?.content,
|
|
187
|
+
kind: 'bundle',
|
|
188
|
+
path: currentScript?.path,
|
|
189
|
+
args,
|
|
190
|
+
language: currentScript?.language,
|
|
191
|
+
tag: currentScript?.tag
|
|
192
|
+
}));
|
|
193
|
+
form.append('file', file);
|
|
194
|
+
const url = '/api/w/' + workspace + '/jobs/run/preview_bundle';
|
|
195
|
+
const req = await fetch(url, {
|
|
196
|
+
method: 'POST',
|
|
197
|
+
body: form,
|
|
198
|
+
headers: {
|
|
199
|
+
Authorization: 'Bearer ' + token
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
if (req.status != 201) {
|
|
203
|
+
throw Error(`Script snapshot creation was not successful: ${req.status} - ${req.statusText} - ${await req.text()}`);
|
|
204
|
+
}
|
|
205
|
+
return await req.text();
|
|
206
|
+
}
|
|
207
|
+
catch (e) {
|
|
208
|
+
sendUserToast(`Failed to send bundle ${e}`, true);
|
|
209
|
+
throw Error(e);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
loadingCodebaseButton = false;
|
|
213
|
+
}
|
|
167
214
|
onDestroy(() => {
|
|
168
215
|
window.removeEventListener('message', el);
|
|
169
216
|
if (socket && socket.readyState === WebSocket.OPEN) {
|
|
@@ -200,8 +247,15 @@ function runTest() {
|
|
|
200
247
|
if (!currentScript) {
|
|
201
248
|
return;
|
|
202
249
|
}
|
|
203
|
-
|
|
204
|
-
|
|
250
|
+
if (currentScript.isCodebase) {
|
|
251
|
+
loadingCodebaseButton = true;
|
|
252
|
+
lastBundleCommandId = Math.random().toString(36).substring(7);
|
|
253
|
+
window.parent?.postMessage({ type: 'testBundle', id: lastBundleCommandId }, '*');
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
//@ts-ignore
|
|
257
|
+
testJobLoader.runPreview(currentScript.path, currentScript.content, currentScript.language, args, currentScript.tag, useLock ? currentScript.lock : undefined);
|
|
258
|
+
}
|
|
205
259
|
}
|
|
206
260
|
else {
|
|
207
261
|
flowPreviewButtons?.openPreview();
|
|
@@ -219,10 +273,12 @@ async function loadPastTests() {
|
|
|
219
273
|
scriptPathExact: currentScript.path
|
|
220
274
|
});
|
|
221
275
|
}
|
|
222
|
-
function onKeyDown(event) {
|
|
223
|
-
if ((event.ctrlKey || event.metaKey) && event.
|
|
224
|
-
|
|
225
|
-
|
|
276
|
+
async function onKeyDown(event) {
|
|
277
|
+
if ((event.ctrlKey || event.metaKey) && event.code === 'KeyC') {
|
|
278
|
+
document.execCommand('copy');
|
|
279
|
+
}
|
|
280
|
+
else if ((event.ctrlKey || event.metaKey) && event.code === 'KeyX') {
|
|
281
|
+
document.execCommand('cut');
|
|
226
282
|
}
|
|
227
283
|
}
|
|
228
284
|
let lastPath = undefined;
|
|
@@ -359,7 +415,9 @@ async function inferModuleArgs(selectedIdStore) {
|
|
|
359
415
|
</div>
|
|
360
416
|
<div class="text-center w-full text-lg truncate py-1 text-primary">
|
|
361
417
|
{currentScript?.path ?? 'Not editing a script'}
|
|
362
|
-
{currentScript?.language ?? ''}
|
|
418
|
+
<span class="text-2xs text-secondary">{currentScript?.language ?? ''}</span><span
|
|
419
|
+
class="text-2xs text-secondary">{currentScript?.isCodebase ? ' (codebase)' : ''}</span
|
|
420
|
+
>
|
|
363
421
|
</div>
|
|
364
422
|
|
|
365
423
|
<div class="absolute top-2 right-2 !text-tertiary text-xs">
|
|
@@ -396,7 +454,7 @@ async function inferModuleArgs(selectedIdStore) {
|
|
|
396
454
|
<Button
|
|
397
455
|
disabled={currentScript === undefined}
|
|
398
456
|
color="dark"
|
|
399
|
-
on:click={() => {
|
|
457
|
+
on:click={(e) => {
|
|
400
458
|
runTest()
|
|
401
459
|
}}
|
|
402
460
|
btnClasses="w-full"
|
|
@@ -407,7 +465,9 @@ async function inferModuleArgs(selectedIdStore) {
|
|
|
407
465
|
}}
|
|
408
466
|
shortCut={{ Icon: CornerDownLeft, hide: testIsLoading }}
|
|
409
467
|
>
|
|
410
|
-
{#if
|
|
468
|
+
{#if loadingCodebaseButton}
|
|
469
|
+
Bundle is building...
|
|
470
|
+
{:else if testIsLoading}
|
|
411
471
|
Running
|
|
412
472
|
{:else}
|
|
413
473
|
Test
|
|
@@ -425,6 +485,7 @@ async function inferModuleArgs(selectedIdStore) {
|
|
|
425
485
|
</Pane>
|
|
426
486
|
<Pane size={67}>
|
|
427
487
|
<LogPanel
|
|
488
|
+
{workspace}
|
|
428
489
|
lang={currentScript?.language}
|
|
429
490
|
previewJob={testJob}
|
|
430
491
|
{pastPreviews}
|
|
@@ -24,6 +24,9 @@ let diffDivEl = null;
|
|
|
24
24
|
let editorWidth = SIDE_BY_SIDE_MIN_WIDTH;
|
|
25
25
|
async function loadDiffEditor() {
|
|
26
26
|
await initializeVscode();
|
|
27
|
+
if (!diffDivEl) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
27
30
|
diffEditor = meditor.createDiffEditor(diffDivEl, {
|
|
28
31
|
automaticLayout,
|
|
29
32
|
renderSideBySide: editorWidth >= SIDE_BY_SIDE_MIN_WIDTH,
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
<script>import { Highlight } from 'svelte-highlight';
|
|
2
2
|
import { json } from 'svelte-highlight/languages';
|
|
3
|
-
import
|
|
4
|
-
import { copyToClipboard, roughSizeOfObject, truncate } from '../utils';
|
|
3
|
+
import { copyToClipboard, roughSizeOfObject } from '../utils';
|
|
5
4
|
import { Button, Drawer, DrawerContent } from './common';
|
|
6
|
-
import { ClipboardCopy, Download, Expand, PanelRightOpen, Table2, Braces, Highlighter } from 'lucide-svelte';
|
|
5
|
+
import { ClipboardCopy, Download, Expand, PanelRightOpen, Table2, Braces, Highlighter, InfoIcon } from 'lucide-svelte';
|
|
7
6
|
import Portal from 'svelte-portal';
|
|
8
7
|
import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
|
|
9
8
|
import S3FilePicker from './S3FilePicker.svelte';
|
|
@@ -16,6 +15,7 @@ import ParqetTableRenderer from './ParqetTableRenderer.svelte';
|
|
|
16
15
|
import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
17
16
|
import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte';
|
|
18
17
|
import MapResult from './MapResult.svelte';
|
|
18
|
+
import Popover from './Popover.svelte';
|
|
19
19
|
export let result;
|
|
20
20
|
export let requireHtmlApproval = false;
|
|
21
21
|
export let filename = undefined;
|
|
@@ -24,32 +24,40 @@ export let jobId = undefined;
|
|
|
24
24
|
export let workspaceId = undefined;
|
|
25
25
|
export let hideAsJson = false;
|
|
26
26
|
export let noControls = false;
|
|
27
|
+
export let drawerOpen = false;
|
|
28
|
+
const IMG_MAX_SIZE = 10000000;
|
|
29
|
+
const TABLE_MAX_SIZE = 5000000;
|
|
30
|
+
const DISPLAY_MAX_SIZE = 100000;
|
|
27
31
|
let resultKind;
|
|
28
32
|
$: resultKind = inferResultKind(result);
|
|
29
33
|
export let forceJson = false;
|
|
30
34
|
let enableHtml = false;
|
|
31
35
|
let s3FileDisplayRawMode = false;
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
if (!Object.values(obj)
|
|
37
|
-
.map(Array.isArray)
|
|
38
|
-
.reduce((a, b) => a && b)) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
let innerSize = obj[0].length;
|
|
42
|
-
return Object.values(obj)
|
|
43
|
-
.map((x) => x.length == innerSize)
|
|
44
|
-
.reduce((a, b) => a && b);
|
|
36
|
+
function isTableRow(result) {
|
|
37
|
+
return Array.isArray(result) && result.every((x) => Array.isArray(x));
|
|
45
38
|
}
|
|
46
|
-
function
|
|
47
|
-
return
|
|
39
|
+
function isTableCol(result, keys) {
|
|
40
|
+
return (!Array.isArray(result) &&
|
|
41
|
+
keys.map((k) => Array.isArray(result[k])).reduce((a, b) => a && b, true));
|
|
48
42
|
}
|
|
49
|
-
function
|
|
50
|
-
|
|
43
|
+
function isTableRowObject(json) {
|
|
44
|
+
// check array of objects (with possible a first row of headers)
|
|
45
|
+
return (Array.isArray(json) &&
|
|
46
|
+
json.length > 0 &&
|
|
47
|
+
(json.every((item) => item && typeof item === 'object' && Object.keys(item).length > 0 && !Array.isArray(item)) ||
|
|
48
|
+
(Array.isArray(json[0]) &&
|
|
49
|
+
json[0].every((item) => typeof item === 'string') &&
|
|
50
|
+
json
|
|
51
|
+
.slice(1)
|
|
52
|
+
.every((item) => item &&
|
|
53
|
+
typeof item === 'object' &&
|
|
54
|
+
Object.keys(item).length > 0 &&
|
|
55
|
+
!Array.isArray(item)))));
|
|
51
56
|
}
|
|
52
57
|
let largeObject = undefined;
|
|
58
|
+
function checkIfS3(result, keys) {
|
|
59
|
+
return keys.length === 1 && keys.includes('s3') && typeof result.s3 === 'string';
|
|
60
|
+
}
|
|
53
61
|
let is_render_all = false;
|
|
54
62
|
function inferResultKind(result) {
|
|
55
63
|
if (result == 'WINDMILL_TOO_BIG') {
|
|
@@ -68,32 +76,47 @@ function inferResultKind(result) {
|
|
|
68
76
|
is_render_all =
|
|
69
77
|
keys.length == 1 && keys.includes('render_all') && Array.isArray(result['render_all']);
|
|
70
78
|
// Check if the result is an image
|
|
71
|
-
if (['png', 'svg', 'jpeg', 'html'].includes(keys[0]) && keys.length == 1) {
|
|
79
|
+
if (['png', 'svg', 'jpeg', 'html', 'gif'].includes(keys[0]) && keys.length == 1) {
|
|
72
80
|
// Check if the image is too large (10mb)
|
|
73
|
-
largeObject = roughSizeOfObject(result) >
|
|
81
|
+
largeObject = roughSizeOfObject(result) > IMG_MAX_SIZE;
|
|
74
82
|
return keys[0];
|
|
75
83
|
}
|
|
76
|
-
|
|
84
|
+
const tableLargeObject = roughSizeOfObject(result) > TABLE_MAX_SIZE;
|
|
77
85
|
// Otherwise, check if the result is too large (10kb) for json
|
|
78
|
-
largeObject =
|
|
79
|
-
if (
|
|
86
|
+
largeObject = tableLargeObject || roughSizeOfObject(result) > DISPLAY_MAX_SIZE;
|
|
87
|
+
if (tableLargeObject) {
|
|
80
88
|
return 'json';
|
|
81
89
|
}
|
|
82
|
-
if (
|
|
83
|
-
if (
|
|
84
|
-
return '
|
|
90
|
+
if (Array.isArray(result)) {
|
|
91
|
+
if (result.length === 0) {
|
|
92
|
+
return 'json';
|
|
85
93
|
}
|
|
86
|
-
else if (
|
|
87
|
-
|
|
94
|
+
else if (result.every((elt) => typeof elt === 'object' && checkIfS3(elt, Object.keys(elt)))) {
|
|
95
|
+
largeObject = result.length > 100;
|
|
96
|
+
if (largeObject) {
|
|
97
|
+
return 'json';
|
|
98
|
+
}
|
|
99
|
+
return 's3object-list';
|
|
88
100
|
}
|
|
89
|
-
else if (
|
|
101
|
+
else if (isTableRow(result)) {
|
|
90
102
|
return 'table-row';
|
|
91
103
|
}
|
|
92
|
-
else if ((
|
|
93
|
-
|
|
94
|
-
return 'table-col';
|
|
104
|
+
else if (isTableRowObject(result)) {
|
|
105
|
+
return 'table-row-object';
|
|
95
106
|
}
|
|
96
|
-
else
|
|
107
|
+
else {
|
|
108
|
+
return 'json';
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else if (keys.length === 1 &&
|
|
112
|
+
['table-row', 'table-row-object', 'table-col'].includes(keys[0])) {
|
|
113
|
+
return keys[0];
|
|
114
|
+
}
|
|
115
|
+
if (largeObject) {
|
|
116
|
+
return 'json';
|
|
117
|
+
}
|
|
118
|
+
if (keys.length != 0) {
|
|
119
|
+
if (keys.length == 1 && keys[0] == 'html') {
|
|
97
120
|
return 'html';
|
|
98
121
|
}
|
|
99
122
|
else if (keys.length == 1 && keys[0] == 'map') {
|
|
@@ -129,12 +152,15 @@ function inferResultKind(result) {
|
|
|
129
152
|
keys.includes('approvalPage')) {
|
|
130
153
|
return 'approval';
|
|
131
154
|
}
|
|
132
|
-
else if (
|
|
155
|
+
else if (checkIfS3(result, keys)) {
|
|
133
156
|
return 's3object';
|
|
134
157
|
}
|
|
135
158
|
else if (keys.length === 1 && (keys.includes('md') || keys.includes('markdown'))) {
|
|
136
159
|
return 'markdown';
|
|
137
160
|
}
|
|
161
|
+
else if (isTableCol(result, keys)) {
|
|
162
|
+
return 'table-col';
|
|
163
|
+
}
|
|
138
164
|
}
|
|
139
165
|
}
|
|
140
166
|
catch (err) { }
|
|
@@ -158,14 +184,29 @@ function contentOrRootString(obj) {
|
|
|
158
184
|
return obj.content;
|
|
159
185
|
}
|
|
160
186
|
}
|
|
161
|
-
function
|
|
162
|
-
|
|
187
|
+
function handleArrayOfObjectsHeaders(json) {
|
|
188
|
+
// handle possible a first row of headers
|
|
189
|
+
if (Array.isArray(json) &&
|
|
163
190
|
json.length > 0 &&
|
|
164
|
-
|
|
191
|
+
Array.isArray(json[0]) &&
|
|
192
|
+
json[0].every((item) => typeof item === 'string') &&
|
|
193
|
+
json
|
|
194
|
+
.slice(1)
|
|
195
|
+
.every((item) => item && typeof item === 'object' && Object.keys(item).length > 0 && !Array.isArray(item))) {
|
|
196
|
+
const headers = json[0];
|
|
197
|
+
const rows = json.slice(1);
|
|
198
|
+
const result = rows.map((row) => {
|
|
199
|
+
const obj = {};
|
|
200
|
+
for (const header of headers) {
|
|
201
|
+
obj[header] = row[header];
|
|
202
|
+
}
|
|
203
|
+
return obj;
|
|
204
|
+
});
|
|
205
|
+
return result;
|
|
206
|
+
}
|
|
207
|
+
return json;
|
|
165
208
|
}
|
|
166
|
-
|
|
167
|
-
let richRender = !forceJson;
|
|
168
|
-
function transform(input) {
|
|
209
|
+
function objectOfArraysToObjects(input) {
|
|
169
210
|
const maxLength = Math.max(...Object.values(input).map((arr) => arr.length));
|
|
170
211
|
const result = [];
|
|
171
212
|
for (let i = 0; i < maxLength; i++) {
|
|
@@ -182,14 +223,46 @@ function transform(input) {
|
|
|
182
223
|
}
|
|
183
224
|
return result;
|
|
184
225
|
}
|
|
226
|
+
function arrayOfRowsToObjects(input) {
|
|
227
|
+
if (Array.isArray(input) && input.length > 0) {
|
|
228
|
+
// handle possible first row of headers
|
|
229
|
+
if (input.length > 1 &&
|
|
230
|
+
Array.isArray(input[0]) &&
|
|
231
|
+
input[0].every((item) => typeof item === 'string')) {
|
|
232
|
+
const headers = input[0];
|
|
233
|
+
const rows = input.slice(1);
|
|
234
|
+
return rows.map((row) => {
|
|
235
|
+
const obj = {};
|
|
236
|
+
for (let i = 0; i < headers.length; i++) {
|
|
237
|
+
obj[headers[i]] = row[i];
|
|
238
|
+
}
|
|
239
|
+
return obj;
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
return input;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return [];
|
|
247
|
+
}
|
|
185
248
|
let globalForceJson = false;
|
|
186
249
|
</script>
|
|
187
250
|
|
|
188
251
|
{#if is_render_all}
|
|
189
252
|
<div class="flex flex-col w-full gap-6">
|
|
190
253
|
{#if !noControls}
|
|
191
|
-
<div class="
|
|
192
|
-
|
|
254
|
+
<div class="text-tertiary text-sm">
|
|
255
|
+
<ToggleButtonGroup
|
|
256
|
+
class="h-6"
|
|
257
|
+
selected={globalForceJson ? 'json' : 'pretty'}
|
|
258
|
+
on:selected={(ev) => {
|
|
259
|
+
globalForceJson = ev.detail === 'json'
|
|
260
|
+
}}
|
|
261
|
+
>
|
|
262
|
+
<ToggleButton class="px-1.5" value="pretty" label="Pretty" icon={Highlighter} />
|
|
263
|
+
|
|
264
|
+
<ToggleButton class="px-1.5" value="json" label="JSON" icon={Braces} />
|
|
265
|
+
</ToggleButtonGroup>
|
|
193
266
|
</div>
|
|
194
267
|
{/if}
|
|
195
268
|
{#each result['render_all'] as res}
|
|
@@ -213,62 +286,56 @@ let globalForceJson = false;
|
|
|
213
286
|
: 'min-h-[200px]'}"
|
|
214
287
|
>
|
|
215
288
|
{#if result != undefined && length != undefined && largeObject != undefined}
|
|
216
|
-
<div class="flex justify-between items-center w-full
|
|
217
|
-
<div class="text-tertiary text-sm
|
|
218
|
-
{#if
|
|
289
|
+
<div class="flex justify-between items-center w-full">
|
|
290
|
+
<div class="text-tertiary text-sm">
|
|
291
|
+
{#if !hideAsJson && !['json', 's3object'].includes(resultKind ?? '') && typeof result === 'object'}
|
|
219
292
|
<ToggleButtonGroup
|
|
220
293
|
class="h-6"
|
|
221
|
-
selected={
|
|
222
|
-
? richRender
|
|
223
|
-
? 'table'
|
|
224
|
-
: 'json'
|
|
225
|
-
: forceJson
|
|
226
|
-
? 'json'
|
|
227
|
-
: 'pretty'}
|
|
294
|
+
selected={forceJson ? 'json' : resultKind?.startsWith('table-') ? 'table' : 'pretty'}
|
|
228
295
|
on:selected={(ev) => {
|
|
229
|
-
if (isTableDisplay) {
|
|
230
|
-
richRender = ev.detail === 'table'
|
|
231
|
-
}
|
|
232
296
|
forceJson = ev.detail === 'json'
|
|
233
297
|
}}
|
|
234
298
|
>
|
|
235
|
-
{#if
|
|
236
|
-
<ToggleButton class="px-1.5" value="pretty" label="Pretty" icon={Highlighter} />
|
|
237
|
-
{/if}
|
|
238
|
-
{#if isTableDisplay}
|
|
299
|
+
{#if ['table-col', 'table-row', 'table-row-object'].includes(resultKind ?? '')}
|
|
239
300
|
<ToggleButton class="px-1.5" value="table" label="Table" icon={Table2} />
|
|
301
|
+
{:else}
|
|
302
|
+
<ToggleButton class="px-1.5" value="pretty" label="Pretty" icon={Highlighter} />
|
|
240
303
|
{/if}
|
|
241
304
|
<ToggleButton class="px-1.5" value="json" label="JSON" icon={Braces} />
|
|
242
305
|
</ToggleButtonGroup>
|
|
243
306
|
{/if}
|
|
244
307
|
</div>
|
|
245
|
-
<div class="text-
|
|
308
|
+
<div class="text-secondary text-xs flex gap-2.5 z-10 items-center">
|
|
246
309
|
<slot name="copilot-fix" />
|
|
247
310
|
{#if !disableExpand && !noControls}
|
|
248
|
-
<
|
|
249
|
-
|
|
311
|
+
<Popover
|
|
312
|
+
documentationLink="https://www.windmill.dev/docs/core_concepts/rich_display_rendering"
|
|
250
313
|
>
|
|
251
|
-
|
|
314
|
+
<svelte:fragment slot="text">
|
|
315
|
+
The result renderer in Windmill supports rich display rendering, allowing you to
|
|
316
|
+
customize the display format of your results.
|
|
317
|
+
</svelte:fragment>
|
|
318
|
+
<div class="-mt-1">
|
|
319
|
+
<InfoIcon size={14} />
|
|
320
|
+
</div>
|
|
321
|
+
</Popover>
|
|
322
|
+
<button on:click={() => copyToClipboard(toJsonStr(result))} class="-mt-1">
|
|
323
|
+
<ClipboardCopy size={14} />
|
|
324
|
+
</button>
|
|
325
|
+
<button on:click={jsonViewer.openDrawer} class="-mt-1">
|
|
326
|
+
<Expand size={14} />
|
|
327
|
+
</button>
|
|
252
328
|
{/if}
|
|
253
329
|
</div>
|
|
254
330
|
</div>{#if !forceJson && resultKind == 'table-col'}
|
|
255
331
|
{@const data = 'table-col' in result ? result['table-col'] : result}
|
|
256
|
-
<AutoDataTable objects={
|
|
332
|
+
<AutoDataTable objects={objectOfArraysToObjects(data)} />
|
|
257
333
|
{:else if !forceJson && resultKind == 'table-row'}
|
|
258
334
|
{@const data = 'table-row' in result ? result['table-row'] : result}
|
|
259
|
-
<
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
<tr>
|
|
264
|
-
{#each row as v}
|
|
265
|
-
<td class="!text-xs">{truncate(JSON.stringify(v), 200) ?? ''}</td>
|
|
266
|
-
{/each}
|
|
267
|
-
</tr>
|
|
268
|
-
{/each}
|
|
269
|
-
</tbody>
|
|
270
|
-
</TableCustom>
|
|
271
|
-
</div>
|
|
335
|
+
<AutoDataTable objects={arrayOfRowsToObjects(data)} />
|
|
336
|
+
{:else if !forceJson && resultKind == 'table-row-object'}
|
|
337
|
+
{@const data = 'table-row-object' in result ? result['table-row-object'] : result}
|
|
338
|
+
<AutoDataTable objects={handleArrayOfObjectsHeaders(data)} />
|
|
272
339
|
{:else if !forceJson && resultKind == 'html'}
|
|
273
340
|
<div class="h-full">
|
|
274
341
|
{#if !requireHtmlApproval || enableHtml}
|
|
@@ -460,11 +527,9 @@ let globalForceJson = false;
|
|
|
460
527
|
</div>
|
|
461
528
|
</div>
|
|
462
529
|
{:else if !forceJson && resultKind == 'markdown'}
|
|
463
|
-
<div class="prose-xs dark:prose-invert">
|
|
530
|
+
<div class="prose-xs dark:prose-invert !list-disc !list-outside">
|
|
464
531
|
<Markdown md={result?.md ?? result?.markdown} />
|
|
465
532
|
</div>
|
|
466
|
-
{:else if !forceJson && isTableDisplay && richRender}
|
|
467
|
-
<AutoDataTable objects={result} />
|
|
468
533
|
{:else if largeObject}
|
|
469
534
|
{#if result && typeof result == 'object' && 'file' in result}
|
|
470
535
|
<div
|
|
@@ -492,7 +557,7 @@ let globalForceJson = false;
|
|
|
492
557
|
title="Large result detected"
|
|
493
558
|
type="warning"
|
|
494
559
|
tooltip="We recommend using persistent object storage for large result. See docs for setting up an object storage service integration using s3 or any other s3 compatible services."
|
|
495
|
-
documentationLink="https://www.windmill.dev/docs/core_concepts/persistent_storage#large-data-
|
|
560
|
+
documentationLink="https://www.windmill.dev/docs/core_concepts/persistent_storage#object-storage-for-large-data-s3-r2-minio-azure-blob"
|
|
496
561
|
/>
|
|
497
562
|
</div>
|
|
498
563
|
{#if result && result != 'WINDMILL_TOO_BIG'}
|
|
@@ -530,46 +595,44 @@ let globalForceJson = false;
|
|
|
530
595
|
</div>
|
|
531
596
|
|
|
532
597
|
{#if !disableExpand && !noControls}
|
|
533
|
-
<
|
|
534
|
-
<
|
|
535
|
-
<
|
|
536
|
-
<
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
</Drawer>
|
|
572
|
-
</Portal>
|
|
598
|
+
<Drawer bind:this={jsonViewer} bind:open={drawerOpen} size="900px">
|
|
599
|
+
<DrawerContent title="Expanded Result" on:close={jsonViewer.closeDrawer}>
|
|
600
|
+
<svelte:fragment slot="actions">
|
|
601
|
+
<Button
|
|
602
|
+
download="{filename ?? 'result'}.json"
|
|
603
|
+
href={workspaceId && jobId
|
|
604
|
+
? `/api/w/${workspaceId}/jobs_u/completed/get_result/${jobId}`
|
|
605
|
+
: `data:text/json;charset=utf-8,${encodeURIComponent(toJsonStr(result))}`}
|
|
606
|
+
startIcon={{ icon: Download }}
|
|
607
|
+
color="light"
|
|
608
|
+
size="xs"
|
|
609
|
+
>
|
|
610
|
+
Download
|
|
611
|
+
</Button>
|
|
612
|
+
<Button
|
|
613
|
+
on:click={() => copyToClipboard(toJsonStr(result))}
|
|
614
|
+
color="light"
|
|
615
|
+
size="xs"
|
|
616
|
+
startIcon={{
|
|
617
|
+
icon: ClipboardCopy
|
|
618
|
+
}}
|
|
619
|
+
>
|
|
620
|
+
Copy to clipboard
|
|
621
|
+
</Button>
|
|
622
|
+
</svelte:fragment>
|
|
623
|
+
<svelte:self
|
|
624
|
+
{noControls}
|
|
625
|
+
{result}
|
|
626
|
+
{requireHtmlApproval}
|
|
627
|
+
{filename}
|
|
628
|
+
{jobId}
|
|
629
|
+
{workspaceId}
|
|
630
|
+
{hideAsJson}
|
|
631
|
+
{forceJson}
|
|
632
|
+
disableExpand={true}
|
|
633
|
+
/>
|
|
634
|
+
</DrawerContent>
|
|
635
|
+
</Drawer>
|
|
573
636
|
|
|
574
637
|
<Portal>
|
|
575
638
|
<S3FilePicker bind:this={s3FileViewer} readOnlyMode={true} />
|
|
@@ -7,7 +7,7 @@ declare const __propDef: {
|
|
|
7
7
|
icon?: any;
|
|
8
8
|
href?: string | undefined;
|
|
9
9
|
disabled?: boolean | undefined;
|
|
10
|
-
type?: "
|
|
10
|
+
type?: "action" | "delete" | undefined;
|
|
11
11
|
hide?: boolean | undefined;
|
|
12
12
|
}[] | (() => {
|
|
13
13
|
displayName: string;
|
|
@@ -15,7 +15,7 @@ declare const __propDef: {
|
|
|
15
15
|
icon?: any;
|
|
16
16
|
href?: string | undefined;
|
|
17
17
|
disabled?: boolean | undefined;
|
|
18
|
-
type?: "
|
|
18
|
+
type?: "action" | "delete" | undefined;
|
|
19
19
|
hide?: boolean | undefined;
|
|
20
20
|
}[]) | undefined;
|
|
21
21
|
justifyEnd?: boolean | undefined;
|
|
@@ -128,6 +128,9 @@ function reorder() {
|
|
|
128
128
|
bind:pickForField
|
|
129
129
|
bind:extra={schema.properties[argName]}
|
|
130
130
|
simpleTooltip={schemaFieldTooltip[argName]}
|
|
131
|
+
nullable={schema.properties[argName].nullable}
|
|
132
|
+
bind:title={schema.properties[argName].title}
|
|
133
|
+
bind:placeholder={schema.properties[argName].placeholder}
|
|
131
134
|
/>
|
|
132
135
|
{/if}
|
|
133
136
|
{/if}
|