windmill-components 1.122.0 → 1.138.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 +8 -0
- package/package/common.d.ts +1 -0
- package/package/common.js +8 -0
- package/package/components/AddUser.svelte +27 -5
- package/package/components/ApiConnectForm.svelte +14 -39
- package/package/components/AppConnect.svelte +25 -9
- package/package/components/ArgEnum.svelte +1 -0
- package/package/components/ArgInfo.svelte +2 -2
- package/package/components/ArgInput.svelte +16 -13
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/ArrayTypeNarrowing.svelte +1 -1
- package/package/components/Badge.svelte +1 -1
- package/package/components/CenteredModal.svelte +7 -13
- package/package/components/ChevronButton.svelte +1 -1
- package/package/components/CliHelpBox.svelte +4 -25
- package/package/components/CollapseLink.svelte +3 -2
- package/package/components/CollapseLink.svelte.d.ts +1 -0
- package/package/components/CronInput.svelte +5 -5
- package/package/components/DBSchemaExplorer.svelte +160 -0
- package/package/components/DBSchemaExplorer.svelte.d.ts +17 -0
- package/package/components/DarkModeObserver.svelte +18 -0
- package/package/components/DarkModeObserver.svelte.d.ts +16 -0
- package/package/components/DeployWorkspace.svelte +1 -1
- package/package/components/DiffDrawer.svelte +3 -1
- package/package/components/DiffEditor.svelte +69 -0
- package/package/components/DiffEditor.svelte.d.ts +35 -0
- package/package/components/DisplayResult.svelte +29 -13
- package/package/components/DisplayResult.svelte.d.ts +8 -0
- package/package/components/Dropdown.svelte +8 -8
- package/package/components/Editor.svelte +125 -17
- package/package/components/Editor.svelte.d.ts +11 -1
- package/package/components/EditorBar.svelte +149 -56
- package/package/components/EditorBar.svelte.d.ts +5 -1
- package/package/components/EditorTheme.svelte +194 -0
- package/package/components/EditorTheme.svelte.d.ts +14 -0
- package/package/components/FieldHeader.svelte +6 -6
- package/package/components/FlowBuilder.svelte +6 -2
- package/package/components/FlowGraphViewer.svelte +9 -11
- package/package/components/FlowJobResult.svelte +4 -3
- package/package/components/FlowJobResult.svelte.d.ts +1 -0
- package/package/components/FlowMetadata.svelte +16 -14
- package/package/components/FlowPreviewContent.svelte +4 -4
- package/package/components/FlowStatusViewer.svelte +20 -17
- package/package/components/FlowStatusWaitingForEvents.svelte +1 -1
- package/package/components/FlowViewer.svelte +8 -5
- package/package/components/FlowViewer.svelte.d.ts +1 -0
- package/package/components/FolderEditor.svelte +3 -3
- package/package/components/FolderInfo.svelte +2 -2
- package/package/components/FolderUsageInfo.svelte +1 -1
- package/package/components/GroupEditor.svelte +40 -13
- package/package/components/GroupInfo.svelte +2 -2
- package/package/components/HighlightCode.svelte +4 -0
- package/package/components/HighlightCode.svelte.d.ts +2 -1
- package/package/components/IconedResourceType.svelte +1 -1
- package/package/components/InlineCodeCopy.svelte +2 -1
- package/package/components/InputTransformForm.svelte +1 -5
- package/package/components/InputTransformSchemaForm.svelte +2 -2
- package/package/components/InputTransformsViewer.svelte +2 -2
- package/package/components/InviteGlobalUser.svelte +39 -28
- package/package/components/InviteUser.svelte +27 -5
- package/package/components/ItemPicker.svelte +13 -7
- package/package/components/JobArgs.svelte +4 -4
- package/package/components/LightweightArgInput.svelte +3 -3
- package/package/components/LogViewer.svelte +10 -5
- package/package/components/LoginPageHeader.svelte +16 -0
- package/package/components/LoginPageHeader.svelte.d.ts +23 -0
- package/package/components/Modal.svelte +2 -2
- package/package/components/ModulePreview.svelte +15 -5
- package/package/components/ModulePreview.svelte.d.ts +6 -1
- package/package/components/ModuleStatus.svelte +2 -2
- package/package/components/MoveDrawer.svelte +3 -3
- package/package/components/ObjectResourceInput.svelte +2 -0
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/Password.svelte +8 -3
- package/package/components/Password.svelte.d.ts +1 -0
- package/package/components/Path.svelte +31 -18
- package/package/components/Path.svelte.d.ts +4 -0
- package/package/components/RadioButton.svelte +3 -3
- package/package/components/Range.svelte.d.ts +0 -3
- package/package/components/Required.svelte +2 -2
- package/package/components/ResourceEditor.svelte +10 -9
- package/package/components/ResourcePicker.svelte +31 -6
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +2 -2
- package/package/components/RunForm.svelte +69 -59
- package/package/components/RunForm.svelte.d.ts +1 -0
- package/package/components/RunPageSchedules.svelte +169 -0
- package/package/components/RunPageSchedules.svelte.d.ts +18 -0
- package/package/components/SavedInputs.svelte +36 -18
- package/package/components/ScheduleEditor.svelte +23 -11
- package/package/components/SchemaEditor.svelte +16 -8
- package/package/components/SchemaForm.svelte +7 -9
- package/package/components/SchemaForm.svelte.d.ts +1 -0
- package/package/components/SchemaModal.svelte +41 -13
- package/package/components/SchemaModal.svelte.d.ts +2 -1
- package/package/components/SchemaViewer.svelte +1 -1
- package/package/components/ScriptBuilder.svelte +147 -76
- package/package/components/ScriptBuilder.svelte.d.ts +1 -1
- package/package/components/ScriptEditor.svelte +22 -2
- package/package/components/ScriptEditor.svelte.d.ts +6 -3
- package/package/components/ScriptPicker.svelte +84 -32
- package/package/components/ScriptPicker.svelte.d.ts +1 -0
- package/package/components/ScriptVersionHistory.svelte +20 -2
- package/package/components/ScriptVersionHistory.svelte.d.ts +3 -0
- package/package/components/SharedBadge.svelte +1 -1
- package/package/components/SimpleEditor.svelte +25 -10
- package/package/components/SimpleEditor.svelte.d.ts +9 -0
- package/package/components/Star.svelte +5 -1
- package/package/components/StringTypeNarrowing.svelte +2 -2
- package/package/components/SupabaseConnect.svelte +160 -0
- package/package/components/SupabaseConnect.svelte.d.ts +19 -0
- package/package/components/SuperadminSettings.svelte +9 -8
- package/package/components/TableCustom.svelte +2 -2
- package/package/components/TableSimple.svelte +5 -5
- package/package/components/TemplateEditor.svelte +0 -10
- package/package/components/TestConnection.svelte +72 -0
- package/package/components/TestConnection.svelte.d.ts +17 -0
- package/package/components/TestJobLoader.svelte.d.ts +4 -3
- package/package/components/Toast.svelte +7 -5
- package/package/components/Toggle.svelte +3 -3
- package/package/components/ToggleHubWorkspace.svelte +6 -9
- package/package/components/Tooltip.svelte +2 -2
- package/package/components/Uptodate.svelte +2 -2
- package/package/components/UserSettings.svelte +10 -10
- package/package/components/VariableEditor.svelte +21 -20
- package/package/components/Version.svelte +3 -1
- package/package/components/WhitelistIp.svelte +1 -1
- package/package/components/apps/components/buttons/AppButton.svelte +2 -2
- package/package/components/apps/components/buttons/AppForm.svelte +5 -4
- package/package/components/apps/components/buttons/AppFormButton.svelte +1 -1
- package/package/components/apps/components/buttons/AppSchemaForm.svelte +1 -1
- package/package/components/apps/components/display/AppBarChart.svelte +13 -1
- package/package/components/apps/components/display/AppFlowStatusComponent.svelte +1 -1
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +64 -0
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +23 -0
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte +72 -0
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +23 -0
- package/package/components/apps/components/display/AppMap.svelte +4 -10
- package/package/components/apps/components/display/AppPdf.svelte +6 -6
- package/package/components/apps/components/display/AppText.svelte +19 -19
- package/package/components/apps/components/display/PlotlyHtml.svelte +16 -4
- package/package/components/apps/components/display/table/AppAggridTable.svelte +16 -12
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/AppTable.svelte +149 -124
- package/package/components/apps/components/helpers/ComponentErrorHandler.svelte +2 -2
- package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
- package/package/components/apps/components/helpers/InputValue.svelte +14 -4
- package/package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -0
- package/package/components/apps/components/helpers/Loader.svelte +1 -1
- package/package/components/apps/components/helpers/MissingConnectionWarning.svelte +1 -1
- package/package/components/apps/components/helpers/RefreshButton.svelte +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +57 -21
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +52 -28
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +15 -2
- package/package/components/apps/components/helpers/eval.d.ts +2 -0
- package/package/components/apps/components/helpers/eval.js +6 -1
- package/package/components/apps/components/inputs/AppCheckbox.svelte +15 -17
- package/package/components/apps/components/inputs/AppDateInput.svelte +19 -1
- package/package/components/apps/components/inputs/AppMultiSelect.svelte +81 -22
- package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +2 -0
- package/package/components/apps/components/inputs/AppQuillEditor.svelte +29 -3
- package/package/components/apps/components/inputs/AppSelect.svelte +18 -7
- package/package/components/apps/components/inputs/AppSelectTab.svelte +3 -8
- package/package/components/apps/components/inputs/AppTextInput.svelte +4 -0
- package/package/components/apps/components/inputs/AppTextInput.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppList.svelte +54 -62
- package/package/components/apps/components/layout/AppModal.svelte +13 -5
- package/package/components/apps/components/layout/AppStepper.svelte +1 -1
- package/package/components/apps/components/layout/AppTabs.svelte +3 -3
- package/package/components/apps/components/layout/ListWrapper.svelte +0 -1
- package/package/components/apps/components/layout/RowWrapper.svelte +22 -0
- package/package/components/apps/components/layout/RowWrapper.svelte.d.ts +23 -0
- package/package/components/apps/editor/AppComponentInput.svelte +1 -1
- package/package/components/apps/editor/AppDeploymentHistory.svelte +34 -0
- package/package/components/apps/editor/AppDeploymentHistory.svelte.d.ts +17 -0
- package/package/components/apps/editor/AppEditor.svelte +13 -4
- package/package/components/apps/editor/AppEditorHeader.svelte +78 -41
- package/package/components/apps/editor/AppInputs.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +14 -5
- package/package/components/apps/editor/ComponentHeader.svelte +4 -4
- package/package/components/apps/editor/DeploymentHistory.svelte +8 -6
- package/package/components/apps/editor/GridEditor.svelte +4 -4
- package/package/components/apps/editor/RecomputeAllComponents.svelte +2 -2
- package/package/components/apps/editor/SettingsPanel.svelte +4 -5
- package/package/components/apps/editor/TabsDebug.svelte +1 -1
- package/package/components/apps/editor/component/Component.svelte +21 -1
- package/package/components/apps/editor/component/ComponentNavigation.svelte +15 -1
- package/package/components/apps/editor/component/components.d.ts +293 -58
- package/package/components/apps/editor/component/components.js +146 -4
- package/package/components/apps/editor/component/sets.js +2 -2
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +8 -8
- package/package/components/apps/editor/componentsPanel/CssProperty.svelte +4 -4
- package/package/components/apps/editor/componentsPanel/CssSettings.svelte +2 -2
- package/package/components/apps/editor/componentsPanel/ListItem.svelte +3 -3
- package/package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +2 -2
- package/package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte +3 -3
- package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +8 -0
- package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +3 -3
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +8 -6
- package/package/components/apps/editor/contextPanel/SubGridOutput.svelte +6 -3
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +18 -24
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +16 -9
- package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +16 -26
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +71 -51
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +2 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte +21 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte.d.ts +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +9 -3
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +33 -11
- package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +24 -11
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +2 -3
- package/package/components/apps/editor/settingsPanel/GridPane.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +0 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +4 -5
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -4
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +0 -2
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/Recompute.svelte +5 -5
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +12 -7
- package/package/components/apps/editor/settingsPanel/common/PanelSection.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -3
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +63 -74
- package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/TabSelectInput.svelte +3 -7
- package/package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +5 -5
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +3 -3
- package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +4 -4
- package/package/components/apps/editor/settingsPanel/script/BackgroundScriptSettings.svelte +2 -0
- package/package/components/apps/editor/settingsPanel/script/ComponentScriptSettings.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptTransformer.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptTransformer.svelte.d.ts +7 -4
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptTriggers.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +2 -2
- package/package/components/apps/rx.d.ts +3 -3
- package/package/components/apps/rx.js +4 -5
- package/package/components/apps/svelte-select/lib/ChevronIcon.svelte +17 -0
- package/package/components/apps/svelte-select/lib/ChevronIcon.svelte.d.ts +23 -0
- package/package/components/apps/svelte-select/lib/ClearIcon.svelte +21 -0
- package/package/components/apps/svelte-select/lib/ClearIcon.svelte.d.ts +23 -0
- package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte +12 -0
- package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte.d.ts +18 -0
- package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte +9 -0
- package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte.d.ts +18 -0
- package/package/components/apps/svelte-select/lib/LoadingIcon.svelte +33 -0
- package/package/components/apps/svelte-select/lib/LoadingIcon.svelte.d.ts +23 -0
- package/package/components/apps/svelte-select/lib/Select.svelte +1129 -0
- package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +205 -0
- package/package/components/apps/svelte-select/lib/filter.d.ts +13 -0
- package/package/components/apps/svelte-select/lib/filter.js +32 -0
- package/package/components/apps/svelte-select/lib/get-items.d.ts +11 -0
- package/package/components/apps/svelte-select/lib/get-items.js +30 -0
- package/package/components/apps/svelte-select/lib/index.d.ts +1 -0
- package/package/components/apps/svelte-select/lib/index.js +1 -0
- package/package/components/apps/svelte-select/lib/tailwind.css +130 -0
- package/package/components/apps/types.d.ts +6 -0
- package/package/components/apps/utils.d.ts +1 -5
- package/package/components/apps/utils.js +6 -34
- package/package/components/codeGen/ScriptFix.svelte +123 -0
- package/package/components/codeGen/ScriptFix.svelte.d.ts +22 -0
- package/package/components/codeGen/ScriptGen.svelte +218 -0
- package/package/components/codeGen/ScriptGen.svelte.d.ts +24 -0
- package/package/components/codeGen/index.d.ts +1 -0
- package/package/components/codeGen/index.js +1 -0
- package/package/components/codeGen/lib.d.ts +28 -0
- package/package/components/codeGen/lib.js +217 -0
- package/package/components/codeGen/prompts/edit.yaml +94 -0
- package/package/components/codeGen/prompts/fix.yaml +113 -0
- package/package/components/codeGen/prompts/gen.yaml +49 -0
- package/package/components/codeGen/prompts/index.d.ts +12 -0
- package/package/components/codeGen/prompts/index.js +7 -0
- package/package/components/codeGen/utils.d.ts +4 -0
- package/package/components/codeGen/utils.js +79 -0
- package/package/components/common/CloseButton.svelte +3 -3
- package/package/components/common/actionRow/ActionRow.svelte +1 -1
- package/package/components/common/alert/Alert.svelte +18 -18
- package/package/components/common/breadcrumb/Breadcrumb.svelte +1 -1
- package/package/components/common/button/Button.svelte +14 -14
- package/package/components/common/button/ButtonDropdown.svelte +2 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte +62 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +19 -0
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -5
- package/package/components/common/drawer/Drawer.svelte +5 -3
- package/package/components/common/drawer/DrawerContent.svelte +3 -2
- package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
- package/package/components/common/fileInput/FileInput.svelte +3 -3
- package/package/components/common/kbd/Kbd.svelte +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +22 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
- package/package/components/common/menu/Menu.svelte +1 -1
- package/package/components/common/menu/MenuItem.svelte +1 -1
- package/package/components/common/modal/AlwaysMountedModal.svelte +4 -4
- package/package/components/common/modal/Modal.svelte +3 -3
- package/package/components/common/popup/Popup.svelte +33 -157
- package/package/components/common/popup/Popup.svelte.d.ts +6 -45
- package/package/components/common/skeleton/SkeletonElement.svelte +1 -1
- package/package/components/common/stepper/Stepper.svelte +3 -3
- package/package/components/common/table/AppRow.svelte +36 -24
- package/package/components/common/table/FlowRow.svelte +13 -39
- package/package/components/common/table/RawAppRow.svelte +1 -15
- package/package/components/common/table/Row.svelte +22 -23
- package/package/components/common/table/RowIcon.svelte +7 -7
- package/package/components/common/table/ScriptRow.svelte +17 -41
- package/package/components/common/table/Table.svelte +1 -1
- package/package/components/common/tabs/Tab.svelte +1 -1
- package/package/components/common/tabs/Tabs.svelte +1 -4
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +9 -2
- package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
- package/package/components/details/ClipboardPanel.svelte +19 -0
- package/package/components/details/ClipboardPanel.svelte.d.ts +17 -0
- package/package/components/details/DetailPageDetailPanel.svelte +92 -0
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +23 -0
- package/package/components/details/DetailPageHeader.svelte +66 -0
- package/package/components/details/DetailPageHeader.svelte.d.ts +29 -0
- package/package/components/details/DetailPageLayout.svelte +51 -0
- package/package/components/details/DetailPageLayout.svelte.d.ts +35 -0
- package/package/components/details/Menu.svelte +53 -0
- package/package/components/details/Menu.svelte.d.ts +18 -0
- package/package/components/details/WebhooksPanel.svelte +236 -0
- package/package/components/details/WebhooksPanel.svelte.d.ts +29 -0
- package/package/components/details/createAppFromScript.d.ts +719 -0
- package/package/components/details/createAppFromScript.js +723 -0
- package/package/components/details/utils.d.ts +8 -0
- package/package/components/details/utils.js +50 -0
- package/package/components/flows/FlowEditor.svelte +1 -1
- package/package/components/flows/common/FlowCardHeader.svelte +4 -4
- package/package/components/flows/content/CapturePayload.svelte +2 -2
- package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -1
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +2 -2
- package/package/components/flows/content/FlowConstants.svelte +43 -3
- package/package/components/flows/content/FlowEditorPanel.svelte +1 -1
- package/package/components/flows/content/FlowInputs.svelte +85 -34
- package/package/components/flows/content/FlowInputsFlow.svelte +2 -2
- package/package/components/flows/content/FlowLoop.svelte +29 -29
- package/package/components/flows/content/FlowModuleComponent.svelte +61 -1
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowModuleConcurrencyLimit.svelte +51 -0
- package/package/components/flows/content/FlowModuleConcurrencyLimit.svelte.d.ts +17 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
- package/package/components/flows/content/FlowModuleHeader.svelte +57 -37
- package/package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleTimeout.svelte +43 -0
- package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +17 -0
- package/package/components/flows/content/FlowModuleWrapper.svelte +6 -0
- package/package/components/flows/content/FlowRetries.svelte +3 -3
- package/package/components/flows/content/FlowSchedules.svelte +1 -1
- package/package/components/flows/content/FlowSettings.svelte +102 -24
- package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
- package/package/components/flows/flowStateUtils.js +1 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
- package/package/components/flows/idUtils.js +1 -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 +24 -12
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
- package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
- package/package/components/flows/map/InsertModuleButton.svelte +10 -10
- package/package/components/flows/map/MapItem.svelte +10 -6
- package/package/components/flows/map/VirtualItem.svelte +10 -8
- package/package/components/flows/map/VirtualItem.svelte.d.ts +1 -1
- package/package/components/flows/pickers/FlowScriptPicker.svelte +28 -21
- package/package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/package/components/flows/pickers/PickHubApp.svelte +3 -3
- package/package/components/flows/pickers/PickHubFlow.svelte +3 -3
- package/package/components/flows/pickers/PickHubScript.svelte +6 -6
- package/package/components/flows/pickers/WorkspaceScriptPicker.svelte +2 -2
- package/package/components/flows/utils.js +2 -1
- package/package/components/graph/FlowGraph.svelte +53 -34
- package/package/components/graph/svelvet/container/views/GraphView.svelte +12 -17
- package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -4
- package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +2 -2
- package/package/components/home/ItemsList.svelte +13 -9
- package/package/components/home/ListFilters.svelte +2 -1
- package/package/components/home/ListFilters.svelte.d.ts +1 -0
- package/package/components/home/NoItemFound.svelte +1 -1
- package/package/components/icons/BigQueryIcon.svelte +36 -0
- package/package/components/icons/BigQueryIcon.svelte.d.ts +17 -0
- package/package/components/icons/PowershellIcon.svelte +56 -0
- package/package/components/icons/PowershellIcon.svelte.d.ts +17 -0
- package/package/components/icons/RestIcon.svelte +21 -0
- package/package/components/icons/RestIcon.svelte.d.ts +17 -0
- package/package/components/jobs/JobDetail.svelte +21 -21
- package/package/components/jobs/JobPreview.svelte +6 -6
- package/package/components/preview/FlowPreviewStatus.svelte +2 -2
- package/package/components/progressBar/ProgressBar.svelte +2 -2
- package/package/components/propertyPicker/ObjectViewer.svelte +13 -18
- package/package/components/propertyPicker/PropPicker.svelte +5 -2
- package/package/components/scriptEditor/LogPanel.svelte +13 -4
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +4 -0
- package/package/components/sidebar/DarkModeToggle.svelte +30 -0
- package/package/components/sidebar/DarkModeToggle.svelte.d.ts +17 -0
- package/package/components/sidebar/FavoriteMenu.svelte +4 -3
- package/package/components/sidebar/MenuLink.svelte +3 -2
- package/package/components/sidebar/MultiplayerMenu.svelte +2 -2
- package/package/components/sidebar/SidebarContent.svelte +9 -1
- package/package/components/sidebar/UserMenu.svelte +11 -10
- package/package/components/sidebar/WorkspaceMenu.svelte +11 -10
- package/package/components/theme/nord.json +93 -0
- package/package/defaults.d.ts +1 -0
- package/package/defaults.js +2 -1
- package/package/editorUtils.js +2 -0
- package/package/gen/core/CancelablePromise.js +1 -0
- package/package/gen/core/OpenAPI.d.ts +5 -5
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/core/request.d.ts +17 -0
- package/package/gen/core/request.js +27 -16
- package/package/gen/index.d.ts +43 -1
- package/package/gen/index.js +2 -0
- package/package/gen/models/AccountId.d.ts +1 -0
- package/package/gen/models/{Postgresql.js → AccountId.js} +1 -0
- package/package/gen/models/ActionKind.d.ts +9 -0
- package/package/gen/models/ActionKind.js +14 -0
- package/package/gen/models/After.d.ts +4 -0
- package/package/gen/models/After.js +5 -0
- package/package/gen/models/AppWithLastVersion.js +1 -0
- package/package/gen/models/AppWithLastVersionWDraft.js +1 -0
- package/package/gen/models/ArgsFilter.d.ts +4 -0
- package/package/gen/models/ArgsFilter.js +5 -0
- package/package/gen/models/AuditLog.js +1 -0
- package/package/gen/models/Before.d.ts +4 -0
- package/package/gen/models/Before.js +5 -0
- package/package/gen/models/BranchAll.js +1 -0
- package/package/gen/models/BranchOne.js +1 -0
- package/package/gen/models/ClientName.d.ts +1 -0
- package/package/gen/models/ClientName.js +5 -0
- package/package/gen/models/CompletedJob.d.ts +8 -4
- package/package/gen/models/CompletedJob.js +7 -2
- package/package/gen/models/ContextualVariable.js +1 -0
- package/package/gen/models/CreateInput.js +1 -0
- package/package/gen/models/CreateResource.js +1 -0
- package/package/gen/models/CreateVariable.js +1 -0
- package/package/gen/models/CreateWorkspace.js +1 -0
- package/package/gen/models/CreatedBy.d.ts +4 -0
- package/package/gen/models/CreatedBy.js +5 -0
- package/package/gen/models/EditResource.js +1 -0
- package/package/gen/models/EditResourceType.js +1 -0
- package/package/gen/models/EditSchedule.js +1 -0
- package/package/gen/models/EditVariable.js +1 -0
- package/package/gen/models/EditWorkspaceUser.js +1 -0
- package/package/gen/models/Flow.js +1 -0
- package/package/gen/models/FlowMetadata.d.ts +1 -0
- package/package/gen/models/FlowMetadata.js +1 -0
- package/package/gen/models/FlowModule.d.ts +1 -0
- package/package/gen/models/FlowModule.js +1 -0
- package/package/gen/models/FlowModuleValue.d.ts +1 -2
- package/package/gen/models/FlowModuleValue.js +1 -0
- package/package/gen/models/FlowPreview.d.ts +1 -0
- package/package/gen/models/FlowPreview.js +1 -0
- package/package/gen/models/FlowStatus.js +1 -0
- package/package/gen/models/FlowStatusModule.js +1 -0
- package/package/gen/models/FlowValue.js +1 -0
- package/package/gen/models/Folder.js +1 -0
- package/package/gen/models/ForloopFlow.js +1 -0
- package/package/gen/models/GlobalUserInfo.js +1 -0
- package/package/gen/models/Graphql.js +1 -0
- package/package/gen/models/Group.js +1 -0
- package/package/gen/models/Http.js +1 -0
- package/package/gen/models/Identity.js +1 -0
- package/package/gen/models/IncludeHeader.d.ts +6 -0
- package/package/gen/models/IncludeHeader.js +5 -0
- package/package/gen/models/Input.d.ts +1 -0
- package/package/gen/models/Input.js +1 -0
- package/package/gen/models/InputId.d.ts +1 -0
- package/package/gen/models/InputId.js +5 -0
- package/package/gen/models/InputTransform.js +1 -0
- package/package/gen/models/InstanceGroup.d.ts +4 -0
- package/package/gen/models/InstanceGroup.js +5 -0
- package/package/gen/models/JavascriptTransform.js +1 -0
- package/package/gen/models/Job.js +1 -0
- package/package/gen/models/JobId.d.ts +1 -0
- package/package/gen/models/JobId.js +5 -0
- package/package/gen/models/JobKinds.d.ts +4 -0
- package/package/gen/models/JobKinds.js +5 -0
- package/package/gen/models/ListableApp.js +1 -0
- package/package/gen/models/ListableRawApp.js +1 -0
- package/package/gen/models/ListableResource.js +1 -0
- package/package/gen/models/ListableVariable.js +1 -0
- package/package/gen/models/Login.js +1 -0
- package/package/gen/models/MainArgSignature.js +1 -0
- package/package/gen/models/Name.d.ts +1 -0
- package/package/gen/models/Name.js +5 -0
- package/package/gen/models/NewJobId.d.ts +4 -0
- package/package/gen/models/NewJobId.js +5 -0
- package/package/gen/models/NewSchedule.js +1 -0
- package/package/gen/models/NewScript.d.ts +9 -1
- package/package/gen/models/NewScript.js +7 -0
- package/package/gen/models/NewScriptWithDraft.js +1 -0
- package/package/gen/models/NewToken.js +1 -0
- package/package/gen/models/NewTokenImpersonate.js +1 -0
- package/package/gen/models/NewUser.js +1 -0
- package/package/gen/models/OpenFlow.js +1 -0
- package/package/gen/models/OpenFlowWPath.d.ts +1 -0
- package/package/gen/models/OpenFlowWPath.js +1 -0
- package/package/gen/models/Operation.d.ts +4 -0
- package/package/gen/models/Operation.js +5 -0
- package/package/gen/models/OrderDesc.d.ts +4 -0
- package/package/gen/models/OrderDesc.js +5 -0
- package/package/gen/models/Page.d.ts +4 -0
- package/package/gen/models/Page.js +5 -0
- package/package/gen/models/ParentJob.d.ts +4 -0
- package/package/gen/models/ParentJob.js +5 -0
- package/package/gen/models/Path.d.ts +1 -0
- package/package/gen/models/Path.js +5 -0
- package/package/gen/models/PathFlow.js +1 -0
- package/package/gen/models/PathId.d.ts +1 -0
- package/package/gen/models/PathId.js +5 -0
- package/package/gen/models/PathScript.js +1 -0
- package/package/gen/models/Payload.d.ts +6 -0
- package/package/gen/models/Payload.js +5 -0
- package/package/gen/models/PerPage.d.ts +4 -0
- package/package/gen/models/PerPage.js +5 -0
- package/package/gen/models/Policy.js +1 -0
- package/package/gen/models/Preview.d.ts +7 -3
- package/package/gen/models/Preview.js +7 -2
- package/package/gen/models/QueueLimit.d.ts +5 -0
- package/package/gen/models/QueueLimit.js +5 -0
- package/package/gen/models/QueuedJob.d.ts +8 -4
- package/package/gen/models/QueuedJob.js +7 -2
- package/package/gen/models/RawScript.d.ts +8 -1
- package/package/gen/models/RawScript.js +6 -0
- package/package/gen/models/Resource.js +1 -0
- package/package/gen/models/ResourceName.d.ts +4 -0
- package/package/gen/models/ResourceName.js +5 -0
- package/package/gen/models/ResourceType.js +1 -0
- package/package/gen/models/ResultFilter.d.ts +4 -0
- package/package/gen/models/ResultFilter.js +5 -0
- package/package/gen/models/Retry.js +1 -0
- package/package/gen/models/RunnableId.d.ts +1 -0
- package/package/gen/models/RunnableId.js +5 -0
- package/package/gen/models/RunnableType.js +1 -0
- package/package/gen/models/RunnableTypeQuery.d.ts +2 -0
- package/package/gen/models/RunnableTypeQuery.js +5 -0
- package/package/gen/models/Running.d.ts +4 -0
- package/package/gen/models/Running.js +5 -0
- package/package/gen/models/Schedule.js +1 -0
- package/package/gen/models/SchedulePath.d.ts +4 -0
- package/package/gen/models/SchedulePath.js +5 -0
- package/package/gen/models/ScheduleWJobs.js +1 -0
- package/package/gen/models/Script.d.ts +9 -1
- package/package/gen/models/Script.js +7 -0
- package/package/gen/models/ScriptArgs.js +1 -0
- package/package/gen/models/ScriptExactHash.d.ts +4 -0
- package/package/gen/models/ScriptExactHash.js +5 -0
- package/package/gen/models/ScriptExactPath.d.ts +4 -0
- package/package/gen/models/ScriptExactPath.js +5 -0
- package/package/gen/models/ScriptHash.d.ts +1 -0
- package/package/gen/models/ScriptHash.js +5 -0
- package/package/gen/models/ScriptPath.d.ts +1 -0
- package/package/gen/models/ScriptPath.js +5 -0
- package/package/gen/models/ScriptStartPath.d.ts +4 -0
- package/package/gen/models/ScriptStartPath.js +5 -0
- package/package/gen/models/SlackToken.js +1 -0
- package/package/gen/models/StartedAfter.d.ts +4 -0
- package/package/gen/models/StartedAfter.js +5 -0
- package/package/gen/models/StartedBefore.d.ts +4 -0
- package/package/gen/models/StartedBefore.js +5 -0
- package/package/gen/models/StaticTransform.js +1 -0
- package/package/gen/models/Success.d.ts +4 -0
- package/package/gen/models/Success.js +5 -0
- package/package/gen/models/Suspended.d.ts +4 -0
- package/package/gen/models/Suspended.js +5 -0
- package/package/gen/models/Tag.d.ts +4 -0
- package/package/gen/models/Tag.js +5 -0
- package/package/gen/models/Token.d.ts +1 -0
- package/package/gen/models/Token.js +5 -0
- package/package/gen/models/TokenResponse.js +1 -0
- package/package/gen/models/TruncatedToken.js +1 -0
- package/package/gen/models/UpdateInput.js +1 -0
- package/package/gen/models/Usage.js +1 -0
- package/package/gen/models/User.js +1 -0
- package/package/gen/models/UserWorkspaceList.js +1 -0
- package/package/gen/models/Username.d.ts +4 -0
- package/package/gen/models/Username.js +5 -0
- package/package/gen/models/VersionId.d.ts +1 -0
- package/package/gen/models/VersionId.js +5 -0
- package/package/gen/models/WorkerPing.d.ts +1 -0
- package/package/gen/models/WorkerPing.js +1 -0
- package/package/gen/models/Workspace.js +1 -0
- package/package/gen/models/WorkspaceId.d.ts +1 -0
- package/package/gen/models/WorkspaceId.js +5 -0
- package/package/gen/models/WorkspaceInvite.js +1 -0
- package/package/gen/services/GroupService.d.ts +15 -0
- package/package/gen/services/GroupService.js +25 -0
- package/package/gen/services/JobService.d.ts +2 -2
- package/package/gen/services/JobService.js +2 -2
- package/package/gen/services/OauthService.d.ts +5 -2
- package/package/gen/services/OauthService.js +1 -1
- package/package/gen/services/ScheduleService.d.ts +6 -1
- package/package/gen/services/ScheduleService.js +3 -1
- package/package/gen/services/ScriptService.d.ts +1 -1
- package/package/gen/services/UserService.d.ts +8 -0
- package/package/gen/services/UserService.js +14 -0
- package/package/gen/services/WorkspaceService.d.ts +38 -0
- package/package/gen/services/WorkspaceService.js +46 -0
- package/package/infer.d.ts +6 -2
- package/package/infer.js +55 -2
- package/package/script_helpers.d.ts +9 -3
- package/package/script_helpers.js +77 -57
- package/package/scripts.d.ts +3 -1
- package/package/scripts.js +26 -2
- package/package/stores.d.ts +3 -0
- package/package/stores.js +3 -0
- package/package/utils.d.ts +5 -3
- package/package/utils.js +19 -7
- package/package.json +23 -19
- package/package/components/common/table/LanguageBadge.svelte +0 -40
- package/package/components/common/table/LanguageBadge.svelte.d.ts +0 -17
- package/package/gen/models/Postgresql.d.ts +0 -3
|
@@ -34,6 +34,7 @@ export let errorHandledByComponent = false;
|
|
|
34
34
|
export let hideRefreshButton = false;
|
|
35
35
|
const { worldStore, runnableComponents, workspace, appPath, isEditor, jobs, noBackend, errorByComponent, mode, stateId, state, componentControl, initialized, selectedComponent, app, connectingInput } = getContext('AppViewerContext');
|
|
36
36
|
const iterContext = getContext('ListWrapperContext');
|
|
37
|
+
const rowContext = getContext('RowWrapperContext');
|
|
37
38
|
const dispatch = createEventDispatcher();
|
|
38
39
|
let donePromise = undefined;
|
|
39
40
|
$runnableComponents = $runnableComponents;
|
|
@@ -120,9 +121,15 @@ async function executeComponent(noToast = false, inlineScriptOverride) {
|
|
|
120
121
|
if (runnable?.type === 'runnableByName' && runnable.inlineScript?.language === 'frontend') {
|
|
121
122
|
loading = true;
|
|
122
123
|
try {
|
|
123
|
-
const r = await eval_like(runnable.inlineScript?.content, computeGlobalContext($worldStore,
|
|
124
|
+
const r = await eval_like(runnable.inlineScript?.content, computeGlobalContext($worldStore, {
|
|
125
|
+
iter: iterContext ? $iterContext : undefined,
|
|
126
|
+
row: rowContext ? $rowContext : undefined
|
|
127
|
+
}), false, $state, $mode == 'dnd', $componentControl, $worldStore, $runnableComponents);
|
|
124
128
|
await setResult(r, undefined);
|
|
125
129
|
$state = $state;
|
|
130
|
+
const job = generateNextFrontendJobId();
|
|
131
|
+
const njobs = [{ job, component: id, result: r }, ...$jobs];
|
|
132
|
+
$jobs = $jobs?.length > 100 ? njobs.slice(0, 100) : njobs;
|
|
126
133
|
}
|
|
127
134
|
catch (e) {
|
|
128
135
|
sendUserToast(`Error running frontend script ${id}: ` + e.message, true);
|
|
@@ -154,10 +161,10 @@ async function executeComponent(noToast = false, inlineScriptOverride) {
|
|
|
154
161
|
return;
|
|
155
162
|
}
|
|
156
163
|
try {
|
|
157
|
-
let njob = await resultJobLoader?.abstractRun(() => {
|
|
164
|
+
let njob = await resultJobLoader?.abstractRun(async () => {
|
|
158
165
|
const nonStaticRunnableInputs = {};
|
|
159
166
|
const staticRunnableInputs = {};
|
|
160
|
-
Object.keys(fields ?? {})
|
|
167
|
+
for (const k of Object.keys(fields ?? {})) {
|
|
161
168
|
let field = fields[k];
|
|
162
169
|
if (field?.type == 'static' && fields[k]) {
|
|
163
170
|
staticRunnableInputs[k] = field.value;
|
|
@@ -165,10 +172,13 @@ async function executeComponent(noToast = false, inlineScriptOverride) {
|
|
|
165
172
|
else if (field?.type == 'user') {
|
|
166
173
|
nonStaticRunnableInputs[k] = args?.[k];
|
|
167
174
|
}
|
|
175
|
+
else if (field?.type == 'eval' && inputValues[k]) {
|
|
176
|
+
nonStaticRunnableInputs[k] = await inputValues[k]?.computeExpr();
|
|
177
|
+
}
|
|
168
178
|
else {
|
|
169
179
|
nonStaticRunnableInputs[k] = runnableInputValues[k];
|
|
170
180
|
}
|
|
171
|
-
}
|
|
181
|
+
}
|
|
172
182
|
const requestBody = {
|
|
173
183
|
args: nonStaticRunnableInputs,
|
|
174
184
|
component: id,
|
|
@@ -197,7 +207,8 @@ async function executeComponent(noToast = false, inlineScriptOverride) {
|
|
|
197
207
|
});
|
|
198
208
|
});
|
|
199
209
|
if (njob) {
|
|
200
|
-
|
|
210
|
+
const njobs = [{ job: njob, component: id }, ...$jobs];
|
|
211
|
+
$jobs = $jobs?.length > 100 ? njobs.slice(0, 100) : njobs;
|
|
201
212
|
}
|
|
202
213
|
}
|
|
203
214
|
catch (e) {
|
|
@@ -224,13 +235,21 @@ function recordError(error, jobId) {
|
|
|
224
235
|
componentId: id
|
|
225
236
|
};
|
|
226
237
|
}
|
|
238
|
+
async function setJobId(jobId) {
|
|
239
|
+
outputs.jobId?.set(jobId);
|
|
240
|
+
}
|
|
227
241
|
async function setResult(res, jobId) {
|
|
228
242
|
dispatch('done');
|
|
229
243
|
const hasRes = res !== undefined && res !== null;
|
|
230
244
|
if (transformer) {
|
|
231
245
|
try {
|
|
232
|
-
$worldStore.newOutput(id, 'raw', res);
|
|
233
|
-
res = await eval_like(transformer.content, computeGlobalContext($worldStore, {
|
|
246
|
+
let raw = $worldStore.newOutput(id, 'raw', res);
|
|
247
|
+
res = await eval_like(transformer.content, computeGlobalContext($worldStore, {
|
|
248
|
+
iter: iterContext ? $iterContext : undefined,
|
|
249
|
+
row: rowContext ? $rowContext : undefined,
|
|
250
|
+
result: res
|
|
251
|
+
}), false, $state, $mode == 'dnd', $componentControl, $worldStore, $runnableComponents);
|
|
252
|
+
raw.set(res);
|
|
234
253
|
}
|
|
235
254
|
catch (err) {
|
|
236
255
|
res = {
|
|
@@ -254,15 +273,23 @@ async function setResult(res, jobId) {
|
|
|
254
273
|
// console.log('setr', id)
|
|
255
274
|
outputs.result?.set(res);
|
|
256
275
|
result = res;
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
276
|
+
// Flows with loops can have multiple results
|
|
277
|
+
const errorAsArray = Array.isArray(result) ? result.flat() : [result];
|
|
278
|
+
// As soon as we have an error, we consider the component errored
|
|
279
|
+
const hasErrors = errorAsArray.some((r) => r?.error);
|
|
280
|
+
if (hasErrors) {
|
|
281
|
+
const errorMessages = errorAsArray
|
|
282
|
+
.map((r) => r?.error?.message)
|
|
283
|
+
.filter(Boolean)
|
|
284
|
+
.join('\n');
|
|
285
|
+
jobId && recordError(errorMessages, jobId);
|
|
286
|
+
dispatch('handleError', errorMessages);
|
|
260
287
|
}
|
|
261
288
|
else {
|
|
262
289
|
dispatch('success');
|
|
263
290
|
}
|
|
264
291
|
const previousJobId = Object.keys($errorByComponent).find((key) => $errorByComponent[key].componentId === id);
|
|
265
|
-
if (previousJobId && !
|
|
292
|
+
if (previousJobId && !hasErrors) {
|
|
266
293
|
delete $errorByComponent[previousJobId];
|
|
267
294
|
$errorByComponent = $errorByComponent;
|
|
268
295
|
}
|
|
@@ -274,6 +301,7 @@ function handleInputClick(e) {
|
|
|
274
301
|
}
|
|
275
302
|
let cancellableRun = undefined;
|
|
276
303
|
onMount(() => {
|
|
304
|
+
console.log('create', id);
|
|
277
305
|
cancellableRun = (inlineScript) => {
|
|
278
306
|
let rejectCb;
|
|
279
307
|
let p = new Promise((resolve, reject) => {
|
|
@@ -300,19 +328,23 @@ onMount(() => {
|
|
|
300
328
|
onDestroy(() => {
|
|
301
329
|
$initialized.initializedComponents = $initialized.initializedComponents.filter((c) => c !== id);
|
|
302
330
|
$errorByComponent = clearErrorByComponentId(id, $errorByComponent);
|
|
303
|
-
$runnableComponents[id]
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
331
|
+
if ($runnableComponents[id]) {
|
|
332
|
+
$runnableComponents[id] = {
|
|
333
|
+
...$runnableComponents[id],
|
|
334
|
+
cb: $runnableComponents[id].cb.filter((cb) => cb !== cancellableRun)
|
|
335
|
+
};
|
|
336
|
+
$runnableComponents = $runnableComponents;
|
|
337
|
+
}
|
|
308
338
|
});
|
|
309
339
|
let lastJobId = undefined;
|
|
340
|
+
let inputValues = {};
|
|
310
341
|
</script>
|
|
311
342
|
|
|
312
343
|
{#each Object.entries(fields ?? {}) as [key, v] (key)}
|
|
313
344
|
{#if v.type != 'static' && v.type != 'user'}
|
|
314
345
|
<InputValue
|
|
315
|
-
|
|
346
|
+
bind:this={inputValues[key]}
|
|
347
|
+
key={key + extraKey + (iterContext ? $iterContext?.index : '')}
|
|
316
348
|
{id}
|
|
317
349
|
input={fields[key]}
|
|
318
350
|
bind:value={runnableInputValues[key]}
|
|
@@ -322,7 +354,7 @@ let lastJobId = undefined;
|
|
|
322
354
|
|
|
323
355
|
{#if runnable?.type == 'runnableByName' && runnable.inlineScript?.language == 'frontend'}
|
|
324
356
|
{#each runnable.inlineScript.refreshOn ?? [] as { id: tid, key } (`${tid}-${key}`)}
|
|
325
|
-
{@const fkey = `${tid}-${key}${extraKey}`}
|
|
357
|
+
{@const fkey = `${tid}-${key}${extraKey}${iterContext ? $iterContext?.index : ''}}`}
|
|
326
358
|
<InputValue
|
|
327
359
|
{id}
|
|
328
360
|
key={fkey}
|
|
@@ -335,6 +367,7 @@ let lastJobId = undefined;
|
|
|
335
367
|
<ResultJobLoader
|
|
336
368
|
on:started={(e) => {
|
|
337
369
|
loading = true
|
|
370
|
+
setJobId(e.detail)
|
|
338
371
|
dispatch('started', e.detail)
|
|
339
372
|
}}
|
|
340
373
|
workspaceOverride={workspace}
|
|
@@ -374,14 +407,17 @@ let lastJobId = undefined;
|
|
|
374
407
|
'bg-red-100/80'
|
|
375
408
|
)}
|
|
376
409
|
>
|
|
377
|
-
<Popover notClickable placement="bottom" popupClass="!bg-
|
|
410
|
+
<Popover notClickable placement="bottom" popupClass="!bg-surface border w-96">
|
|
378
411
|
<Bug size={14} />
|
|
379
412
|
<span slot="text">
|
|
380
|
-
<div class="bg-
|
|
413
|
+
<div class="bg-surface">
|
|
381
414
|
<Alert type="error" title="Error during execution">
|
|
382
415
|
<div class="flex flex-col gap-2">
|
|
383
416
|
An error occured, please contact the app author.
|
|
384
|
-
<
|
|
417
|
+
<a
|
|
418
|
+
href={`/run/${lastJobId}?workspace=${workspace}`}
|
|
419
|
+
class="font-semibold text-red-800 underline">Job id: {lastJobId}</a
|
|
420
|
+
>
|
|
385
421
|
</div>
|
|
386
422
|
</Alert>
|
|
387
423
|
</div>
|
|
@@ -54,37 +54,61 @@ export function handleSideEffect(success, errorMessage) {
|
|
|
54
54
|
return;
|
|
55
55
|
if (sideEffect.selected == 'none')
|
|
56
56
|
return;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
sideEffect
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
switch (sideEffect.selected) {
|
|
58
|
+
case 'setTab':
|
|
59
|
+
const setTab = sideEffect?.configuration.setTab?.setTab;
|
|
60
|
+
if (Array.isArray(setTab)) {
|
|
61
|
+
setTab.forEach((tab) => {
|
|
62
|
+
if (tab) {
|
|
63
|
+
const { id, index } = tab;
|
|
64
|
+
$componentControl[id].setTab?.(index);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
break;
|
|
69
|
+
case 'gotoUrl':
|
|
70
|
+
const url = sideEffect?.configuration?.gotoUrl?.url;
|
|
71
|
+
if (!url)
|
|
72
|
+
return;
|
|
73
|
+
const newTab = sideEffect?.configuration?.gotoUrl?.newTab;
|
|
74
|
+
if (newTab) {
|
|
75
|
+
window.open(url, '_blank');
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
window.location.href = url;
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
case 'sendToast': {
|
|
82
|
+
const message = sideEffect?.configuration?.sendToast?.message;
|
|
83
|
+
if (!message)
|
|
84
|
+
return;
|
|
85
|
+
sendUserToast(message, !success);
|
|
86
|
+
break;
|
|
65
87
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
88
|
+
case 'sendErrorToast': {
|
|
89
|
+
const message = sideEffect?.configuration?.sendErrorToast?.message;
|
|
90
|
+
const appendError = sideEffect?.configuration?.sendErrorToast?.appendError;
|
|
91
|
+
if (!message)
|
|
92
|
+
return;
|
|
93
|
+
sendUserToast(message, true, [], appendError ? errorMessage : undefined);
|
|
94
|
+
break;
|
|
72
95
|
}
|
|
73
|
-
|
|
74
|
-
|
|
96
|
+
case 'openModal': {
|
|
97
|
+
const modalId = sideEffect?.configuration?.openModal?.modalId;
|
|
98
|
+
if (modalId) {
|
|
99
|
+
$componentControl[modalId].openModal?.();
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
75
102
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
sideEffect.configuration.sendErrorToast.message &&
|
|
86
|
-
sideEffect.configuration.sendErrorToast.message != '') {
|
|
87
|
-
sendUserToast(sideEffect.configuration.sendErrorToast.message, true, [], sideEffect.configuration.sendErrorToast.appendError ? errorMessage : undefined);
|
|
103
|
+
case 'closeModal': {
|
|
104
|
+
const modalId = sideEffect?.configuration?.closeModal?.modalId;
|
|
105
|
+
if (!modalId)
|
|
106
|
+
return;
|
|
107
|
+
$componentControl[modalId].closeModal?.();
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
default:
|
|
111
|
+
break;
|
|
88
112
|
}
|
|
89
113
|
}
|
|
90
114
|
</script>
|
|
@@ -16,7 +16,7 @@ declare const __propDef: {
|
|
|
16
16
|
runnableClass?: string | undefined;
|
|
17
17
|
runnableStyle?: string | undefined;
|
|
18
18
|
doOnSuccess?: {
|
|
19
|
-
selected: 'gotoUrl' | 'none' | 'setTab' | 'sendToast' | 'sendErrorToast' | 'errorOverlay';
|
|
19
|
+
selected: 'gotoUrl' | 'none' | 'setTab' | 'sendToast' | 'sendErrorToast' | 'errorOverlay' | 'openModal' | 'closeModal';
|
|
20
20
|
configuration: {
|
|
21
21
|
gotoUrl: {
|
|
22
22
|
url: string | undefined;
|
|
@@ -35,10 +35,16 @@ declare const __propDef: {
|
|
|
35
35
|
message: string | undefined;
|
|
36
36
|
appendError: boolean | undefined;
|
|
37
37
|
} | undefined;
|
|
38
|
+
openModal?: {
|
|
39
|
+
modalId: string | undefined;
|
|
40
|
+
} | undefined;
|
|
41
|
+
closeModal?: {
|
|
42
|
+
modalId: string | undefined;
|
|
43
|
+
} | undefined;
|
|
38
44
|
};
|
|
39
45
|
} | undefined;
|
|
40
46
|
doOnError?: {
|
|
41
|
-
selected: 'gotoUrl' | 'none' | 'setTab' | 'sendToast' | 'sendErrorToast' | 'errorOverlay';
|
|
47
|
+
selected: 'gotoUrl' | 'none' | 'setTab' | 'sendToast' | 'sendErrorToast' | 'errorOverlay' | 'openModal' | 'closeModal';
|
|
42
48
|
configuration: {
|
|
43
49
|
gotoUrl: {
|
|
44
50
|
url: string | undefined;
|
|
@@ -57,6 +63,12 @@ declare const __propDef: {
|
|
|
57
63
|
message: string | undefined;
|
|
58
64
|
appendError: boolean | undefined;
|
|
59
65
|
} | undefined;
|
|
66
|
+
openModal?: {
|
|
67
|
+
modalId: string | undefined;
|
|
68
|
+
} | undefined;
|
|
69
|
+
closeModal?: {
|
|
70
|
+
modalId: string | undefined;
|
|
71
|
+
} | undefined;
|
|
60
72
|
};
|
|
61
73
|
} | undefined;
|
|
62
74
|
render: boolean;
|
|
@@ -64,6 +76,7 @@ declare const __propDef: {
|
|
|
64
76
|
outputs: {
|
|
65
77
|
result: Output<any>;
|
|
66
78
|
loading: Output<boolean>;
|
|
79
|
+
jobId?: Output<any> | undefined;
|
|
67
80
|
};
|
|
68
81
|
extraKey?: string | undefined;
|
|
69
82
|
refreshOnStart?: boolean | undefined;
|
|
@@ -8,6 +8,8 @@ export declare function eval_like(text: string, context: {} | undefined, noRetur
|
|
|
8
8
|
};
|
|
9
9
|
setValue?: (value: any) => void;
|
|
10
10
|
setSelectedIndex?: (index: number) => void;
|
|
11
|
+
openModal?: () => void;
|
|
12
|
+
closeModal?: () => void;
|
|
11
13
|
}>, worldStore: World | undefined, runnableComponents: Record<string, {
|
|
12
14
|
cb?: (() => void)[];
|
|
13
15
|
}>): Promise<any>;
|
|
@@ -15,7 +15,7 @@ export function computeGlobalContext(world, extraContext = {}) {
|
|
|
15
15
|
}
|
|
16
16
|
function create_context_function_template(eval_string, context, noReturn) {
|
|
17
17
|
return `
|
|
18
|
-
return async function (context, state, goto, setTab, recompute, getAgGrid, setValue, setSelectedIndex) {
|
|
18
|
+
return async function (context, state, goto, setTab, recompute, getAgGrid, setValue, setSelectedIndex, openModal, closeModal) {
|
|
19
19
|
"use strict";
|
|
20
20
|
${Object.keys(context).length > 0
|
|
21
21
|
? `let ${Object.keys(context).map((key) => ` ${key} = context['${key}']`)};`
|
|
@@ -26,6 +26,7 @@ ${noReturn ? `return ${eval_string}` : eval_string}
|
|
|
26
26
|
}
|
|
27
27
|
function make_context_evaluator(eval_string, context, noReturn) {
|
|
28
28
|
let template = create_context_function_template(eval_string, context, noReturn);
|
|
29
|
+
console.debug(template);
|
|
29
30
|
let functor = Function(template);
|
|
30
31
|
return functor();
|
|
31
32
|
}
|
|
@@ -96,5 +97,9 @@ export async function eval_like(text, context = {}, noReturn, state, editor, con
|
|
|
96
97
|
controlComponents[id]?.setValue?.(value);
|
|
97
98
|
}, (id, index) => {
|
|
98
99
|
controlComponents[id]?.setSelectedIndex?.(index);
|
|
100
|
+
}, (id) => {
|
|
101
|
+
controlComponents[id]?.openModal?.();
|
|
102
|
+
}, (id) => {
|
|
103
|
+
controlComponents[id]?.closeModal?.();
|
|
99
104
|
});
|
|
100
105
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
<script>import Toggle from '../../../Toggle.svelte';
|
|
2
2
|
import { getContext } from 'svelte';
|
|
3
|
-
import {
|
|
3
|
+
import { initOutput } from '../../editor/appUtils';
|
|
4
4
|
import { concatCustomCss } from '../../utils';
|
|
5
5
|
import AlignWrapper from '../helpers/AlignWrapper.svelte';
|
|
6
6
|
import InitializeComponent from '../helpers/InitializeComponent.svelte';
|
|
7
|
-
import
|
|
8
|
-
import { components } from '../../editor/component';
|
|
7
|
+
import { InputValue } from '../helpers';
|
|
9
8
|
export let id;
|
|
10
9
|
export let configuration;
|
|
11
10
|
export let horizontalAlignment = undefined;
|
|
@@ -19,8 +18,11 @@ export let controls = undefined;
|
|
|
19
18
|
const { app, worldStore, componentControl, runnableComponents } = getContext('AppViewerContext');
|
|
20
19
|
const iterContext = getContext('ListWrapperContext');
|
|
21
20
|
const listInputs = getContext('ListInputs');
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const rowContext = getContext('RowWrapperContext');
|
|
22
|
+
const rowInputs = getContext('RowInputs');
|
|
23
|
+
let value = false;
|
|
24
|
+
let defaultValue = undefined;
|
|
25
|
+
let label = '';
|
|
24
26
|
$componentControl[id] = {
|
|
25
27
|
setValue(nvalue) {
|
|
26
28
|
value = nvalue;
|
|
@@ -39,35 +41,31 @@ function handleInput() {
|
|
|
39
41
|
if (iterContext && listInputs) {
|
|
40
42
|
listInputs(id, value);
|
|
41
43
|
}
|
|
44
|
+
if (rowContext && rowInputs) {
|
|
45
|
+
rowInputs(id, value);
|
|
46
|
+
}
|
|
42
47
|
if (recomputeIds) {
|
|
43
48
|
recomputeIds.forEach((id) => $runnableComponents?.[id]?.cb?.forEach((cb) => cb()));
|
|
44
49
|
}
|
|
45
50
|
}
|
|
46
51
|
function handleDefault() {
|
|
47
|
-
value =
|
|
52
|
+
value = defaultValue ?? false;
|
|
48
53
|
handleInput();
|
|
49
54
|
}
|
|
50
55
|
$: value != undefined && handleInput();
|
|
51
|
-
$:
|
|
56
|
+
$: defaultValue != undefined && handleDefault();
|
|
52
57
|
$: css = concatCustomCss($app.css?.checkboxcomponent, customCss);
|
|
53
58
|
</script>
|
|
54
59
|
|
|
55
|
-
{
|
|
56
|
-
|
|
57
|
-
{id}
|
|
58
|
-
{extraKey}
|
|
59
|
-
{key}
|
|
60
|
-
bind:resolvedConfig={resolvedConfig[key]}
|
|
61
|
-
configuration={configuration[key]}
|
|
62
|
-
/>
|
|
63
|
-
{/each}
|
|
60
|
+
<InputValue {id} key={extraKey} input={configuration.label} bind:value={label} />
|
|
61
|
+
<InputValue {id} key={extraKey} input={configuration.defaultValue} bind:value={defaultValue} />
|
|
64
62
|
|
|
65
63
|
<InitializeComponent {id} />
|
|
66
64
|
<AlignWrapper {render} {horizontalAlignment} {verticalAlignment}>
|
|
67
65
|
<Toggle
|
|
68
66
|
size="sm"
|
|
69
67
|
bind:checked={value}
|
|
70
|
-
options={{ right:
|
|
68
|
+
options={{ right: label }}
|
|
71
69
|
textClass={css?.text?.class ?? ''}
|
|
72
70
|
textStyle={css?.text?.style ?? ''}
|
|
73
71
|
on:change={(e) => {
|
|
@@ -16,6 +16,7 @@ let labelValue = 'Title';
|
|
|
16
16
|
let minValue = '';
|
|
17
17
|
let maxValue = '';
|
|
18
18
|
let defaultValue = undefined;
|
|
19
|
+
let format = undefined;
|
|
19
20
|
let value = undefined;
|
|
20
21
|
$componentControl[id] = {
|
|
21
22
|
setValue(nvalue) {
|
|
@@ -26,7 +27,23 @@ let outputs = initOutput($worldStore, id, {
|
|
|
26
27
|
result: undefined
|
|
27
28
|
});
|
|
28
29
|
$: handleDefault(defaultValue);
|
|
29
|
-
|
|
30
|
+
function formatDate(dateString, format = 'DD.MM.YYYY') {
|
|
31
|
+
const date = new Date(dateString);
|
|
32
|
+
if (format === '') {
|
|
33
|
+
format = 'DD.MM.YYYY';
|
|
34
|
+
}
|
|
35
|
+
const padZero = (num) => (num < 10 ? '0' + num : num.toString());
|
|
36
|
+
const formatTokens = {
|
|
37
|
+
YYYY: date.getFullYear(),
|
|
38
|
+
MM: padZero(date.getMonth() + 1),
|
|
39
|
+
DD: padZero(date.getDate()),
|
|
40
|
+
hh: padZero(date.getHours()),
|
|
41
|
+
mm: padZero(date.getMinutes()),
|
|
42
|
+
ss: padZero(date.getSeconds())
|
|
43
|
+
};
|
|
44
|
+
return format.replace(/YYYY|MM|DD|hh|mm|ss/g, (match) => formatTokens[match]);
|
|
45
|
+
}
|
|
46
|
+
$: value && outputs?.result.set(formatDate(value, format));
|
|
30
47
|
function handleDefault(defaultValue) {
|
|
31
48
|
value = defaultValue;
|
|
32
49
|
}
|
|
@@ -37,6 +54,7 @@ $: css = concatCustomCss($app.css?.dateinputcomponent, customCss);
|
|
|
37
54
|
<InputValue {id} input={configuration.minDate} bind:value={minValue} />
|
|
38
55
|
<InputValue {id} input={configuration.maxDate} bind:value={maxValue} />
|
|
39
56
|
<InputValue {id} input={configuration.defaultValue} bind:value={defaultValue} />
|
|
57
|
+
<InputValue {id} input={configuration.outputFormat} bind:value={format} />
|
|
40
58
|
|
|
41
59
|
<InitializeComponent {id} />
|
|
42
60
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
|
-
// import { SELECT_INPUT_DEFAULT_STYLE } from '../../../../defaults'
|
|
3
2
|
import { initConfig, initOutput } from '../../editor/appUtils';
|
|
4
3
|
import { concatCustomCss } from '../../utils';
|
|
5
4
|
import AlignWrapper from '../helpers/AlignWrapper.svelte';
|
|
@@ -8,20 +7,27 @@ import { components } from '../../editor/component';
|
|
|
8
7
|
import ResolveConfig from '../helpers/ResolveConfig.svelte';
|
|
9
8
|
// @ts-ignore
|
|
10
9
|
import MultiSelect from 'svelte-multiselect';
|
|
10
|
+
import Portal from 'svelte-portal';
|
|
11
|
+
import { createFloatingActions } from 'svelte-floating-ui';
|
|
12
|
+
import { extractCustomProperties } from '../../../../utils';
|
|
13
|
+
import { tick } from 'svelte';
|
|
11
14
|
export let id;
|
|
12
15
|
export let configuration;
|
|
13
16
|
export let customCss = undefined;
|
|
14
17
|
export let render;
|
|
18
|
+
const [floatingRef, floatingContent] = createFloatingActions({
|
|
19
|
+
strategy: 'absolute'
|
|
20
|
+
});
|
|
15
21
|
const { app, worldStore, selectedComponent, componentControl } = getContext('AppViewerContext');
|
|
16
22
|
let items;
|
|
17
23
|
const resolvedConfig = initConfig(components['multiselectcomponent'].initialData.configuration, configuration);
|
|
18
24
|
const outputs = initOutput($worldStore, id, {
|
|
19
25
|
result: []
|
|
20
26
|
});
|
|
21
|
-
let value = outputs?.result.peak();
|
|
27
|
+
let value = [...new Set(outputs?.result.peak())];
|
|
22
28
|
$componentControl[id] = {
|
|
23
29
|
setValue(nvalue) {
|
|
24
|
-
value = nvalue;
|
|
30
|
+
value = [...new Set(nvalue)];
|
|
25
31
|
outputs?.result.set([...(value ?? [])]);
|
|
26
32
|
}
|
|
27
33
|
};
|
|
@@ -36,15 +42,42 @@ function handleItems() {
|
|
|
36
42
|
$: resolvedConfig.defaultItems && handleDefaultItems();
|
|
37
43
|
function handleDefaultItems() {
|
|
38
44
|
if (Array.isArray(resolvedConfig.defaultItems)) {
|
|
39
|
-
|
|
45
|
+
const nvalue = resolvedConfig.defaultItems?.map((label) => {
|
|
40
46
|
return typeof label === 'string' ? label : `NOT_STRING`;
|
|
41
47
|
});
|
|
48
|
+
value = [...new Set(nvalue)];
|
|
42
49
|
outputs?.result.set([...(value ?? [])]);
|
|
43
50
|
}
|
|
44
51
|
}
|
|
45
52
|
$: css = concatCustomCss($app.css?.multiselectcomponent, customCss);
|
|
46
|
-
|
|
53
|
+
function setOuterDivStyle(outerDiv, portalRef, style) {
|
|
54
|
+
outerDiv.setAttribute('style', style);
|
|
55
|
+
// find ul in portalRef and set style
|
|
56
|
+
const ul = portalRef.querySelector('ul');
|
|
57
|
+
ul?.setAttribute('style', extractCustomProperties(style));
|
|
58
|
+
}
|
|
59
|
+
$: outerDiv &&
|
|
60
|
+
portalRef &&
|
|
61
|
+
css?.multiselect?.style &&
|
|
62
|
+
setOuterDivStyle(outerDiv, portalRef, css?.multiselect?.style);
|
|
47
63
|
let outerDiv = undefined;
|
|
64
|
+
let portalRef = undefined;
|
|
65
|
+
function moveOptionsToPortal() {
|
|
66
|
+
// Find ul element with class 'options' within the outerDiv
|
|
67
|
+
const ul = outerDiv?.querySelector('.options');
|
|
68
|
+
if (ul) {
|
|
69
|
+
// Move the ul element to the portal
|
|
70
|
+
portalRef?.appendChild(ul);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
$: if (render) {
|
|
74
|
+
tick().then(() => {
|
|
75
|
+
moveOptionsToPortal();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
let w = 0;
|
|
79
|
+
let h = 0;
|
|
80
|
+
let open = false;
|
|
48
81
|
</script>
|
|
49
82
|
|
|
50
83
|
{#each Object.keys(components['multiselectcomponent'].initialData.configuration) as key (key)}
|
|
@@ -66,23 +99,48 @@ let outerDiv = undefined;
|
|
|
66
99
|
e.stopPropagation()
|
|
67
100
|
}
|
|
68
101
|
}}
|
|
102
|
+
use:floatingRef
|
|
103
|
+
bind:clientWidth={w}
|
|
104
|
+
bind:clientHeight={h}
|
|
69
105
|
>
|
|
70
106
|
{#if !value || Array.isArray(value)}
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
107
|
+
<div style={`height:${h}px;`}>
|
|
108
|
+
<MultiSelect
|
|
109
|
+
bind:outerDiv
|
|
110
|
+
outerDivClass={`${resolvedConfig.allowOverflow ? '' : 'h-full'}`}
|
|
111
|
+
ulSelectedClass={`${resolvedConfig.allowOverflow ? '' : 'overflow-auto max-h-full'} `}
|
|
112
|
+
ulOptionsClass={'p-2'}
|
|
113
|
+
bind:selected={value}
|
|
114
|
+
on:change={() => {
|
|
115
|
+
outputs?.result.set([...(value ?? [])])
|
|
116
|
+
}}
|
|
117
|
+
options={Array.isArray(items) ? items : []}
|
|
118
|
+
placeholder={resolvedConfig.placeholder}
|
|
119
|
+
allowUserOptions={resolvedConfig.create}
|
|
120
|
+
on:open={() => {
|
|
121
|
+
$selectedComponent = [id]
|
|
122
|
+
open = true
|
|
123
|
+
}}
|
|
124
|
+
on:close={() => {
|
|
125
|
+
open = false
|
|
126
|
+
}}
|
|
127
|
+
>
|
|
128
|
+
<div slot="option" let:option>
|
|
129
|
+
{option}
|
|
130
|
+
</div>
|
|
131
|
+
</MultiSelect>
|
|
132
|
+
<Portal>
|
|
133
|
+
<div use:floatingContent class="z5000" hidden={!open}>
|
|
134
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
135
|
+
<div
|
|
136
|
+
bind:this={portalRef}
|
|
137
|
+
class="multiselect"
|
|
138
|
+
style={`min-width: ${w}px;`}
|
|
139
|
+
on:click|stopPropagation
|
|
140
|
+
/>
|
|
141
|
+
</div>
|
|
142
|
+
</Portal>
|
|
143
|
+
</div>
|
|
86
144
|
{:else}
|
|
87
145
|
Value {value} is not an array
|
|
88
146
|
{/if}
|
|
@@ -94,6 +152,7 @@ let outerDiv = undefined;
|
|
|
94
152
|
padding: 0 !important;
|
|
95
153
|
overflow: auto;
|
|
96
154
|
}
|
|
97
|
-
|
|
98
|
-
|
|
155
|
+
|
|
156
|
+
:global(.z5000) {
|
|
157
|
+
z-index: 5000 !important;
|
|
99
158
|
}</style>
|