windmill-components 1.84.6 → 1.86.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/AppConnect.svelte +2 -2
- package/components/ArgInfo.svelte +4 -6
- package/components/ArgInput.svelte +12 -12
- package/components/ArgInput.svelte.d.ts +1 -2
- package/components/CenteredModal.svelte +9 -7
- package/components/CronInput.svelte +301 -64
- package/components/CronInput.svelte.d.ts +3 -3
- package/components/DisplayResult.svelte +5 -7
- package/components/Dropdown.svelte +5 -4
- package/components/Editor.svelte +138 -83
- package/components/Editor.svelte.d.ts +10 -4
- package/components/EditorBar.svelte +72 -36
- package/components/EditorBar.svelte.d.ts +1 -1
- package/components/FlowBuilder.svelte +136 -110
- package/components/FlowGraphViewer.svelte +5 -8
- package/components/FlowGraphViewer.svelte.d.ts +1 -0
- package/components/FlowPreviewContent.svelte +14 -11
- package/components/FlowStatusViewer.svelte +54 -44
- package/components/FlowViewer.svelte +1 -1
- package/components/FolderEditor.svelte +2 -10
- package/components/FolderUsageInfo.svelte +1 -1
- package/components/GroupEditor.svelte +6 -15
- package/components/HighlightCode.svelte +1 -1
- package/components/InlineCodeCopy.svelte +2 -1
- package/components/InputTransformForm.svelte +75 -73
- package/components/InputTransformSchemaForm.svelte +1 -1
- package/components/InputTransformsViewer.svelte +1 -1
- package/components/LightweightArgInput.svelte +12 -0
- package/components/LightweightArgInput.svelte.d.ts +1 -0
- package/components/LightweightSchemaForm.svelte +2 -1
- package/components/LightweightSchemaForm.svelte.d.ts +2 -0
- package/components/Modal.svelte +2 -2
- package/components/ModulePreview.svelte +11 -11
- package/components/ModuleStatus.svelte +0 -1
- package/components/Multiselect.svelte +1 -0
- package/components/ObjectResourceInput.svelte +1 -23
- package/components/Path.svelte +56 -94
- package/components/Popover.svelte +7 -19
- package/components/Range.svelte +1 -4
- package/components/ResourceEditor.svelte +6 -6
- package/components/ResourcePicker.svelte +2 -2
- package/components/RunForm.svelte +5 -6
- package/components/ScheduleEditor.svelte +23 -13
- package/components/SchemaModal.svelte +1 -0
- package/components/SchemaModal.svelte.d.ts +1 -1
- package/components/ScriptBuilder.svelte +201 -206
- package/components/ScriptBuilder.svelte.d.ts +2 -0
- package/components/ScriptEditor.svelte +38 -38
- package/components/ScriptEditor.svelte.d.ts +5 -1
- package/components/ScriptSchema.svelte +1 -20
- package/components/ScriptSchema.svelte.d.ts +0 -1
- package/components/SearchItems.svelte +1 -1
- package/components/SharedBadge.svelte +0 -1
- package/components/SimpleEditor.svelte +17 -37
- package/components/SimpleEditor.svelte.d.ts +6 -0
- package/components/Star.svelte +2 -1
- package/components/TemplateEditor.svelte +21 -29
- package/components/TemplateEditor.svelte.d.ts +3 -0
- package/components/Toast.svelte +50 -0
- package/components/Toast.svelte.d.ts +18 -0
- package/components/apps/components/buttons/AppButton.svelte +2 -1
- package/components/apps/components/display/AppBarChart.svelte +5 -5
- package/components/apps/components/display/AppHtml.svelte +9 -6
- package/components/apps/components/display/AppIcon.svelte +3 -0
- package/components/apps/components/display/AppImage.svelte +4 -1
- package/components/apps/components/display/AppMap.svelte +3 -0
- package/components/apps/components/display/AppPdf.svelte +14 -11
- package/components/apps/components/display/AppText.svelte +152 -60
- package/components/apps/components/display/AppText.svelte.d.ts +4 -0
- package/components/apps/components/display/table/AppAggridTable.svelte +25 -12
- package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
- package/components/apps/components/display/table/AppTable.svelte +1 -2
- package/components/apps/components/display/table/AppTableFooter.svelte +0 -1
- package/components/apps/components/helpers/AlignWrapper.svelte +1 -20
- package/components/apps/components/helpers/HiddenComponent.svelte +12 -6
- package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +2 -1
- package/components/apps/components/helpers/InitializeComponent.svelte +12 -0
- package/components/apps/components/helpers/InitializeComponent.svelte.d.ts +16 -0
- package/components/apps/components/helpers/InputValue.svelte +6 -0
- package/components/apps/components/helpers/NonRunnableComponent.svelte +4 -3
- package/components/apps/components/helpers/RunnableComponent.svelte +24 -6
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +2 -1
- package/components/apps/components/helpers/RunnableWrapper.svelte +8 -2
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/components/apps/components/helpers/eval.d.ts +4 -0
- package/components/apps/components/helpers/eval.js +3 -1
- package/components/apps/components/inputs/AppCheckbox.svelte +3 -0
- package/components/apps/components/inputs/AppDateInput.svelte +3 -0
- package/components/apps/components/inputs/AppFileInput.svelte +4 -0
- package/components/apps/components/inputs/AppMultiSelect.svelte +5 -2
- package/components/apps/components/inputs/AppNumberInput.svelte +3 -0
- package/components/apps/components/inputs/AppRangeInput.svelte +8 -5
- package/components/apps/components/inputs/AppSelect.svelte +3 -9
- package/components/apps/components/inputs/AppSliderInputs.svelte +2 -0
- package/components/apps/components/inputs/AppTextInput.svelte +12 -5
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +3 -0
- package/components/apps/components/layout/AppContainer.svelte +3 -0
- package/components/apps/components/layout/AppDivider.svelte +3 -0
- package/components/apps/components/layout/AppDrawer.svelte +3 -0
- package/components/apps/components/layout/AppSplitpanes.svelte +3 -0
- package/components/apps/components/layout/AppTabs.svelte +4 -1
- package/components/apps/editor/AppEditor.svelte +42 -35
- package/components/apps/editor/AppEditorHeader.svelte +23 -15
- package/components/apps/editor/AppPreview.svelte +5 -3
- package/components/apps/editor/ComponentHeader.svelte +20 -1
- package/components/apps/editor/ComponentHeader.svelte.d.ts +3 -0
- package/components/apps/editor/GridEditor.svelte +2 -2
- package/components/apps/editor/RecomputeAllComponents.svelte +7 -4
- package/components/apps/editor/SettingsPanel.svelte +1 -0
- package/components/apps/editor/SubGridEditor.svelte +5 -5
- package/components/apps/editor/appUtils.js +13 -3
- package/components/apps/editor/component/Component.svelte +24 -2
- package/components/apps/editor/component/ComponentWrapper.svelte +5 -0
- package/components/apps/editor/component/components.d.ts +39 -39
- package/components/apps/editor/componentsPanel/ComponentList.svelte +12 -26
- package/components/apps/editor/componentsPanel/CssSettings.svelte +1 -3
- package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
- package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +2 -2
- package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -2
- package/components/apps/editor/contextPanel/components/IdEditor.svelte +90 -0
- package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +18 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte +92 -21
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +4 -3
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +3 -3
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +50 -37
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +3 -3
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +14 -6
- package/components/apps/editor/settingsPanel/TableActions.svelte +1 -1
- package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +8 -3
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +0 -2
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +2 -2
- package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +2 -5
- package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +2 -5
- package/components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte +15 -7
- package/components/apps/editor/settingsPanel/triggerLists/BackgroundScriptTriggerList.svelte.d.ts +2 -1
- package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte +2 -2
- package/components/apps/editor/settingsPanel/triggerLists/ComponentTriggerList.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte +6 -5
- package/components/apps/editor/settingsPanel/triggerLists/TriggerBadgesList.svelte.d.ts +1 -1
- package/components/apps/inputType.d.ts +1 -0
- package/components/apps/rx.d.ts +0 -2
- package/components/apps/rx.js +1 -3
- package/components/apps/svelte-grid/utils/helper.js +1 -1
- package/components/apps/types.d.ts +12 -0
- package/components/apps/utils.d.ts +3 -1
- package/components/apps/utils.js +26 -2
- package/components/build_workers.d.ts +14 -0
- package/components/build_workers.js +45 -0
- package/components/common/badge/Badge.svelte +0 -1
- package/components/common/button/Button.svelte +46 -24
- package/components/common/button/Button.svelte.d.ts +7 -1
- package/components/common/button/ButtonDropdown.svelte +25 -0
- package/components/common/button/ButtonDropdown.svelte.d.ts +27 -0
- package/components/common/button/model.d.ts +2 -3
- package/components/common/button/model.js +7 -3
- package/components/common/drawer/Drawer.svelte +2 -3
- package/components/common/drawer/DrawerContent.svelte +2 -6
- package/components/common/fileInput/FileInput.svelte +5 -1
- package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
- package/components/common/index.d.ts +0 -2
- package/components/common/index.js +0 -2
- package/components/common/menu/Menu.svelte.d.ts +1 -1
- package/components/common/popup/Popup.svelte +16 -8
- package/components/common/popup/Popup.svelte.d.ts +6 -0
- package/components/common/table/AppRow.svelte +0 -1
- package/components/common/table/FlowRow.svelte +0 -1
- package/components/common/table/ScriptRow.svelte +2 -3
- package/components/common/tabs/Tab.svelte +10 -5
- package/components/common/tabs/Tabs.svelte +20 -1
- package/components/common/tabs/Tabs.svelte.d.ts +3 -0
- package/components/flows/CreateActionsApp.svelte +14 -9
- package/components/flows/CreateActionsFlow.svelte +11 -10
- package/components/flows/FlowEditor.svelte +2 -2
- package/components/flows/content/CapturePayload.svelte +2 -4
- package/components/flows/content/DynamicInputHelpBox.svelte +1 -0
- package/components/flows/content/FlowBranchesAllWrapper.svelte +2 -2
- package/components/flows/content/FlowBranchesOneWrapper.svelte +2 -2
- package/components/flows/content/FlowInputsFlow.svelte +1 -1
- package/components/flows/content/FlowInputsFlow.svelte.d.ts +1 -3
- package/components/flows/content/FlowModuleComponent.svelte +27 -28
- package/components/flows/content/FlowModuleWrapper.svelte +0 -1
- package/components/flows/content/FlowRetries.svelte +1 -2
- package/components/flows/content/FlowSchedules.svelte +3 -1
- package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
- package/components/flows/flowStateUtils.d.ts +0 -3
- package/components/flows/flowStateUtils.js +3 -23
- package/components/flows/header/FlowImportExportMenu.svelte +10 -12
- package/components/flows/header/FlowPreviewButtons.svelte +21 -24
- package/components/flows/idUtils.d.ts +4 -0
- package/components/flows/idUtils.js +47 -0
- package/components/flows/map/FlowModuleSchemaItem.svelte +6 -6
- package/components/flows/map/MapItem.svelte +9 -9
- package/components/flows/map/MapItem.svelte.d.ts +0 -1
- package/components/flows/scheduleUtils.d.ts +1 -0
- package/components/flows/scheduleUtils.js +2 -1
- package/components/flows/utils.d.ts +0 -2
- package/components/flows/utils.js +3 -35
- package/components/graph/FlowGraph.svelte +22 -8
- package/components/graph/FlowGraph.svelte.d.ts +2 -0
- package/components/graph/svelvet/collapsible/controllers/util.js +3 -14
- package/components/graph/svelvet/container/views/GraphView.svelte +25 -42
- package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +2 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte +5 -3
- package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +3 -0
- package/components/graph/svelvet/edges/controllers/anchorCbDev.js +5 -5
- package/components/graph/svelvet/edges/controllers/util.js +1 -1
- package/components/graph/svelvet/edges/models/Edge.js +2 -2
- package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +1 -1
- package/components/graph/svelvet/nodes/models/Node.js +0 -1
- package/components/graph/svelvet/nodes/views/Node.svelte +0 -1
- package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +0 -1
- package/components/graph/svelvet/store/controllers/util.d.ts +1 -1
- package/components/graph/svelvet/store/controllers/util.js +3 -3
- package/components/home/ItemsList.svelte +11 -11
- package/components/icons/WindmillIcon.svelte +4 -0
- package/components/icons/WindmillIcon.svelte.d.ts +1 -0
- package/components/propertyPicker/ObjectViewer.svelte +0 -5
- package/components/propertyPicker/ObjectViewer.svelte.d.ts +0 -1
- package/components/propertyPicker/PropPicker.svelte +2 -2
- package/components/scripts/CreateActionsScript.svelte +4 -22
- package/components/sidebar/WorkspaceMenu.svelte +8 -4
- package/editorUtils.d.ts +3 -0
- package/editorUtils.js +7 -2
- package/gen/core/OpenAPI.js +1 -1
- package/gen/index.d.ts +7 -1
- package/gen/index.js +3 -0
- package/gen/models/CreateInput.d.ts +5 -0
- package/gen/models/CreateInput.js +4 -0
- package/gen/models/EditSchedule.d.ts +1 -0
- package/gen/models/Input.d.ts +6 -0
- package/gen/models/Input.js +4 -0
- package/gen/models/MainArgSignature.d.ts +8 -0
- package/gen/models/MainArgSignature.js +8 -1
- package/gen/models/NewSchedule.d.ts +1 -1
- package/gen/models/NewTokenImpersonate.d.ts +5 -0
- package/gen/models/NewTokenImpersonate.js +4 -0
- package/gen/models/RunnableType.d.ts +5 -0
- package/gen/models/RunnableType.js +9 -0
- package/gen/models/Schedule.d.ts +1 -1
- package/gen/models/UpdateInput.d.ts +4 -0
- package/gen/models/UpdateInput.js +4 -0
- package/gen/services/FlowService.d.ts +18 -0
- package/gen/services/FlowService.js +19 -0
- package/gen/services/InputService.d.ts +78 -0
- package/gen/services/InputService.js +95 -0
- package/gen/services/JobService.d.ts +35 -15
- package/gen/services/JobService.js +25 -7
- package/gen/services/ScheduleService.d.ts +2 -2
- package/gen/services/ScheduleService.js +1 -1
- package/gen/services/ScriptService.d.ts +10 -0
- package/gen/services/ScriptService.js +16 -0
- package/gen/services/UserService.d.ts +12 -0
- package/gen/services/UserService.js +13 -0
- package/infer.js +3 -0
- package/init_scripts/python_init_code.d.ts +1 -1
- package/init_scripts/python_init_code.js +2 -2
- package/package.json +684 -673
- package/script_helpers.d.ts +1 -1
- package/script_helpers.js +7 -5
- package/stores.js +14 -1
- package/user.d.ts +1 -1
- package/user.js +6 -6
- package/utils.d.ts +2 -2
- package/utils.js +21 -11
- package/components/common/button/ButtonPopup.svelte +0 -75
- package/components/common/button/ButtonPopup.svelte.d.ts +0 -39
- package/components/common/button/ButtonPopupItem.svelte +0 -48
- package/components/common/button/ButtonPopupItem.svelte.d.ts +0 -28
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte +0 -151
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +0 -20
|
@@ -11,6 +11,7 @@ export let multiple = false;
|
|
|
11
11
|
export let convertTo = undefined;
|
|
12
12
|
export let hideIcon = false;
|
|
13
13
|
export let iconSize = 36;
|
|
14
|
+
export let returnFileNames = false;
|
|
14
15
|
const dispatch = createEventDispatcher();
|
|
15
16
|
let input;
|
|
16
17
|
let files = undefined;
|
|
@@ -69,7 +70,10 @@ async function dispatchChange() {
|
|
|
69
70
|
files = files;
|
|
70
71
|
if (convertTo && files) {
|
|
71
72
|
const promises = files.map(convertFile);
|
|
72
|
-
|
|
73
|
+
let converted = await Promise.all(promises);
|
|
74
|
+
if (returnFileNames) {
|
|
75
|
+
converted = converted.map((c, i) => ({ name: files[i].name, data: c }));
|
|
76
|
+
}
|
|
73
77
|
dispatch('change', converted);
|
|
74
78
|
}
|
|
75
79
|
else {
|
|
@@ -2,8 +2,6 @@ export { default as ActionRow } from './actionRow/ActionRow.svelte';
|
|
|
2
2
|
export { default as Alert } from './alert/Alert.svelte';
|
|
3
3
|
export { default as Badge } from './badge/Badge.svelte';
|
|
4
4
|
export { default as Button } from './button/Button.svelte';
|
|
5
|
-
export { default as ButtonPopup } from './button/ButtonPopup.svelte';
|
|
6
|
-
export { default as ButtonPopupItem } from './button/ButtonPopupItem.svelte';
|
|
7
5
|
export { default as UndoRedo } from './button/UndoRedo.svelte';
|
|
8
6
|
export { default as ClearableInput } from './clearableInput/ClearableInput.svelte';
|
|
9
7
|
export { default as Drawer } from './drawer/Drawer.svelte';
|
|
@@ -2,8 +2,6 @@ export { default as ActionRow } from './actionRow/ActionRow.svelte';
|
|
|
2
2
|
export { default as Alert } from './alert/Alert.svelte';
|
|
3
3
|
export { default as Badge } from './badge/Badge.svelte';
|
|
4
4
|
export { default as Button } from './button/Button.svelte';
|
|
5
|
-
export { default as ButtonPopup } from './button/ButtonPopup.svelte';
|
|
6
|
-
export { default as ButtonPopupItem } from './button/ButtonPopupItem.svelte';
|
|
7
5
|
export { default as UndoRedo } from './button/UndoRedo.svelte';
|
|
8
6
|
export { default as ClearableInput } from './clearableInput/ClearableInput.svelte';
|
|
9
7
|
export { default as Drawer } from './drawer/Drawer.svelte';
|
|
@@ -6,7 +6,7 @@ declare const __propDef: {
|
|
|
6
6
|
wrapperClasses?: string | undefined;
|
|
7
7
|
popupClasses?: string | undefined;
|
|
8
8
|
transitionDuration?: number | undefined;
|
|
9
|
-
placement?: "top-start" | "top-end" | "
|
|
9
|
+
placement?: "top-start" | "top-end" | "top-center" | "bottom-start" | "bottom-end" | "bottom-center" | undefined;
|
|
10
10
|
};
|
|
11
11
|
events: {
|
|
12
12
|
[evt: string]: CustomEvent<any>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<svelte:options accessors />
|
|
2
2
|
|
|
3
|
-
<script>import { onDestroy } from 'svelte';
|
|
3
|
+
<script>import { createEventDispatcher, onDestroy } from 'svelte';
|
|
4
4
|
import { slide } from 'svelte/transition';
|
|
5
5
|
import { createPopperActions } from 'svelte-popperjs';
|
|
6
6
|
import { clickOutside } from '../../../utils';
|
|
@@ -13,6 +13,7 @@ export let openOn = ['focus'];
|
|
|
13
13
|
export let closeOn = ['blur'];
|
|
14
14
|
export let innerClasses = '';
|
|
15
15
|
export let outerClasses = '';
|
|
16
|
+
export let wrapperClasses = '';
|
|
16
17
|
export let transition = slide;
|
|
17
18
|
export { openFocusIn as open, closed as close };
|
|
18
19
|
const states = ['closed', 'open-focus-in', 'open-focus-out'];
|
|
@@ -24,6 +25,7 @@ const stateMachine = createStateMachine(states, {
|
|
|
24
25
|
}
|
|
25
26
|
});
|
|
26
27
|
const [popperRef, popperContent, getInstance] = createPopperActions();
|
|
28
|
+
const dispatch = createEventDispatcher();
|
|
27
29
|
let popup;
|
|
28
30
|
let focusableElements;
|
|
29
31
|
function getFocusableElements() {
|
|
@@ -46,16 +48,20 @@ function closed() {
|
|
|
46
48
|
if ($stateMachine.currentState === 'open-focus-out') {
|
|
47
49
|
setTimeout(() => {
|
|
48
50
|
stateMachine.setState('closed');
|
|
51
|
+
dispatch('close');
|
|
49
52
|
}, 0);
|
|
50
53
|
}
|
|
51
54
|
else {
|
|
52
55
|
stateMachine.setState('closed');
|
|
56
|
+
dispatch('close');
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
function conditionalClosed() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
setTimeout(() => {
|
|
61
|
+
if (isFocusContained())
|
|
62
|
+
return;
|
|
63
|
+
closed();
|
|
64
|
+
}, 0);
|
|
59
65
|
}
|
|
60
66
|
function openFocusOut() {
|
|
61
67
|
stateMachine.setState('open-focus-out');
|
|
@@ -64,12 +70,14 @@ function openFocusIn() {
|
|
|
64
70
|
stateMachine.setState('open-focus-in');
|
|
65
71
|
}
|
|
66
72
|
function keyDown(event) {
|
|
67
|
-
const modifiers = ['Shift', 'Control', 'Command', 'Alt'];
|
|
73
|
+
const modifiers = ['Shift', 'Control', 'Command', 'Alt', 'Meta'];
|
|
68
74
|
// Prevent closing the popup when the only key pressed is a modifier key
|
|
69
75
|
if (modifiers.includes(event.key) || $stateMachine.currentState === 'closed')
|
|
70
76
|
return;
|
|
71
77
|
if (event.key === 'Escape') {
|
|
72
|
-
|
|
78
|
+
;
|
|
79
|
+
document.activeElement?.blur();
|
|
80
|
+
return conditionalClosed();
|
|
73
81
|
}
|
|
74
82
|
const prev = ['Up', 'Left'];
|
|
75
83
|
const next = ['Down', 'Right'];
|
|
@@ -134,7 +142,7 @@ onDestroy(removeAllListeners);
|
|
|
134
142
|
<svelte:window on:keydown={keyDown} />
|
|
135
143
|
|
|
136
144
|
<div
|
|
137
|
-
class="z-50"
|
|
145
|
+
class="z-50 {wrapperClasses}"
|
|
138
146
|
bind:this={popup}
|
|
139
147
|
use:popperContent={options}
|
|
140
148
|
use:clickOutside
|
|
@@ -143,7 +151,7 @@ onDestroy(removeAllListeners);
|
|
|
143
151
|
aria-expanded={$stateMachine.currentState !== 'closed'}
|
|
144
152
|
>
|
|
145
153
|
{#if $stateMachine.currentState !== 'closed'}
|
|
146
|
-
<div transition:transition|local={{ duration:
|
|
154
|
+
<div transition:transition|local={{ duration: 100 }} class={outerClasses}>
|
|
147
155
|
<div class={innerClasses}>
|
|
148
156
|
<slot open={openFocusIn} close={closed} />
|
|
149
157
|
</div>
|
|
@@ -9,11 +9,14 @@ declare const __propDef: {
|
|
|
9
9
|
/** Events on the reference element */ closeOn?: (keyof HTMLElementEventMap)[] | undefined;
|
|
10
10
|
innerClasses?: string | undefined;
|
|
11
11
|
outerClasses?: string | undefined;
|
|
12
|
+
wrapperClasses?: string | undefined;
|
|
12
13
|
transition?: ((node: Element, params?: Record<string, any>) => TransitionConfig) | undefined;
|
|
13
14
|
open?: (() => void) | undefined;
|
|
14
15
|
close?: (() => void) | undefined;
|
|
15
16
|
};
|
|
16
17
|
events: {
|
|
18
|
+
close: CustomEvent<any>;
|
|
19
|
+
} & {
|
|
17
20
|
[evt: string]: CustomEvent<any>;
|
|
18
21
|
};
|
|
19
22
|
slots: {
|
|
@@ -45,6 +48,9 @@ export default class Popup extends SvelteComponentTyped<PopupProps, PopupEvents,
|
|
|
45
48
|
get outerClasses(): string | undefined;
|
|
46
49
|
/**accessor*/
|
|
47
50
|
set outerClasses(_: string | undefined);
|
|
51
|
+
get wrapperClasses(): string | undefined;
|
|
52
|
+
/**accessor*/
|
|
53
|
+
set wrapperClasses(_: string | undefined);
|
|
48
54
|
get transition(): ((node: Element, params?: Record<string, any> | undefined) => TransitionConfig) | undefined;
|
|
49
55
|
/**accessor*/
|
|
50
56
|
set transition(_: ((node: Element, params?: Record<string, any> | undefined) => TransitionConfig) | undefined);
|
|
@@ -3,7 +3,6 @@ import SharedBadge from '../../SharedBadge.svelte';
|
|
|
3
3
|
import { AppService } from '../../../gen';
|
|
4
4
|
import { userStore, workspaceStore } from '../../../stores';
|
|
5
5
|
import { faCodeFork, faEdit, faEye, faFileExport, faPen, faShare, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
|
|
6
|
-
import { MoreVertical } from 'lucide-svelte';
|
|
7
6
|
import { createEventDispatcher } from 'svelte';
|
|
8
7
|
import Button from '../button/Button.svelte';
|
|
9
8
|
import Row from './Row.svelte';
|
|
@@ -6,7 +6,6 @@ import { FlowService } from '../../../gen';
|
|
|
6
6
|
import { userStore, workspaceStore } from '../../../stores';
|
|
7
7
|
import { sendUserToast } from '../../../utils';
|
|
8
8
|
import { faArchive, faCalendarAlt, faCodeFork, faEdit, faEye, faFileExport, faList, faPlay, faShare, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
|
|
9
|
-
import { MoreVertical } from 'lucide-svelte';
|
|
10
9
|
import { createEventDispatcher } from 'svelte';
|
|
11
10
|
import Badge from '../badge/Badge.svelte';
|
|
12
11
|
import Button from '../button/Button.svelte';
|
|
@@ -6,7 +6,6 @@ import { ScriptService } from '../../../gen';
|
|
|
6
6
|
import { userStore, workspaceStore } from '../../../stores';
|
|
7
7
|
import { capitalize, sendUserToast } from '../../../utils';
|
|
8
8
|
import { faArchive, faCalendarAlt, faCodeFork, faEdit, faEye, faFileExport, faList, faPlay, faShare, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
|
|
9
|
-
import { MoreVertical } from 'lucide-svelte';
|
|
10
9
|
import { createEventDispatcher } from 'svelte';
|
|
11
10
|
import Badge from '../badge/Badge.svelte';
|
|
12
11
|
import Button from '../button/Button.svelte';
|
|
@@ -72,7 +71,7 @@ const dlt = 'delete';
|
|
|
72
71
|
size="xs"
|
|
73
72
|
variant="border"
|
|
74
73
|
startIcon={{ icon: faEdit }}
|
|
75
|
-
href="/scripts/edit/{hash}
|
|
74
|
+
href="/scripts/edit/{hash}"
|
|
76
75
|
>
|
|
77
76
|
Edit
|
|
78
77
|
</Button>
|
|
@@ -130,7 +129,7 @@ const dlt = 'delete';
|
|
|
130
129
|
{
|
|
131
130
|
displayName: 'Edit code',
|
|
132
131
|
icon: faEdit,
|
|
133
|
-
href: `/scripts/edit/${hash}
|
|
132
|
+
href: `/scripts/edit/${hash}`,
|
|
134
133
|
disabled: !canWrite || archived
|
|
135
134
|
},
|
|
136
135
|
{
|
|
@@ -14,11 +14,10 @@ const fontSizeClasses = {
|
|
|
14
14
|
lg: 'text-lg',
|
|
15
15
|
xl: 'text-xl'
|
|
16
16
|
};
|
|
17
|
-
const { selected, update } = getContext('Tabs');
|
|
17
|
+
const { selected, update, hashNavigation } = getContext('Tabs');
|
|
18
18
|
</script>
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
<div
|
|
20
|
+
<button
|
|
22
21
|
class={twMerge(
|
|
23
22
|
'border-b-2 py-1 px-4 cursor-pointer transition-all z-10 ease-linear font-medium',
|
|
24
23
|
$selected?.startsWith(value)
|
|
@@ -29,8 +28,14 @@ const { selected, update } = getContext('Tabs');
|
|
|
29
28
|
$selected?.startsWith(value) ? selectedClass : ''
|
|
30
29
|
)}
|
|
31
30
|
style={`${style} ${$selected?.startsWith(value) ? selectedStyle : ''}`}
|
|
32
|
-
on:click={() =>
|
|
31
|
+
on:click={() => {
|
|
32
|
+
if (hashNavigation) {
|
|
33
|
+
window.location.hash = value
|
|
34
|
+
} else {
|
|
35
|
+
update(value)
|
|
36
|
+
}
|
|
37
|
+
}}
|
|
33
38
|
on:pointerdown|stopPropagation
|
|
34
39
|
>
|
|
35
40
|
<slot />
|
|
36
|
-
</
|
|
41
|
+
</button>
|
|
@@ -11,6 +11,8 @@ let c = '';
|
|
|
11
11
|
export { c as class };
|
|
12
12
|
export let wrapperClass = '';
|
|
13
13
|
export let style = '';
|
|
14
|
+
export let hashNavigation = false;
|
|
15
|
+
export let dflt = undefined;
|
|
14
16
|
$: selected && updateSelected();
|
|
15
17
|
const selectedStore = writable(selected);
|
|
16
18
|
$: $selectedStore && dispatch('selected', $selectedStore);
|
|
@@ -19,13 +21,30 @@ setContext('Tabs', {
|
|
|
19
21
|
update: (value) => {
|
|
20
22
|
selectedStore.set(value);
|
|
21
23
|
selected = value;
|
|
22
|
-
}
|
|
24
|
+
},
|
|
25
|
+
hashNavigation
|
|
23
26
|
});
|
|
24
27
|
function updateSelected() {
|
|
25
28
|
selectedStore.set(selected);
|
|
26
29
|
}
|
|
30
|
+
function hashChange() {
|
|
31
|
+
if (hashNavigation) {
|
|
32
|
+
const hash = window.location.hash;
|
|
33
|
+
if (hash) {
|
|
34
|
+
const id = hash.replace('#', '');
|
|
35
|
+
selectedStore.set(id);
|
|
36
|
+
selected = id;
|
|
37
|
+
}
|
|
38
|
+
else if (dflt) {
|
|
39
|
+
selectedStore.set(dflt);
|
|
40
|
+
selected = dflt;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
27
44
|
</script>
|
|
28
45
|
|
|
46
|
+
<svelte:window on:hashchange={hashChange} />
|
|
47
|
+
|
|
29
48
|
<div class="overflow-x-auto {wrapperClass}">
|
|
30
49
|
<div
|
|
31
50
|
class={twMerge('border-b border-gray-200 flex flex-row whitespace-nowrap scrollbar-hidden', c)}
|
|
@@ -2,6 +2,7 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
export type TabsContext = {
|
|
3
3
|
selected: Writable<string>;
|
|
4
4
|
update: (value: string) => void;
|
|
5
|
+
hashNavigation: boolean;
|
|
5
6
|
};
|
|
6
7
|
import { type Writable } from 'svelte/store';
|
|
7
8
|
declare const __propDef: {
|
|
@@ -10,6 +11,8 @@ declare const __propDef: {
|
|
|
10
11
|
class?: string | undefined;
|
|
11
12
|
wrapperClass?: string | undefined;
|
|
12
13
|
style?: string | undefined;
|
|
14
|
+
hashNavigation?: boolean | undefined;
|
|
15
|
+
dflt?: string | undefined;
|
|
13
16
|
};
|
|
14
17
|
events: {
|
|
15
18
|
selected: CustomEvent<any>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<script>import { goto } from '$app/navigation';
|
|
2
|
-
import {
|
|
3
|
-
import { Button
|
|
2
|
+
import { faPlus } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { Button } from '../common';
|
|
4
4
|
import Drawer from '../common/drawer/Drawer.svelte';
|
|
5
5
|
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
6
6
|
import SimpleEditor from '../SimpleEditor.svelte';
|
|
7
|
-
import { importStore } from '../apps/store';
|
|
8
7
|
import { LayoutDashboard } from 'lucide-svelte';
|
|
8
|
+
import { importStore } from '../apps/store';
|
|
9
9
|
let drawer = undefined;
|
|
10
10
|
let pendingJson;
|
|
11
11
|
async function importJson() {
|
|
@@ -17,17 +17,22 @@ async function importJson() {
|
|
|
17
17
|
|
|
18
18
|
<!-- Buttons -->
|
|
19
19
|
<div class="flex flex-row gap-2">
|
|
20
|
-
<
|
|
20
|
+
<Button
|
|
21
21
|
size="sm"
|
|
22
22
|
spacingSize="xl"
|
|
23
23
|
startIcon={{ icon: faPlus }}
|
|
24
24
|
href="/apps/add?nodraft=true"
|
|
25
|
+
dropdownItems={[
|
|
26
|
+
{
|
|
27
|
+
label: 'Import from raw JSON',
|
|
28
|
+
onClick: () => drawer?.toggleDrawer?.()
|
|
29
|
+
}
|
|
30
|
+
]}
|
|
25
31
|
>
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</ButtonPopup>
|
|
32
|
+
<div class="flex flex-row">
|
|
33
|
+
App <LayoutDashboard class="ml-1.5" size={18} />
|
|
34
|
+
</div>
|
|
35
|
+
</Button>
|
|
31
36
|
</div>
|
|
32
37
|
|
|
33
38
|
<!-- Raw JSON -->
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
<script>import { goto } from '$app/navigation';
|
|
2
2
|
import { faBarsStaggered, faPlus } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
-
import { Button
|
|
3
|
+
import { Button } from '../common';
|
|
4
4
|
import Drawer from '../common/drawer/Drawer.svelte';
|
|
5
5
|
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
6
6
|
import SimpleEditor from '../SimpleEditor.svelte';
|
|
7
7
|
import { importFlowStore } from './flowStore';
|
|
8
|
-
import { Icon } from 'svelte-awesome';
|
|
9
8
|
let drawer = undefined;
|
|
10
9
|
let pendingJson;
|
|
11
10
|
async function importJson() {
|
|
@@ -17,19 +16,21 @@ async function importJson() {
|
|
|
17
16
|
|
|
18
17
|
<!-- Buttons -->
|
|
19
18
|
<div class="flex flex-row gap-2">
|
|
20
|
-
<
|
|
19
|
+
<Button
|
|
21
20
|
size="sm"
|
|
22
21
|
spacingSize="xl"
|
|
23
22
|
startIcon={{ icon: faPlus }}
|
|
23
|
+
endIcon={{ icon: faBarsStaggered }}
|
|
24
24
|
href="/flows/add?nodraft=true"
|
|
25
|
+
dropdownItems={[
|
|
26
|
+
{
|
|
27
|
+
label: 'Import from raw JSON',
|
|
28
|
+
onClick: () => drawer?.toggleDrawer?.()
|
|
29
|
+
}
|
|
30
|
+
]}
|
|
25
31
|
>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</svelte:fragment>
|
|
29
|
-
<ButtonPopupItem on:click={() => drawer?.toggleDrawer?.()}>
|
|
30
|
-
Import from raw JSON
|
|
31
|
-
</ButtonPopupItem>
|
|
32
|
-
</ButtonPopup>
|
|
32
|
+
Flow
|
|
33
|
+
</Button>
|
|
33
34
|
</div>
|
|
34
35
|
|
|
35
36
|
<!-- Raw JSON -->
|
|
@@ -27,9 +27,9 @@ let size = 50;
|
|
|
27
27
|
</Pane>
|
|
28
28
|
<Pane class="drop-shadow-2xl" size={100 - size} minSize={40}>
|
|
29
29
|
{#if loading}
|
|
30
|
-
<div class="w-full h-full
|
|
30
|
+
<div class="w-full h-full">
|
|
31
31
|
<div class="block m-auto mt-40 w-10">
|
|
32
|
-
<WindmillIcon
|
|
32
|
+
<WindmillIcon height="40px" width="40px" spin="fast" />
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
35
35
|
{:else}
|
|
@@ -76,11 +76,9 @@ async function getCaptureInput() {
|
|
|
76
76
|
</div>
|
|
77
77
|
<div class="items-center flex flex-row gap-x-2 text-xs text-gray-600">
|
|
78
78
|
Listening for new requests
|
|
79
|
-
<WindmillIcon
|
|
80
|
-
class="animate-[pulse_5s_linear_infinite] animate-[spin_5s_linear_infinite]"
|
|
81
|
-
/></div
|
|
79
|
+
<WindmillIcon class="animate-[pulse_5s_linear_infinite]" spin="fast" /></div
|
|
82
80
|
>
|
|
83
|
-
<div class="box p-2 my-2
|
|
81
|
+
<div class="box p-2 my-2 mb-4">
|
|
84
82
|
<ObjectViewer topBrackets={true} json={captureInput} />
|
|
85
83
|
</div>
|
|
86
84
|
<svelte:fragment slot="actions">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script>import { Alert,
|
|
1
|
+
<script>import { Alert, Tab } from '../../common';
|
|
2
2
|
import TabContent from '../../common/tabs/TabContent.svelte';
|
|
3
3
|
import Tabs from '../../common/tabs/Tabs.svelte';
|
|
4
4
|
import Toggle from '../../Toggle.svelte';
|
|
@@ -26,7 +26,7 @@ let selected = 'early-stop';
|
|
|
26
26
|
<h3 class="mb-4">{value.branches.length} branch{value.branches.length > 1 ? 'es' : ''}</h3
|
|
27
27
|
>
|
|
28
28
|
<div class="flex flex-col gap-y-4 py-2 w-full max-w-xl">
|
|
29
|
-
{#each value.branches as branch
|
|
29
|
+
{#each value.branches as branch}
|
|
30
30
|
<div class="flex flex-row gap-x-4 w-full items-center">
|
|
31
31
|
<div class="grow">
|
|
32
32
|
<input type="text" bind:value={branch.summary} placeholder="Summary" />
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script>import { Alert, Badge,
|
|
1
|
+
<script>import { Alert, Badge, Tab } from '../../common';
|
|
2
2
|
import TabContent from '../../common/tabs/TabContent.svelte';
|
|
3
3
|
import Tabs from '../../common/tabs/Tabs.svelte';
|
|
4
4
|
import FlowCard from '../common/FlowCard.svelte';
|
|
@@ -34,7 +34,7 @@ let selected = 'early-stop';
|
|
|
34
34
|
chosen</p
|
|
35
35
|
>
|
|
36
36
|
</div>
|
|
37
|
-
{#each value.branches as branch
|
|
37
|
+
{#each value.branches as branch}
|
|
38
38
|
<div class="flex flex-col gap-x-2 p-2 items-center border border-gray-400">
|
|
39
39
|
<input
|
|
40
40
|
class="w-full"
|
|
@@ -7,7 +7,7 @@ import { emptyString } from '../../../utils';
|
|
|
7
7
|
import { createEventDispatcher } from 'svelte';
|
|
8
8
|
import { flip } from 'svelte/animate';
|
|
9
9
|
import { fade } from 'svelte/transition';
|
|
10
|
-
export let failureModule
|
|
10
|
+
// export let failureModule: boolean
|
|
11
11
|
const dispatch = createEventDispatcher();
|
|
12
12
|
let items = undefined;
|
|
13
13
|
let filteredItems = undefined;
|
|
@@ -154,33 +154,32 @@ let forceReload = 0;
|
|
|
154
154
|
<Splitpanes horizontal>
|
|
155
155
|
<Pane size={isScript ? 30 : 50} minSize={20}>
|
|
156
156
|
{#if value.type === 'rawscript'}
|
|
157
|
-
<
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
</div>
|
|
157
|
+
<Editor
|
|
158
|
+
path={value['path']}
|
|
159
|
+
bind:websocketAlive
|
|
160
|
+
bind:this={editor}
|
|
161
|
+
class="h-full relative"
|
|
162
|
+
bind:code={value.content}
|
|
163
|
+
deno={value.language === RawScript.language.DENO}
|
|
164
|
+
lang={scriptLangToEditorLang(value.language)}
|
|
165
|
+
automaticLayout={true}
|
|
166
|
+
cmdEnterAction={async () => {
|
|
167
|
+
selected = 'test'
|
|
168
|
+
if (value.type === 'rawscript') {
|
|
169
|
+
value.content = editor.getCode()
|
|
170
|
+
}
|
|
171
|
+
await reload(flowModule)
|
|
172
|
+
modulePreview?.runTestWithStepArgs()
|
|
173
|
+
}}
|
|
174
|
+
on:change={async (event) => {
|
|
175
|
+
if (flowModule.value.type === 'rawscript') {
|
|
176
|
+
flowModule.value.content = event.detail
|
|
177
|
+
}
|
|
178
|
+
await reload(flowModule)
|
|
179
|
+
}}
|
|
180
|
+
formatAction={() => reload(flowModule)}
|
|
181
|
+
fixedOverflowWidgets={true}
|
|
182
|
+
/>
|
|
184
183
|
{:else if value.type === 'script'}
|
|
185
184
|
{#key forceReload}
|
|
186
185
|
<FlowModuleScript path={value.path} hash={value.hash} />
|
|
@@ -239,7 +238,7 @@ let forceReload = 0;
|
|
|
239
238
|
<FlowModuleSleep previousModuleId={previousModule?.id} bind:flowModule />
|
|
240
239
|
</div>
|
|
241
240
|
{:else if selected === 'advanced-same_worker'}
|
|
242
|
-
<div class="p-4
|
|
241
|
+
<div class="p-4 h-full overflow-auto">
|
|
243
242
|
<Alert type="info" title="Share a directory between steps">
|
|
244
243
|
If shared directory is set, will share a folder that will be mounted on
|
|
245
244
|
`./shared` for each of them to pass data between each other.
|
|
@@ -35,7 +35,6 @@ export let previousModule = undefined;
|
|
|
35
35
|
|
|
36
36
|
{#if flowModule.value.flow}
|
|
37
37
|
<FlowInputsFlow
|
|
38
|
-
failureModule={$selectedId === 'failure'}
|
|
39
38
|
on:pick={async ({ detail }) => {
|
|
40
39
|
const { path, summary } = detail
|
|
41
40
|
const [module, state] = await pickFlow(path, summary, flowModule.id)
|
|
@@ -6,11 +6,13 @@ import { getContext } from 'svelte';
|
|
|
6
6
|
const { schedule, flowStore } = getContext('FlowEditorContext');
|
|
7
7
|
</script>
|
|
8
8
|
|
|
9
|
-
<CronInput bind:schedule={$schedule.cron} />
|
|
9
|
+
<CronInput bind:schedule={$schedule.cron} bind:timezone={$schedule.timezone} />
|
|
10
|
+
<div class="mt-10" />
|
|
10
11
|
<SchemaForm schema={$flowStore.schema} bind:args={$schedule.args} />
|
|
11
12
|
{#if emptyString($schedule.cron)}
|
|
12
13
|
<p class="text-xs text-gray-600 mt-10">Define a schedule frequency first</p>
|
|
13
14
|
{/if}
|
|
15
|
+
<div class="mt-10" />
|
|
14
16
|
<Toggle
|
|
15
17
|
disabled={emptyString($schedule.cron)}
|
|
16
18
|
bind:checked={$schedule.enabled}
|
|
@@ -3,7 +3,7 @@ import ScriptEditor from '../../ScriptEditor.svelte';
|
|
|
3
3
|
import { ScriptService } from '../../../gen';
|
|
4
4
|
import { inferArgs } from '../../../infer';
|
|
5
5
|
import { workspaceStore } from '../../../stores';
|
|
6
|
-
import { emptySchema,
|
|
6
|
+
import { emptySchema, sendUserToast } from '../../../utils';
|
|
7
7
|
import { faSave } from '@fortawesome/free-solid-svg-icons';
|
|
8
8
|
import { Loader2 } from 'lucide-svelte';
|
|
9
9
|
import { createEventDispatcher } from 'svelte';
|
|
@@ -2,10 +2,7 @@ import type { Schema } from '../../common';
|
|
|
2
2
|
import { Script, type Flow, type FlowModule, type PathFlow, type PathScript, type RawScript } from '../../gen';
|
|
3
3
|
import { type Writable } from 'svelte/store';
|
|
4
4
|
import type { FlowModuleState, FlowState } from './flowState';
|
|
5
|
-
import { Mutex } from 'async-mutex';
|
|
6
5
|
export declare function loadFlowModuleState(flowModule: FlowModule): Promise<FlowModuleState>;
|
|
7
|
-
export declare const idMutex: Mutex;
|
|
8
|
-
export declare function getNextId(currentKeys: string[]): string;
|
|
9
6
|
export declare function nextId(flowState: FlowState): string;
|
|
10
7
|
export declare function pickScript(path: string, summary: string, id: string, hash?: string): Promise<[FlowModule & {
|
|
11
8
|
value: PathScript;
|