windmill-components 1.309.7 → 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 +10 -6
- 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
|
@@ -96,7 +96,7 @@ const onSuccessClick = {
|
|
|
96
96
|
},
|
|
97
97
|
sendToast: {
|
|
98
98
|
message: {
|
|
99
|
-
tooltip: 'The message of the toast to
|
|
99
|
+
tooltip: 'The message of the toast to display',
|
|
100
100
|
fieldType: 'text',
|
|
101
101
|
type: 'static',
|
|
102
102
|
value: '',
|
|
@@ -183,10 +183,10 @@ const onErrorClick = {
|
|
|
183
183
|
},
|
|
184
184
|
sendErrorToast: {
|
|
185
185
|
message: {
|
|
186
|
-
tooltip: 'The message of the toast to
|
|
186
|
+
tooltip: 'The message of the toast to display',
|
|
187
187
|
fieldType: 'text',
|
|
188
188
|
type: 'static',
|
|
189
|
-
value: '',
|
|
189
|
+
value: 'An error occured',
|
|
190
190
|
placeholder: 'Hello there',
|
|
191
191
|
onDemandOnly: true
|
|
192
192
|
},
|
|
@@ -319,6 +319,12 @@ const aggridcomponentconst = {
|
|
|
319
319
|
fieldType: 'boolean',
|
|
320
320
|
value: false,
|
|
321
321
|
tooltip: 'When true, actions will wrap to the next line. Otherwise, the column will grow to fit the actions.'
|
|
322
|
+
},
|
|
323
|
+
footer: {
|
|
324
|
+
type: 'static',
|
|
325
|
+
fieldType: 'boolean',
|
|
326
|
+
value: true,
|
|
327
|
+
tooltip: 'Allow visible footer for pagination and download'
|
|
322
328
|
}
|
|
323
329
|
},
|
|
324
330
|
componentInput: {
|
|
@@ -340,6 +346,93 @@ const aggridcomponentconst = {
|
|
|
340
346
|
}
|
|
341
347
|
}
|
|
342
348
|
};
|
|
349
|
+
const aggridinfinitecomponentconst = {
|
|
350
|
+
name: 'AgGrid Infinite Table',
|
|
351
|
+
icon: Table2,
|
|
352
|
+
documentationLink: `${documentationBaseUrl}/aggrid_table#aggrid-infinite-table`,
|
|
353
|
+
dims: '3:10-6:10',
|
|
354
|
+
customCss: {
|
|
355
|
+
container: { class: '', style: '' }
|
|
356
|
+
},
|
|
357
|
+
initialData: {
|
|
358
|
+
configuration: {
|
|
359
|
+
columnDefs: {
|
|
360
|
+
type: 'static',
|
|
361
|
+
fieldType: 'array',
|
|
362
|
+
subFieldType: 'ag-grid',
|
|
363
|
+
value: []
|
|
364
|
+
},
|
|
365
|
+
flex: {
|
|
366
|
+
type: 'static',
|
|
367
|
+
fieldType: 'boolean',
|
|
368
|
+
value: true,
|
|
369
|
+
tooltip: 'default col flex is 1 (see ag-grid docs)'
|
|
370
|
+
},
|
|
371
|
+
allEditable: {
|
|
372
|
+
type: 'static',
|
|
373
|
+
fieldType: 'boolean',
|
|
374
|
+
value: false,
|
|
375
|
+
hide: true,
|
|
376
|
+
tooltip: 'Configure all columns as Editable by users'
|
|
377
|
+
},
|
|
378
|
+
multipleSelectable: {
|
|
379
|
+
type: 'static',
|
|
380
|
+
fieldType: 'boolean',
|
|
381
|
+
value: false,
|
|
382
|
+
tooltip: 'Make multiple rows selectable at once'
|
|
383
|
+
},
|
|
384
|
+
rowMultiselectWithClick: {
|
|
385
|
+
type: 'static',
|
|
386
|
+
fieldType: 'boolean',
|
|
387
|
+
value: true,
|
|
388
|
+
tooltip: 'If multiple selectable, allow multiselect with click'
|
|
389
|
+
},
|
|
390
|
+
selectFirstRowByDefault: {
|
|
391
|
+
type: 'static',
|
|
392
|
+
fieldType: 'boolean',
|
|
393
|
+
value: true,
|
|
394
|
+
tooltip: 'Select the first row by default on start'
|
|
395
|
+
},
|
|
396
|
+
extraConfig: {
|
|
397
|
+
type: 'static',
|
|
398
|
+
fieldType: 'object',
|
|
399
|
+
value: {},
|
|
400
|
+
tooltip: 'any configuration that can be passed to ag-grid top level'
|
|
401
|
+
},
|
|
402
|
+
compactness: {
|
|
403
|
+
type: 'static',
|
|
404
|
+
fieldType: 'select',
|
|
405
|
+
value: 'normal',
|
|
406
|
+
selectOptions: ['normal', 'compact', 'comfortable'],
|
|
407
|
+
tooltip: 'Change the row height'
|
|
408
|
+
},
|
|
409
|
+
wrapActions: {
|
|
410
|
+
type: 'static',
|
|
411
|
+
fieldType: 'boolean',
|
|
412
|
+
value: false,
|
|
413
|
+
tooltip: 'When true, actions will wrap to the next line. Otherwise, the column will grow to fit the actions.'
|
|
414
|
+
},
|
|
415
|
+
searchEnabled: {
|
|
416
|
+
type: 'static',
|
|
417
|
+
fieldType: 'boolean',
|
|
418
|
+
value: false,
|
|
419
|
+
tooltip: 'Enable search in the table'
|
|
420
|
+
},
|
|
421
|
+
footer: {
|
|
422
|
+
type: 'static',
|
|
423
|
+
fieldType: 'boolean',
|
|
424
|
+
value: true,
|
|
425
|
+
tooltip: 'Allow visible footer for pagination and download'
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
componentInput: {
|
|
429
|
+
type: 'runnable',
|
|
430
|
+
fieldType: 'any',
|
|
431
|
+
fields: {},
|
|
432
|
+
runnable: undefined
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
};
|
|
343
436
|
const agchartscomponentconst = {
|
|
344
437
|
name: 'AgCharts',
|
|
345
438
|
icon: BarChart4,
|
|
@@ -627,7 +720,7 @@ export const components = {
|
|
|
627
720
|
type: 'static',
|
|
628
721
|
selectOptions: selectOptions.buttonColorOptions,
|
|
629
722
|
value: 'blue',
|
|
630
|
-
tooltip: '
|
|
723
|
+
tooltip: 'These presets can be overwritten with custom styles.'
|
|
631
724
|
},
|
|
632
725
|
size: {
|
|
633
726
|
fieldType: 'select',
|
|
@@ -836,7 +929,7 @@ export const components = {
|
|
|
836
929
|
type: 'static',
|
|
837
930
|
value: 'dark',
|
|
838
931
|
selectOptions: buttonColorOptions,
|
|
839
|
-
tooltip: '
|
|
932
|
+
tooltip: 'These presets can be overwritten with custom styles.'
|
|
840
933
|
},
|
|
841
934
|
size: {
|
|
842
935
|
fieldType: 'select',
|
|
@@ -1260,7 +1353,7 @@ This is a paragraph.
|
|
|
1260
1353
|
}
|
|
1261
1354
|
},
|
|
1262
1355
|
tablecomponent: {
|
|
1263
|
-
name: 'Table',
|
|
1356
|
+
name: 'TanStack Table',
|
|
1264
1357
|
icon: Table2,
|
|
1265
1358
|
documentationLink: `${documentationBaseUrl}/table`,
|
|
1266
1359
|
dims: '3:10-6:10',
|
|
@@ -1320,13 +1413,16 @@ This is a paragraph.
|
|
|
1320
1413
|
name: 'A briefer cell',
|
|
1321
1414
|
age: 84
|
|
1322
1415
|
}
|
|
1323
|
-
]
|
|
1416
|
+
],
|
|
1417
|
+
hideRefreshButton: true
|
|
1324
1418
|
},
|
|
1325
1419
|
actionButtons: true
|
|
1326
1420
|
}
|
|
1327
1421
|
},
|
|
1328
1422
|
aggridcomponent: aggridcomponentconst,
|
|
1329
1423
|
aggridcomponentee: { ...aggridcomponentconst, name: 'AgGrid Table EE' },
|
|
1424
|
+
aggridinfinitecomponent: aggridinfinitecomponentconst,
|
|
1425
|
+
aggridinfinitecomponentee: { ...aggridinfinitecomponentconst, name: 'AgGrid Infinite Table EE' },
|
|
1330
1426
|
checkboxcomponent: {
|
|
1331
1427
|
name: 'Toggle',
|
|
1332
1428
|
icon: ToggleLeft,
|
|
@@ -1527,6 +1623,55 @@ This is a paragraph.
|
|
|
1527
1623
|
},
|
|
1528
1624
|
initialData: {
|
|
1529
1625
|
componentInput: undefined,
|
|
1626
|
+
verticalAlignment: 'center',
|
|
1627
|
+
configuration: {
|
|
1628
|
+
items: {
|
|
1629
|
+
type: 'static',
|
|
1630
|
+
fieldType: 'array',
|
|
1631
|
+
subFieldType: 'text',
|
|
1632
|
+
value: ['Foo', 'Bar']
|
|
1633
|
+
},
|
|
1634
|
+
defaultItems: {
|
|
1635
|
+
type: 'static',
|
|
1636
|
+
fieldType: 'array',
|
|
1637
|
+
subFieldType: 'text',
|
|
1638
|
+
value: []
|
|
1639
|
+
},
|
|
1640
|
+
placeholder: {
|
|
1641
|
+
type: 'static',
|
|
1642
|
+
fieldType: 'text',
|
|
1643
|
+
value: 'Select items'
|
|
1644
|
+
},
|
|
1645
|
+
create: {
|
|
1646
|
+
type: 'static',
|
|
1647
|
+
fieldType: 'boolean',
|
|
1648
|
+
value: false,
|
|
1649
|
+
tooltip: 'Allows user to manually add new value',
|
|
1650
|
+
customTitle: 'User creatable'
|
|
1651
|
+
},
|
|
1652
|
+
allowOverflow: {
|
|
1653
|
+
type: 'static',
|
|
1654
|
+
fieldType: 'boolean',
|
|
1655
|
+
value: true,
|
|
1656
|
+
tooltip: 'If too many items, the box overflow its container instead of having an internal scroll'
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
}
|
|
1660
|
+
},
|
|
1661
|
+
multiselectcomponentv2: {
|
|
1662
|
+
name: 'Multi Select',
|
|
1663
|
+
icon: List,
|
|
1664
|
+
documentationLink: `${documentationBaseUrl}/multiselect`,
|
|
1665
|
+
dims: '2:1-3:1',
|
|
1666
|
+
customCss: {
|
|
1667
|
+
multiselect: {
|
|
1668
|
+
style: '',
|
|
1669
|
+
tooltip: 'See https://multiselect.janosh.dev/#with-css-variables for the available variables'
|
|
1670
|
+
}
|
|
1671
|
+
},
|
|
1672
|
+
initialData: {
|
|
1673
|
+
componentInput: undefined,
|
|
1674
|
+
verticalAlignment: 'center',
|
|
1530
1675
|
configuration: {
|
|
1531
1676
|
items: {
|
|
1532
1677
|
type: 'static',
|
|
@@ -1577,6 +1722,7 @@ This is a paragraph.
|
|
|
1577
1722
|
type: 'static',
|
|
1578
1723
|
fieldType: 'array',
|
|
1579
1724
|
subFieldType: 'labeledresource',
|
|
1725
|
+
allowTypeChange: false,
|
|
1580
1726
|
value: []
|
|
1581
1727
|
},
|
|
1582
1728
|
placeholder: {
|
|
@@ -1717,6 +1863,12 @@ This is a paragraph.
|
|
|
1717
1863
|
type: 'static',
|
|
1718
1864
|
value: false,
|
|
1719
1865
|
fieldType: 'boolean'
|
|
1866
|
+
},
|
|
1867
|
+
axisStep: {
|
|
1868
|
+
type: 'static',
|
|
1869
|
+
value: 10,
|
|
1870
|
+
fieldType: 'number',
|
|
1871
|
+
tooltip: 'Spread between each number suggestion when using the arrow keys'
|
|
1720
1872
|
}
|
|
1721
1873
|
}
|
|
1722
1874
|
}
|
|
@@ -1823,6 +1975,12 @@ This is a paragraph.
|
|
|
1823
1975
|
value: false,
|
|
1824
1976
|
fieldType: 'boolean',
|
|
1825
1977
|
tooltip: 'Determine if the slider is disabled, or enabled (only disables interactions, and events)'
|
|
1978
|
+
},
|
|
1979
|
+
axisStep: {
|
|
1980
|
+
type: 'static',
|
|
1981
|
+
value: 10,
|
|
1982
|
+
fieldType: 'number',
|
|
1983
|
+
tooltip: 'Spread between each number suggestion when using the arrow keys'
|
|
1826
1984
|
}
|
|
1827
1985
|
}
|
|
1828
1986
|
}
|
|
@@ -1933,10 +2091,10 @@ This is a paragraph.
|
|
|
1933
2091
|
},
|
|
1934
2092
|
outputFormat: {
|
|
1935
2093
|
type: 'static',
|
|
1936
|
-
value:
|
|
2094
|
+
value: 'yyyy-MM-dd',
|
|
1937
2095
|
fieldType: 'text',
|
|
1938
2096
|
markdownTooltip: `### Output format
|
|
1939
|
-
See date-fns format for more information. By default, it is 'dd
|
|
2097
|
+
See date-fns format for more information. By default, it is 'yyyy-MM-dd'
|
|
1940
2098
|
|
|
1941
2099
|
| Format | Result | Description |
|
|
1942
2100
|
| ----------- | ----------- | ----------- |
|
|
@@ -1948,7 +2106,7 @@ See date-fns format for more information. By default, it is 'dd.MM.yyyy'
|
|
|
1948
2106
|
| yyyy | 2021, 2022, ... | Year |
|
|
1949
2107
|
`,
|
|
1950
2108
|
documentationLink: 'https://date-fns.org/v2.30.0/docs/format',
|
|
1951
|
-
placeholder: 'dd
|
|
2109
|
+
placeholder: 'yyyy-MM-dd'
|
|
1952
2110
|
}
|
|
1953
2111
|
}
|
|
1954
2112
|
}
|
|
@@ -2519,7 +2677,7 @@ See date-fns format for more information. By default, it is 'dd.MM.yyyy HH:mm'
|
|
|
2519
2677
|
type: 'static',
|
|
2520
2678
|
selectOptions: buttonColorOptions,
|
|
2521
2679
|
value: 'blue',
|
|
2522
|
-
tooltip: '
|
|
2680
|
+
tooltip: 'These presets can be overwritten with custom styles.'
|
|
2523
2681
|
},
|
|
2524
2682
|
buttonSize: {
|
|
2525
2683
|
fieldType: 'select',
|
|
@@ -2585,7 +2743,7 @@ See date-fns format for more information. By default, it is 'dd.MM.yyyy HH:mm'
|
|
|
2585
2743
|
fieldType: 'boolean',
|
|
2586
2744
|
type: 'static',
|
|
2587
2745
|
value: false,
|
|
2588
|
-
tooltip: 'This will
|
|
2746
|
+
tooltip: 'This will display the type and/or the format on the field next to the label.'
|
|
2589
2747
|
},
|
|
2590
2748
|
largeGap: {
|
|
2591
2749
|
fieldType: 'boolean',
|
|
@@ -3080,6 +3238,12 @@ See date-fns format for more information. By default, it is 'dd.MM.yyyy HH:mm'
|
|
|
3080
3238
|
fieldType: 'boolean',
|
|
3081
3239
|
value: false,
|
|
3082
3240
|
tooltip: 'When true, actions will wrap to the next line. Otherwise, the column will grow to fit the actions.'
|
|
3241
|
+
},
|
|
3242
|
+
footer: {
|
|
3243
|
+
type: 'static',
|
|
3244
|
+
fieldType: 'boolean',
|
|
3245
|
+
value: true,
|
|
3246
|
+
tooltip: 'Allow visible footer for pagination and download'
|
|
3083
3247
|
}
|
|
3084
3248
|
},
|
|
3085
3249
|
componentInput: undefined
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { AppComponent } from '.';
|
|
2
2
|
export declare function defaultCode(component: string, language: string): string | undefined;
|
|
3
|
-
export declare const DEFAULT_CODES: Partial<Record<AppComponent['type'], Partial<Record<'deno' | 'python3' | 'go' | 'bash' | 'pgsql' | 'mysql', string>>>>;
|
|
3
|
+
export declare const DEFAULT_CODES: Partial<Record<AppComponent['type'], Partial<Record<'deno' | 'python3' | 'go' | 'bash' | 'pgsql' | 'mysql' | 'postgresql' | 'snowflake' | 'mssql' | 'bigquery', string>>>>;
|
|
@@ -33,15 +33,7 @@ export const DEFAULT_CODES = {
|
|
|
33
33
|
"name": "A briefer cell",
|
|
34
34
|
"age": 84
|
|
35
35
|
}
|
|
36
|
-
]
|
|
37
|
-
pgsql: `import { pgSql } from "npm:windmill-client@${__pkg__.version}";
|
|
38
|
-
|
|
39
|
-
type Postgresql = object
|
|
40
|
-
|
|
41
|
-
export async function main(db: Postgresql) {
|
|
42
|
-
const query = await pgSql(db)\`SELECT * FROM demo;\`;
|
|
43
|
-
return query.rows;
|
|
44
|
-
}`
|
|
36
|
+
]`
|
|
45
37
|
},
|
|
46
38
|
aggridcomponent: {
|
|
47
39
|
deno: `export async function main() {
|
|
@@ -92,6 +84,246 @@ export async function main(db: Postgresql) {
|
|
|
92
84
|
# raise Exception("first step invalid")
|
|
93
85
|
# elif ...
|
|
94
86
|
`
|
|
87
|
+
},
|
|
88
|
+
aggridinfinitecomponent: {
|
|
89
|
+
deno: `type User = {
|
|
90
|
+
id: number;
|
|
91
|
+
name: string;
|
|
92
|
+
email: string;
|
|
93
|
+
created_at: string;
|
|
94
|
+
};
|
|
95
|
+
const GLOBAL_COUNT = 25000;
|
|
96
|
+
|
|
97
|
+
function getUsers(limit: number, offset: number): User[] {
|
|
98
|
+
|
|
99
|
+
if (offset > GLOBAL_COUNT) {
|
|
100
|
+
return []
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// In this example, we have 25000 users at most
|
|
104
|
+
return Array.from({ length: offset + limit >= GLOBAL_COUNT ? GLOBAL_COUNT - offset : limit }, (_, index) => ({
|
|
105
|
+
id: offset + index,
|
|
106
|
+
name: \`User \${offset + index}\`,
|
|
107
|
+
email: \`user\${offset + index}@example.com\`,
|
|
108
|
+
created_at: new Date().toISOString(),
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export async function main(offset: number, limit: number, orderBy: string, isDesc: boolean, search: string): Promise<User[]> {
|
|
113
|
+
let users = getUsers(limit, offset);
|
|
114
|
+
|
|
115
|
+
if (orderBy && Object.keys(users[0]).includes(orderBy)) {
|
|
116
|
+
users.sort((a, b) => {
|
|
117
|
+
const aValue = a[orderBy as keyof User];
|
|
118
|
+
const bValue = b[orderBy as keyof User];
|
|
119
|
+
|
|
120
|
+
if (typeof aValue === 'string' && typeof bValue === 'string') {
|
|
121
|
+
return isDesc ? bValue.localeCompare(aValue) : aValue.localeCompare(bValue);
|
|
122
|
+
}
|
|
123
|
+
return 0;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (search) {
|
|
128
|
+
return users.filter(user =>
|
|
129
|
+
Object.values(user).some(value =>
|
|
130
|
+
typeof value === 'string' && value.toLowerCase().includes(search.toLowerCase())
|
|
131
|
+
)
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return users;
|
|
136
|
+
}`,
|
|
137
|
+
python3: `from datetime import datetime, timezone
|
|
138
|
+
from typing import List
|
|
139
|
+
|
|
140
|
+
GLOBAL_COUNT = 25000
|
|
141
|
+
|
|
142
|
+
def get_users(limit: int, offset: int) -> List:
|
|
143
|
+
if offset > GLOBAL_COUNT:
|
|
144
|
+
return []
|
|
145
|
+
else:
|
|
146
|
+
return [
|
|
147
|
+
{
|
|
148
|
+
"id": offset + index,
|
|
149
|
+
"name": f"User {offset + index}",
|
|
150
|
+
"email": f"user{offset + index}@example.com",
|
|
151
|
+
"created_at": datetime.now(timezone.utc).isoformat(),
|
|
152
|
+
}
|
|
153
|
+
for index in range(
|
|
154
|
+
GLOBAL_COUNT - offset if offset + limit >= GLOBAL_COUNT else limit
|
|
155
|
+
)
|
|
156
|
+
]
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
def main(offset: int, limit: int, order_by: str, is_desc: bool, search: str) -> List:
|
|
160
|
+
users = get_users(limit, offset)
|
|
161
|
+
|
|
162
|
+
if order_by:
|
|
163
|
+
users.sort(key=lambda user: getattr(user, order_by, ""), reverse=is_desc)
|
|
164
|
+
|
|
165
|
+
if search:
|
|
166
|
+
search_lower = search.lower()
|
|
167
|
+
users = [
|
|
168
|
+
user
|
|
169
|
+
for user in users
|
|
170
|
+
if search_lower in user["name"].lower()
|
|
171
|
+
or search_lower in user["email"].lower()
|
|
172
|
+
]
|
|
173
|
+
|
|
174
|
+
return users
|
|
175
|
+
`,
|
|
176
|
+
postgresql: `-- $1 limit
|
|
177
|
+
-- $2 offset
|
|
178
|
+
-- $3 search
|
|
179
|
+
SELECT * FROM demo
|
|
180
|
+
WHERE COALESCE($3, '') = '' OR CONCAT(col1, col2) ILIKE '%' || $3::text || '%'
|
|
181
|
+
LIMIT $1::INT OFFSET $2::INT;`,
|
|
182
|
+
mysql: `-- :limit (int)
|
|
183
|
+
-- :offset (int)
|
|
184
|
+
-- :search (string)
|
|
185
|
+
SELECT * FROM demo
|
|
186
|
+
WHERE COALESCE(:search, '') = '' OR CONCAT(col1, col2) LIKE CONCAT('%', :search, '%')
|
|
187
|
+
LIMIT :limit OFFSET :offset;`,
|
|
188
|
+
bigquery: `-- @limit (integer)
|
|
189
|
+
-- @offset (integer)
|
|
190
|
+
-- @search (string)
|
|
191
|
+
SELECT * FROM demo
|
|
192
|
+
WHERE COALESCE(@search, '') = '' OR REGEXP_CONTAINS(CONCAT(CAST(\`col1\` AS STRING),CAST(\`col2\` AS STRING)), '(?i)' || @search)
|
|
193
|
+
LIMIT @limit OFFSET @offset;`,
|
|
194
|
+
snowflake: `-- ? search (text)
|
|
195
|
+
-- ? search (text)
|
|
196
|
+
-- ? search (text)
|
|
197
|
+
|
|
198
|
+
SELECT * FROM demo
|
|
199
|
+
WHERE LENGTH(?) = 0 OR CONCAT("ID") ILIKE CONCAT('%', ?, '%') OR CONCAT("NAME") ILIKE CONCAT('%', ?, '%')
|
|
200
|
+
LIMIT 100 OFFSET 0`,
|
|
201
|
+
mssql: `-- @p1 limit (int)
|
|
202
|
+
-- @p2 offset (int)
|
|
203
|
+
-- @p3 search (text)
|
|
204
|
+
SELECT * FROM Demo WHERE (@p3 = '' OR CONCAT([col1], [col2], [col3]) LIKE '%' + @p3 + '%')
|
|
205
|
+
ORDER BY col1
|
|
206
|
+
OFFSET @p2 ROWS FETCH NEXT @p1 ROWS ONLY`
|
|
207
|
+
},
|
|
208
|
+
aggridinfinitecomponentee: {
|
|
209
|
+
deno: `type User = {
|
|
210
|
+
id: number;
|
|
211
|
+
name: string;
|
|
212
|
+
email: string;
|
|
213
|
+
created_at: string;
|
|
214
|
+
};
|
|
215
|
+
const GLOBAL_COUNT = 25000;
|
|
216
|
+
|
|
217
|
+
function getUsers(limit: number, offset: number): User[] {
|
|
218
|
+
|
|
219
|
+
if (offset > GLOBAL_COUNT) {
|
|
220
|
+
return []
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// In this example, we have 25000 users at most
|
|
224
|
+
return Array.from({ length: offset + limit >= GLOBAL_COUNT ? GLOBAL_COUNT - offset : limit }, (_, index) => ({
|
|
225
|
+
id: offset + index,
|
|
226
|
+
name: \`User \${offset + index}\`,
|
|
227
|
+
email: \`user\${offset + index}@example.com\`,
|
|
228
|
+
created_at: new Date().toISOString(),
|
|
229
|
+
}));
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export async function main(offset: number, limit: number, orderBy: string, isDesc: boolean, search: string): Promise<User[]> {
|
|
233
|
+
let users = getUsers(limit, offset);
|
|
234
|
+
|
|
235
|
+
if (orderBy && Object.keys(users[0]).includes(orderBy)) {
|
|
236
|
+
users.sort((a, b) => {
|
|
237
|
+
const aValue = a[orderBy as keyof User];
|
|
238
|
+
const bValue = b[orderBy as keyof User];
|
|
239
|
+
|
|
240
|
+
if (typeof aValue === 'string' && typeof bValue === 'string') {
|
|
241
|
+
return isDesc ? bValue.localeCompare(aValue) : aValue.localeCompare(bValue);
|
|
242
|
+
}
|
|
243
|
+
return 0;
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (search) {
|
|
248
|
+
return users.filter(user =>
|
|
249
|
+
Object.values(user).some(value =>
|
|
250
|
+
typeof value === 'string' && value.toLowerCase().includes(search.toLowerCase())
|
|
251
|
+
)
|
|
252
|
+
);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return users;
|
|
256
|
+
}`,
|
|
257
|
+
python3: `from datetime import datetime, timezone
|
|
258
|
+
from typing import List
|
|
259
|
+
|
|
260
|
+
GLOBAL_COUNT = 25000
|
|
261
|
+
|
|
262
|
+
def get_users(limit: int, offset: int) -> List:
|
|
263
|
+
if offset > GLOBAL_COUNT:
|
|
264
|
+
return []
|
|
265
|
+
else:
|
|
266
|
+
return [
|
|
267
|
+
{
|
|
268
|
+
"id": offset + index,
|
|
269
|
+
"name": f"User {offset + index}",
|
|
270
|
+
"email": f"user{offset + index}@example.com",
|
|
271
|
+
"created_at": datetime.now(timezone.utc).isoformat(),
|
|
272
|
+
}
|
|
273
|
+
for index in range(
|
|
274
|
+
GLOBAL_COUNT - offset if offset + limit >= GLOBAL_COUNT else limit
|
|
275
|
+
)
|
|
276
|
+
]
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
def main(offset: int, limit: int, order_by: str, is_desc: bool, search: str) -> List:
|
|
280
|
+
users = get_users(limit, offset)
|
|
281
|
+
|
|
282
|
+
if order_by:
|
|
283
|
+
users.sort(key=lambda user: getattr(user, order_by, ""), reverse=is_desc)
|
|
284
|
+
|
|
285
|
+
if search:
|
|
286
|
+
search_lower = search.lower()
|
|
287
|
+
users = [
|
|
288
|
+
user
|
|
289
|
+
for user in users
|
|
290
|
+
if search_lower in user["name"].lower()
|
|
291
|
+
or search_lower in user["email"].lower()
|
|
292
|
+
]
|
|
293
|
+
|
|
294
|
+
return users
|
|
295
|
+
`,
|
|
296
|
+
postgresql: `-- $1 limit
|
|
297
|
+
-- $2 offset
|
|
298
|
+
-- $3 search
|
|
299
|
+
SELECT * FROM demo
|
|
300
|
+
WHERE COALESCE($3, '') = '' OR CONCAT(col1, col2) ILIKE '%' || $3::text || '%'
|
|
301
|
+
LIMIT $1::INT OFFSET $2::INT;`,
|
|
302
|
+
mysql: `-- :limit (int)
|
|
303
|
+
-- :offset (int)
|
|
304
|
+
-- :search (string)
|
|
305
|
+
SELECT * FROM demo
|
|
306
|
+
WHERE COALESCE(:search, '') = '' OR CONCAT(col1, col2) LIKE CONCAT('%', :search, '%')
|
|
307
|
+
LIMIT :limit OFFSET :offset;`,
|
|
308
|
+
bigquery: `-- @limit (integer)
|
|
309
|
+
-- @offset (integer)
|
|
310
|
+
-- @search (string)
|
|
311
|
+
SELECT * FROM demo
|
|
312
|
+
WHERE COALESCE(@search, '') = '' OR REGEXP_CONTAINS(CONCAT(CAST(\`col1\` AS STRING),CAST(\`col2\` AS STRING)), '(?i)' || @search)
|
|
313
|
+
LIMIT @limit OFFSET @offset;`,
|
|
314
|
+
snowflake: `-- ? search (text)
|
|
315
|
+
-- ? search (text)
|
|
316
|
+
-- ? search (text)
|
|
317
|
+
|
|
318
|
+
SELECT * FROM demo
|
|
319
|
+
WHERE LENGTH(?) = 0 OR CONCAT("ID") ILIKE CONCAT('%', ?, '%') OR CONCAT("NAME") ILIKE CONCAT('%', ?, '%')
|
|
320
|
+
LIMIT 100 OFFSET 0`,
|
|
321
|
+
mssql: `-- @p1 limit (int)
|
|
322
|
+
-- @p2 offset (int)
|
|
323
|
+
-- @p3 search (text)
|
|
324
|
+
SELECT * FROM Demo WHERE (@p3 = '' OR CONCAT([col1], [col2], [col3]) LIKE '%' + @p3 + '%')
|
|
325
|
+
ORDER BY col1
|
|
326
|
+
OFFSET @p2 ROWS FETCH NEXT @p1 ROWS ONLY`
|
|
95
327
|
},
|
|
96
328
|
textcomponent: {
|
|
97
329
|
deno: `export async function main() {
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import type { ComponentSet } from '../../types';
|
|
2
2
|
export declare const COMPONENT_SETS: readonly [ComponentSet, ComponentSet, ComponentSet, ComponentSet, ComponentSet, ComponentSet, ComponentSet];
|
|
3
|
+
export declare const DEPRECATED_COMPONENTS: {
|
|
4
|
+
tablecomponent: string;
|
|
5
|
+
};
|
|
@@ -45,7 +45,7 @@ const inputs = {
|
|
|
45
45
|
'checkboxcomponent',
|
|
46
46
|
'selectcomponent',
|
|
47
47
|
'resourceselectcomponent',
|
|
48
|
-
'
|
|
48
|
+
'multiselectcomponentv2',
|
|
49
49
|
'selecttabcomponent',
|
|
50
50
|
'selectstepcomponent'
|
|
51
51
|
]
|
|
@@ -70,7 +70,14 @@ const display = {
|
|
|
70
70
|
};
|
|
71
71
|
const tables = {
|
|
72
72
|
title: 'Tables',
|
|
73
|
-
components: [
|
|
73
|
+
components: [
|
|
74
|
+
'aggridcomponent',
|
|
75
|
+
'aggridcomponentee',
|
|
76
|
+
'dbexplorercomponent',
|
|
77
|
+
'aggridinfinitecomponent',
|
|
78
|
+
'aggridinfinitecomponentee',
|
|
79
|
+
'tablecomponent'
|
|
80
|
+
]
|
|
74
81
|
};
|
|
75
82
|
const charts = {
|
|
76
83
|
title: 'Charts',
|
|
@@ -83,3 +90,6 @@ const charts = {
|
|
|
83
90
|
]
|
|
84
91
|
};
|
|
85
92
|
export const COMPONENT_SETS = [layout, tabs, buttons, inputs, tables, display, charts];
|
|
93
|
+
export const DEPRECATED_COMPONENTS = {
|
|
94
|
+
tablecomponent: 'We will be removing this component in the future. we recommend using the AgGrid table instead.'
|
|
95
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>import { getContext, tick } from 'svelte';
|
|
2
|
-
import { components as componentsRecord, presets as presetsRecord, COMPONENT_SETS } from '../component';
|
|
2
|
+
import { components as componentsRecord, presets as presetsRecord, COMPONENT_SETS, DEPRECATED_COMPONENTS } from '../component';
|
|
3
3
|
import ListItem from './ListItem.svelte';
|
|
4
4
|
import { appComponentFromType, copyComponent, insertNewGridItem } from '../appUtils';
|
|
5
5
|
import { push } from '../../../../history';
|
|
@@ -10,6 +10,7 @@ import { LayoutDashboard, Plus } from 'lucide-svelte';
|
|
|
10
10
|
import { ResourceService } from '../../../../gen';
|
|
11
11
|
import { sendUserToast } from '../../../../toast';
|
|
12
12
|
import ComponentsList from './CustomComponentsList.svelte';
|
|
13
|
+
import Popover from '../../../Popover.svelte';
|
|
13
14
|
const { app, selectedComponent, focusedGrid } = getContext('AppViewerContext');
|
|
14
15
|
const { history, dndItem, yTop } = getContext('AppEditorContext');
|
|
15
16
|
let groups = [];
|
|
@@ -137,7 +138,19 @@ let ccDrawer;
|
|
|
137
138
|
<ListItem title={`${title}`} subtitle={`(${components.length})`}>
|
|
138
139
|
<div class="flex flex-wrap gap-3 py-2">
|
|
139
140
|
{#each components as item (item)}
|
|
140
|
-
<div class="w-20">
|
|
141
|
+
<div class="w-20 relative">
|
|
142
|
+
{#if DEPRECATED_COMPONENTS[item]}
|
|
143
|
+
<div
|
|
144
|
+
class="absolute -top-2 -right-2 bg-gray-100 text-gray-900 dark:bg-gray-800 dark:text-gray-100 rounded-md py-0.5 px-1 flex flex-row gap-1 items-center"
|
|
145
|
+
>
|
|
146
|
+
<Popover>
|
|
147
|
+
<div slot="text">
|
|
148
|
+
{DEPRECATED_COMPONENTS[item]}
|
|
149
|
+
</div>
|
|
150
|
+
<div class="font-normal text-2xs"> Deprecated </div>
|
|
151
|
+
</Popover>
|
|
152
|
+
</div>
|
|
153
|
+
{/if}
|
|
141
154
|
<button
|
|
142
155
|
id={item}
|
|
143
156
|
on:pointerdown={async (e) => {
|
|
@@ -39,7 +39,7 @@ const clearFiles = {
|
|
|
39
39
|
title: 'clearFiles',
|
|
40
40
|
description: 'Clear the files of a file input component.',
|
|
41
41
|
example: 'clearFiles(id: string)',
|
|
42
|
-
documentation: 'https://www.windmill.dev/docs/apps/app-runnable-panel#
|
|
42
|
+
documentation: 'https://www.windmill.dev/docs/apps/app-runnable-panel#clearfiles'
|
|
43
43
|
};
|
|
44
44
|
const close = {
|
|
45
45
|
title: 'close',
|
|
@@ -78,8 +78,9 @@ export function getComponentControl(type) {
|
|
|
78
78
|
case 'drawercomponent':
|
|
79
79
|
return [open, close];
|
|
80
80
|
case 'aggridcomponent':
|
|
81
|
-
return [getAgGrid, setSelectedIndex];
|
|
82
81
|
case 'aggridcomponentee':
|
|
82
|
+
case 'aggridinfinitecomponent':
|
|
83
|
+
case 'aggridinfinitecomponentee':
|
|
83
84
|
return [getAgGrid, setSelectedIndex];
|
|
84
85
|
case 's3fileinputcomponent':
|
|
85
86
|
return [clearFiles];
|
|
@@ -93,6 +94,7 @@ export function getComponentControl(type) {
|
|
|
93
94
|
case 'checkboxcomponent':
|
|
94
95
|
case 'rangecomponent':
|
|
95
96
|
case 'multiselectcomponent':
|
|
97
|
+
case 'multiselectcomponentv2':
|
|
96
98
|
case 'selectcomponent':
|
|
97
99
|
case 'slidercomponent':
|
|
98
100
|
case 'dateslidercomponent':
|