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
package/script_helpers.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import PYTHON_INIT_CODE_TRIGGER from './init_scripts/python_init_code_trigger';
|
|
|
5
5
|
import PYTHON_FAILURE_MODULE_CODE from './init_scripts/python_failure_module';
|
|
6
6
|
export { PYTHON_INIT_CODE, PYTHON_INIT_CODE_CLEAR, PYTHON_INIT_CODE_TRIGGER, PYTHON_FAILURE_MODULE_CODE };
|
|
7
7
|
export declare const DENO_INIT_CODE: string;
|
|
8
|
-
export declare const GO_INIT_CODE = "package inner\n\nimport (\n\t\"fmt\"\n\t\"rsc.io/quote\"\n
|
|
8
|
+
export declare const GO_INIT_CODE = "package inner\n\nimport (\n\t\"fmt\"\n\t\"rsc.io/quote\"\n\t// wmill \"github.com/windmill-labs/windmill-go-client\"\n)\n\n// the main must return (interface{}, error)\n\nfunc main(x string, nested struct {\n\tFoo string `json:\"foo\"`\n}) (interface{}, error) {\n\tfmt.Println(\"Hello, World\")\n\tfmt.Println(nested.Foo)\n\tfmt.Println(quote.Opt())\n\t// v, _ := wmill.GetVariable(\"f/examples/secret\")\n\treturn x, nil\n}\n";
|
|
9
9
|
export declare const GO_FAILURE_MODULE_CODE = "package inner\n\nimport (\n\t\"fmt\"\n \"os\"\n)\n\n// connect the error parameter to 'previous_result.error'\n\nfunc main(message string, name string) (interface{}, error) {\n\tfmt.Println(message)\n\tfmt.Println(name)\n\tfmt.Println(\"flow id that failed\", os.Getenv(\"WM_FLOW_JOB_ID\"))\n return message, nil\n}\n";
|
|
10
10
|
export declare const DENO_INIT_CODE_CLEAR: string;
|
|
11
11
|
export declare const DENO_FAILURE_MODULE_CODE = "// flow is considered recovered and a success unless an exception is thrown\n\nexport async function main(message: string, name: string) {\n const flow_id = Deno.env.get(\"WM_FLOW_JOB_ID\")\n console.log(\"message\", message)\n console.log(\"name\",name)\n return { message, flow_id }\n}\n";
|
package/script_helpers.js
CHANGED
|
@@ -3,7 +3,7 @@ import PYTHON_INIT_CODE_CLEAR from './init_scripts/python_init_code_clear';
|
|
|
3
3
|
import PYTHON_INIT_CODE_TRIGGER from './init_scripts/python_init_code_trigger';
|
|
4
4
|
import PYTHON_FAILURE_MODULE_CODE from './init_scripts/python_failure_module';
|
|
5
5
|
export { PYTHON_INIT_CODE, PYTHON_INIT_CODE_CLEAR, PYTHON_INIT_CODE_TRIGGER, PYTHON_FAILURE_MODULE_CODE };
|
|
6
|
-
export const DENO_INIT_CODE = `// Ctrl+. to cache dependencies on imports hover, Ctrl+S to format.
|
|
6
|
+
export const DENO_INIT_CODE = `// Ctrl/CMD+. to cache dependencies on imports hover, Ctrl/CMD+S to format.
|
|
7
7
|
|
|
8
8
|
// import { toWords } from "npm:number-to-words@1"
|
|
9
9
|
// import * as wmill from "https://deno.land/x/windmill@v${__pkg__.version}/mod.ts"
|
|
@@ -24,17 +24,19 @@ export const GO_INIT_CODE = `package inner
|
|
|
24
24
|
import (
|
|
25
25
|
"fmt"
|
|
26
26
|
"rsc.io/quote"
|
|
27
|
-
|
|
27
|
+
// wmill "github.com/windmill-labs/windmill-go-client"
|
|
28
28
|
)
|
|
29
29
|
|
|
30
30
|
// the main must return (interface{}, error)
|
|
31
31
|
|
|
32
|
-
func main(x string, nested struct
|
|
32
|
+
func main(x string, nested struct {
|
|
33
|
+
Foo string \`json:"foo"\`
|
|
34
|
+
}) (interface{}, error) {
|
|
33
35
|
fmt.Println("Hello, World")
|
|
34
36
|
fmt.Println(nested.Foo)
|
|
35
37
|
fmt.Println(quote.Opt())
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
// v, _ := wmill.GetVariable("f/examples/secret")
|
|
39
|
+
return x, nil
|
|
38
40
|
}
|
|
39
41
|
`;
|
|
40
42
|
export const GO_FAILURE_MODULE_CODE = `package inner
|
package/stores.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { browser } from '$app/environment';
|
|
2
|
-
import { derived, writable } from 'svelte/store';
|
|
2
|
+
import { derived, writable, get } from 'svelte/store';
|
|
3
3
|
import { getUserExt } from './user';
|
|
4
4
|
import { WorkspaceService } from './gen';
|
|
5
5
|
import { isCloudHosted } from './utils';
|
|
@@ -49,6 +49,19 @@ if (browser) {
|
|
|
49
49
|
userStore.set(undefined);
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
|
+
setInterval(async () => {
|
|
53
|
+
try {
|
|
54
|
+
const workspace = get(workspaceStore);
|
|
55
|
+
const user = get(userStore);
|
|
56
|
+
if (workspace && user && !user.is_super_admin && !user.is_admin) {
|
|
57
|
+
userStore.set(await getUserExt(workspace));
|
|
58
|
+
console.log('refreshed user');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.error('Could not refresh user', e);
|
|
63
|
+
}
|
|
64
|
+
}, 30000);
|
|
52
65
|
}
|
|
53
66
|
export function switchWorkspace(workspace) {
|
|
54
67
|
localStorage.removeItem('flow');
|
package/user.d.ts
CHANGED
package/user.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { get } from
|
|
2
|
-
import { UserService } from
|
|
3
|
-
import { superadmin } from
|
|
4
|
-
import { goto } from
|
|
1
|
+
import { get } from 'svelte/store';
|
|
2
|
+
import { UserService } from './gen';
|
|
3
|
+
import { superadmin } from './stores.js';
|
|
4
|
+
import { goto } from '$app/navigation';
|
|
5
5
|
export async function refreshSuperadmin() {
|
|
6
6
|
if (get(superadmin) == undefined) {
|
|
7
7
|
try {
|
|
@@ -15,7 +15,7 @@ export async function refreshSuperadmin() {
|
|
|
15
15
|
}
|
|
16
16
|
catch {
|
|
17
17
|
superadmin.set(false);
|
|
18
|
-
goto(
|
|
18
|
+
goto('/user/logout');
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -32,6 +32,6 @@ function mapUserToUserExt(user) {
|
|
|
32
32
|
return {
|
|
33
33
|
...user,
|
|
34
34
|
groups: user.groups,
|
|
35
|
-
pgroups: user.groups.map((x) => `g/${x}`)
|
|
35
|
+
pgroups: user.groups.map((x) => `g/${x}`)
|
|
36
36
|
};
|
|
37
37
|
}
|
package/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type Flow, Script, type User } from './gen';
|
|
2
2
|
import type { Schema, SupportedLanguage } from './common';
|
|
3
3
|
import { type UserExt } from './stores';
|
|
4
4
|
export declare function validateUsername(username: string): string;
|
|
@@ -105,7 +105,7 @@ export declare function flowToHubUrl(flow: Flow): URL;
|
|
|
105
105
|
export declare function appToHubUrl(staticApp: any): URL;
|
|
106
106
|
export declare function scriptToHubUrl(content: string, summary: string, description: string, kind: Script.kind, language: Script.language, schema: Schema | undefined, lock: string | undefined): URL;
|
|
107
107
|
export declare function classNames(...classes: Array<string | undefined>): string;
|
|
108
|
-
export declare function scriptLangToEditorLang(lang: Script.language):
|
|
108
|
+
export declare function scriptLangToEditorLang(lang: Script.language): Script.language.GO | "typescript" | "python" | "shell";
|
|
109
109
|
export declare function copyToClipboard(value?: string, sendToast?: boolean): Promise<boolean>;
|
|
110
110
|
export declare function pluralize(quantity: number, word: string, customPlural?: string): string;
|
|
111
111
|
export declare function capitalize(word: string): string;
|
package/utils.js
CHANGED
|
@@ -5,6 +5,7 @@ import { toast } from '@zerodevx/svelte-toast';
|
|
|
5
5
|
import { hubScripts, workspaceStore } from './stores';
|
|
6
6
|
import { page } from '$app/stores';
|
|
7
7
|
import { get } from 'svelte/store';
|
|
8
|
+
import Toast from './components/Toast.svelte';
|
|
8
9
|
export function validateUsername(username) {
|
|
9
10
|
if (username != '' && !/^\w+$/.test(username)) {
|
|
10
11
|
return 'username can only contain letters and numbers';
|
|
@@ -74,16 +75,22 @@ export function getToday() {
|
|
|
74
75
|
return today;
|
|
75
76
|
}
|
|
76
77
|
export function sendUserToast(message, error = false) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
78
|
+
toast.push({
|
|
79
|
+
component: {
|
|
80
|
+
src: Toast,
|
|
81
|
+
props: {
|
|
82
|
+
message,
|
|
83
|
+
error
|
|
84
|
+
},
|
|
85
|
+
sendIdTo: 'toastId'
|
|
86
|
+
},
|
|
87
|
+
dismissable: false,
|
|
88
|
+
initial: 0,
|
|
89
|
+
theme: {
|
|
90
|
+
'--toastPadding': '0',
|
|
91
|
+
'--toastMsgPadding': '0'
|
|
92
|
+
}
|
|
93
|
+
});
|
|
87
94
|
}
|
|
88
95
|
export function truncateHash(hash) {
|
|
89
96
|
if (hash.length >= 6) {
|
|
@@ -154,7 +161,10 @@ export async function isOwner(path, user, workspace) {
|
|
|
154
161
|
return false;
|
|
155
162
|
}
|
|
156
163
|
else {
|
|
157
|
-
return await UserService.isOwnerOfPath({
|
|
164
|
+
return await UserService.isOwnerOfPath({
|
|
165
|
+
path: path,
|
|
166
|
+
workspace: workspace
|
|
167
|
+
});
|
|
158
168
|
}
|
|
159
169
|
}
|
|
160
170
|
export function isObviousOwner(path, user) {
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<script>import { faChevronDown } from '@fortawesome/free-solid-svg-icons';
|
|
2
|
-
import { setContext } from 'svelte';
|
|
3
|
-
import Icon from 'svelte-awesome';
|
|
4
|
-
import { Button, ButtonType, Popup } from '..';
|
|
5
|
-
export let size = 'md';
|
|
6
|
-
export let color = 'blue';
|
|
7
|
-
export let variant = 'contained';
|
|
8
|
-
export let mainClasses = '';
|
|
9
|
-
export let toggleClasses = '';
|
|
10
|
-
export let listClasses = '';
|
|
11
|
-
export let disabled = false;
|
|
12
|
-
export let href = undefined;
|
|
13
|
-
export let target = '_self';
|
|
14
|
-
export let startIcon = undefined;
|
|
15
|
-
export let endIcon = undefined;
|
|
16
|
-
export let spacingSize = size;
|
|
17
|
-
export let loading = false;
|
|
18
|
-
let ref;
|
|
19
|
-
setContext(ButtonType.ItemContextKey, { size, color });
|
|
20
|
-
$: separator = color === 'red' || color === 'blue' ? 'border-gray-200' : 'border-gray-400';
|
|
21
|
-
$: commonProps = {
|
|
22
|
-
size,
|
|
23
|
-
color,
|
|
24
|
-
variant,
|
|
25
|
-
disabled,
|
|
26
|
-
spacingSize
|
|
27
|
-
};
|
|
28
|
-
</script>
|
|
29
|
-
|
|
30
|
-
<div class="flex justy-start items-center">
|
|
31
|
-
{#if $$slots.main}
|
|
32
|
-
<Button
|
|
33
|
-
{loading}
|
|
34
|
-
{...commonProps}
|
|
35
|
-
{href}
|
|
36
|
-
{target}
|
|
37
|
-
{startIcon}
|
|
38
|
-
{endIcon}
|
|
39
|
-
btnClasses="!rounded-r-none !border-r-0 {mainClasses}"
|
|
40
|
-
on:click
|
|
41
|
-
>
|
|
42
|
-
<slot name="main" />
|
|
43
|
-
</Button>
|
|
44
|
-
{/if}
|
|
45
|
-
<span class={$$slots.main && variant === 'contained' ? 'border-l ' + separator : ''}>
|
|
46
|
-
<Button
|
|
47
|
-
bind:element={ref}
|
|
48
|
-
{...commonProps}
|
|
49
|
-
btnClasses="{$$slots.main ? '!rounded-l-none' : ''} {toggleClasses}"
|
|
50
|
-
on:click={() => {}}
|
|
51
|
-
>
|
|
52
|
-
<slot name="toggle">
|
|
53
|
-
<!-- Invisible, but needed to match the height of the 'main' button -->
|
|
54
|
-
<span class="!opacity-0 !w-0">A</span>
|
|
55
|
-
<Icon data={faChevronDown} scale={ButtonType.IconScale[size]} />
|
|
56
|
-
</slot>
|
|
57
|
-
</Button>
|
|
58
|
-
</span>
|
|
59
|
-
</div>
|
|
60
|
-
{#if ref}
|
|
61
|
-
<Popup
|
|
62
|
-
{ref}
|
|
63
|
-
let:open
|
|
64
|
-
let:close
|
|
65
|
-
options={{
|
|
66
|
-
placement: $$slots.main ? 'bottom-end' : 'bottom',
|
|
67
|
-
strategy: 'absolute',
|
|
68
|
-
modifiers: [{ name: 'offset', options: { offset: [0, 0] } }]
|
|
69
|
-
}}
|
|
70
|
-
>
|
|
71
|
-
<ul class="bg-white rounded-t border pt-1 pb-2 max-h-40 overflow-auto {listClasses}">
|
|
72
|
-
<slot {open} {close} />
|
|
73
|
-
</ul>
|
|
74
|
-
</Popup>
|
|
75
|
-
{/if}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import Icon from 'svelte-awesome';
|
|
3
|
-
import { ButtonType } from '..';
|
|
4
|
-
declare const __propDef: {
|
|
5
|
-
props: {
|
|
6
|
-
size?: ButtonType.Size | undefined;
|
|
7
|
-
color?: "none" | "blue" | "gray" | "red" | "green" | "dark" | "light" | undefined;
|
|
8
|
-
variant?: ButtonType.Variant | undefined;
|
|
9
|
-
mainClasses?: string | undefined;
|
|
10
|
-
toggleClasses?: string | undefined;
|
|
11
|
-
listClasses?: string | undefined;
|
|
12
|
-
disabled?: boolean | undefined;
|
|
13
|
-
href?: string | undefined;
|
|
14
|
-
target?: ButtonType.Target | undefined;
|
|
15
|
-
startIcon?: ButtonType.Icon | undefined;
|
|
16
|
-
endIcon?: ButtonType.Icon | undefined;
|
|
17
|
-
spacingSize?: ButtonType.Size | undefined;
|
|
18
|
-
loading?: boolean | undefined;
|
|
19
|
-
};
|
|
20
|
-
events: {
|
|
21
|
-
click: CustomEvent<any>;
|
|
22
|
-
} & {
|
|
23
|
-
[evt: string]: CustomEvent<any>;
|
|
24
|
-
};
|
|
25
|
-
slots: {
|
|
26
|
-
main: {};
|
|
27
|
-
toggle: {};
|
|
28
|
-
default: {
|
|
29
|
-
open: () => void;
|
|
30
|
-
close: () => void;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
export type ButtonPopupProps = typeof __propDef.props;
|
|
35
|
-
export type ButtonPopupEvents = typeof __propDef.events;
|
|
36
|
-
export type ButtonPopupSlots = typeof __propDef.slots;
|
|
37
|
-
export default class ButtonPopup extends SvelteComponentTyped<ButtonPopupProps, ButtonPopupEvents, ButtonPopupSlots> {
|
|
38
|
-
}
|
|
39
|
-
export {};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<script>import { getContext } from 'svelte';
|
|
2
|
-
import { Button, ButtonType } from '..';
|
|
3
|
-
import { classNames } from '../../../utils';
|
|
4
|
-
export let btnClasses = '';
|
|
5
|
-
export let disabled = false;
|
|
6
|
-
export let href = undefined;
|
|
7
|
-
export let target = '_self';
|
|
8
|
-
export let iconOnly = false;
|
|
9
|
-
export let startIcon = undefined;
|
|
10
|
-
export let endIcon = undefined;
|
|
11
|
-
export let wrapperClasses = '';
|
|
12
|
-
const props = getContext(ButtonType.ItemContextKey);
|
|
13
|
-
const iconWidthClass = {
|
|
14
|
-
xs: '!w-[12px]',
|
|
15
|
-
sm: '!w-[14px]',
|
|
16
|
-
md: '!w-[16px]',
|
|
17
|
-
lg: '!w-[18px]',
|
|
18
|
-
xl: '!w-[20px]'
|
|
19
|
-
};
|
|
20
|
-
const getWidthClass = () => (props?.size ? iconWidthClass[props.size] : undefined);
|
|
21
|
-
$: buttonProps = {
|
|
22
|
-
...props,
|
|
23
|
-
variant: 'border',
|
|
24
|
-
btnClasses: classNames(btnClasses, '!justify-start !border-0 !rounded-none !w-full'),
|
|
25
|
-
disabled,
|
|
26
|
-
href,
|
|
27
|
-
target,
|
|
28
|
-
iconOnly,
|
|
29
|
-
startIcon: startIcon
|
|
30
|
-
? {
|
|
31
|
-
icon: startIcon.icon,
|
|
32
|
-
classes: classNames(startIcon?.classes, getWidthClass())
|
|
33
|
-
}
|
|
34
|
-
: undefined,
|
|
35
|
-
endIcon: endIcon
|
|
36
|
-
? {
|
|
37
|
-
icon: endIcon.icon,
|
|
38
|
-
classes: classNames(endIcon?.classes, getWidthClass())
|
|
39
|
-
}
|
|
40
|
-
: undefined
|
|
41
|
-
};
|
|
42
|
-
</script>
|
|
43
|
-
|
|
44
|
-
<li class="mt-1 {wrapperClasses}">
|
|
45
|
-
<Button {...buttonProps} on:click>
|
|
46
|
-
<slot />
|
|
47
|
-
</Button>
|
|
48
|
-
</li>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import { ButtonType } from '..';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
btnClasses?: string | undefined;
|
|
6
|
-
disabled?: boolean | undefined;
|
|
7
|
-
href?: string | undefined;
|
|
8
|
-
target?: ButtonType.Target | undefined;
|
|
9
|
-
iconOnly?: boolean | undefined;
|
|
10
|
-
startIcon?: ButtonType.Icon | undefined;
|
|
11
|
-
endIcon?: ButtonType.Icon | undefined;
|
|
12
|
-
wrapperClasses?: string | undefined;
|
|
13
|
-
};
|
|
14
|
-
events: {
|
|
15
|
-
click: CustomEvent<any>;
|
|
16
|
-
} & {
|
|
17
|
-
[evt: string]: CustomEvent<any>;
|
|
18
|
-
};
|
|
19
|
-
slots: {
|
|
20
|
-
default: {};
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
export type ButtonPopupItemProps = typeof __propDef.props;
|
|
24
|
-
export type ButtonPopupItemEvents = typeof __propDef.events;
|
|
25
|
-
export type ButtonPopupItemSlots = typeof __propDef.slots;
|
|
26
|
-
export default class ButtonPopupItem extends SvelteComponentTyped<ButtonPopupItemProps, ButtonPopupItemEvents, ButtonPopupItemSlots> {
|
|
27
|
-
}
|
|
28
|
-
export {};
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
<script>import { findStore } from '../../store/controllers/storeApi';
|
|
2
|
-
import { writable, derived, get, readable } from 'svelte/store';
|
|
3
|
-
import { getEdgeById } from '../../edges/controllers/util';
|
|
4
|
-
export let edgeId;
|
|
5
|
-
export let canvasId;
|
|
6
|
-
let label;
|
|
7
|
-
let width;
|
|
8
|
-
let height;
|
|
9
|
-
let customClass;
|
|
10
|
-
let backgroundColor;
|
|
11
|
-
let type;
|
|
12
|
-
const store = findStore(canvasId);
|
|
13
|
-
const canvasWidth = get(store.widthStore);
|
|
14
|
-
const canvasHeight = get(store.widthStore);
|
|
15
|
-
const edge = getEdgeById(store, edgeId);
|
|
16
|
-
const { edgesStore, nodeSelected } = store;
|
|
17
|
-
function closeModal() {
|
|
18
|
-
const store = findStore(canvasId);
|
|
19
|
-
store.edgeEditModal.set(null);
|
|
20
|
-
}
|
|
21
|
-
function handleDelete() {
|
|
22
|
-
const store = findStore(canvasId);
|
|
23
|
-
const edge = getEdgeById(store, edgeId);
|
|
24
|
-
edge.delete();
|
|
25
|
-
closeModal();
|
|
26
|
-
}
|
|
27
|
-
function handleSubmit(e) {
|
|
28
|
-
e.preventDefault();
|
|
29
|
-
const store = findStore(canvasId);
|
|
30
|
-
const edge = getEdgeById(store, edgeId);
|
|
31
|
-
if (label)
|
|
32
|
-
edge.label = label;
|
|
33
|
-
if (backgroundColor)
|
|
34
|
-
edge.edgeColor = backgroundColor;
|
|
35
|
-
if (type)
|
|
36
|
-
edge.type = type;
|
|
37
|
-
// width = '';
|
|
38
|
-
// height = '';
|
|
39
|
-
// customClass = '';
|
|
40
|
-
// label = '';
|
|
41
|
-
store.edgesStore.set($edgesStore);
|
|
42
|
-
closeModal();
|
|
43
|
-
}
|
|
44
|
-
</script>
|
|
45
|
-
|
|
46
|
-
<div
|
|
47
|
-
class="EditEdge"
|
|
48
|
-
style="left:{canvasWidth / 3}px; top:{canvasHeight / 3}px"
|
|
49
|
-
on:mouseover={(e) => ($nodeSelected = true)}
|
|
50
|
-
on:focus
|
|
51
|
-
on:wheel|preventDefault
|
|
52
|
-
>
|
|
53
|
-
<form on:submit={handleSubmit}>
|
|
54
|
-
<label for="label-input">Edge label</label>
|
|
55
|
-
<input
|
|
56
|
-
type="text"
|
|
57
|
-
id="label-input-{edgeId}"
|
|
58
|
-
placeholder={edge.label}
|
|
59
|
-
bind:value={label}
|
|
60
|
-
/>
|
|
61
|
-
|
|
62
|
-
<label for="bg-color-input">Edge color</label>
|
|
63
|
-
<input
|
|
64
|
-
type="color"
|
|
65
|
-
id="bg-color-input-{edgeId}"
|
|
66
|
-
class="bgci"
|
|
67
|
-
bind:value={backgroundColor}
|
|
68
|
-
/>
|
|
69
|
-
<input
|
|
70
|
-
type="text"
|
|
71
|
-
placeholder={edge.edgeColor}
|
|
72
|
-
bind:value={backgroundColor}
|
|
73
|
-
/>
|
|
74
|
-
|
|
75
|
-
<label for="type-input">Edge type</label>
|
|
76
|
-
<input
|
|
77
|
-
type="text"
|
|
78
|
-
id="type-input-{edgeId}"
|
|
79
|
-
placeholder={edge.type}
|
|
80
|
-
bind:value={type}
|
|
81
|
-
/>
|
|
82
|
-
</form>
|
|
83
|
-
<div class="btn-container">
|
|
84
|
-
<button on:click={handleSubmit}>Submit</button>
|
|
85
|
-
<button on:click={handleDelete}>Delete</button>
|
|
86
|
-
<button on:click={closeModal}>Cancel</button>
|
|
87
|
-
</div>
|
|
88
|
-
</div>
|
|
89
|
-
|
|
90
|
-
<style>
|
|
91
|
-
.EditEdge {
|
|
92
|
-
position: absolute;
|
|
93
|
-
padding: 0 1rem 1rem 1rem;
|
|
94
|
-
display: flex;
|
|
95
|
-
flex-direction: column;
|
|
96
|
-
align-items: center;
|
|
97
|
-
border: 1px solid #333333;
|
|
98
|
-
border-radius: 0.25rem;
|
|
99
|
-
background-color: #ffffff;
|
|
100
|
-
z-index: 10;
|
|
101
|
-
-webkit-user-select: text;
|
|
102
|
-
-moz-user-select: text;
|
|
103
|
-
user-select: text;
|
|
104
|
-
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.4);
|
|
105
|
-
color: #333333;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
label {
|
|
109
|
-
font-size: 0.8rem;
|
|
110
|
-
font-weight: bold;
|
|
111
|
-
margin-bottom: 0.15rem;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.btn-container {
|
|
115
|
-
display: flex;
|
|
116
|
-
justify-content: space-between;
|
|
117
|
-
margin-top: 0.5rem;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
button {
|
|
121
|
-
border-radius: 0.25rem;
|
|
122
|
-
background-color: white;
|
|
123
|
-
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.4);
|
|
124
|
-
margin: 0.2rem;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
input {
|
|
128
|
-
height: 1.6rem;
|
|
129
|
-
border-color: #e45b56;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
.bgci {
|
|
133
|
-
height: 2rem;
|
|
134
|
-
width: 5rem;
|
|
135
|
-
padding: 0;
|
|
136
|
-
border: none;
|
|
137
|
-
background-color: none;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
button:hover {
|
|
141
|
-
cursor: pointer;
|
|
142
|
-
background-color: #e45b56;
|
|
143
|
-
color: white;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
form {
|
|
147
|
-
display: flex;
|
|
148
|
-
flex-direction: column;
|
|
149
|
-
align-items: center;
|
|
150
|
-
justify-content: center;
|
|
151
|
-
}</style>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
edgeId: string;
|
|
5
|
-
canvasId: string;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
focus: FocusEvent;
|
|
9
|
-
wheel: WheelEvent;
|
|
10
|
-
} & {
|
|
11
|
-
[evt: string]: CustomEvent<any>;
|
|
12
|
-
};
|
|
13
|
-
slots: {};
|
|
14
|
-
};
|
|
15
|
-
export type EditEdgeProps = typeof __propDef.props;
|
|
16
|
-
export type EditEdgeEvents = typeof __propDef.events;
|
|
17
|
-
export type EditEdgeSlots = typeof __propDef.slots;
|
|
18
|
-
export default class EditEdge extends SvelteComponentTyped<EditEdgeProps, EditEdgeEvents, EditEdgeSlots> {
|
|
19
|
-
}
|
|
20
|
-
export {};
|