windmill-components 1.383.9 → 1.389.1
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 +25 -1
- package/package/components/ArgInput.svelte +2 -1
- package/package/components/ChangeInstanceUsername.svelte +9 -108
- package/package/components/ChangeInstanceUsernameInner.svelte +112 -0
- package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +21 -0
- package/package/components/DiffDrawer.svelte +27 -20
- package/package/components/DiffEditor.svelte +5 -1
- package/package/components/DisplayResult.svelte +39 -9
- package/package/components/DropdownV2.svelte +4 -26
- package/package/components/DropdownV2.svelte.d.ts +9 -1
- package/package/components/DropdownV2Inner.svelte +42 -0
- package/package/components/DropdownV2Inner.svelte.d.ts +40 -0
- package/package/components/Editor.svelte +24 -4
- package/package/components/Editor.svelte.d.ts +5 -4
- package/package/components/EditorBar.svelte +9 -11
- package/package/components/EditorSettings.svelte +44 -0
- package/package/components/EditorSettings.svelte.d.ts +17 -0
- package/package/components/EditorTheme.svelte +1 -1
- package/package/components/ErrorOrRecoveryHandler.svelte +27 -20
- package/package/components/FlowBuilder.svelte +17 -3
- package/package/components/FlowBuilder.svelte.d.ts +3 -0
- package/package/components/FlowGraphViewerStep.svelte +1 -1
- package/package/components/FlowStatusViewer.svelte +3 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +5 -2
- package/package/components/FlowViewerInner.svelte +3 -7
- package/package/components/FormatOnSave.svelte +12 -29
- package/package/components/GraphqlSchemaViewer.svelte +1 -1
- package/package/components/GraphqlSchemaViewer.svelte.d.ts +1 -1
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InstanceNameEditor.svelte +64 -0
- package/package/components/InstanceNameEditor.svelte.d.ts +23 -0
- package/package/components/LightweightArgInput.svelte +6 -11
- package/package/components/LogViewer.svelte +37 -29
- package/package/components/LogViewer.svelte.d.ts +2 -0
- package/package/components/ObjectResourceInput.svelte +1 -1
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/Path.svelte +3 -3
- package/package/components/QueueMetricsDrawer.svelte +6 -218
- package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -3
- package/package/components/QueueMetricsDrawerInner.svelte +211 -0
- package/package/components/QueueMetricsDrawerInner.svelte.d.ts +15 -0
- package/package/components/ResourceEditorDrawer.svelte +14 -11
- package/package/components/ResourceEditorDrawer.svelte.d.ts +1 -1
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/S3FilePicker.svelte +20 -8
- package/package/components/ScheduleEditorInner.svelte +497 -469
- package/package/components/ScriptBuilder.svelte +12 -1
- package/package/components/ScriptBuilder.svelte.d.ts +3 -0
- package/package/components/ScriptEditor.svelte +1 -0
- package/package/components/ScriptEditor.svelte.d.ts +2 -1
- package/package/components/ServiceLogsInner.svelte +511 -0
- package/package/components/ServiceLogsInner.svelte.d.ts +20 -0
- package/package/components/SimpleEditor.svelte +27 -2
- package/package/components/SimpleEditor.svelte.d.ts +5 -3
- package/package/components/Summary.svelte +33 -31
- package/package/components/Summary.svelte.d.ts +1 -0
- package/package/components/SuperadminSettings.svelte +28 -10
- package/package/components/TemplateEditor.svelte +1 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/VimMode.svelte +16 -0
- package/package/components/VimMode.svelte.d.ts +14 -0
- package/package/components/WorkerTagPicker.svelte +4 -1
- package/package/components/WorkspaceGroup.svelte +139 -68
- package/package/components/WorkspaceGroup.svelte.d.ts +3 -0
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +19 -2
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +2 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +45 -3
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTableEe.svelte +2 -0
- package/package/components/apps/components/display/table/AppAggridTableEe.svelte.d.ts +2 -1
- package/package/components/apps/editor/AppEditor.svelte +239 -92
- package/package/components/apps/editor/AppEditorBottomPanel.svelte +22 -0
- package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +24 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +44 -2
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +9 -0
- package/package/components/apps/editor/AppExportButton.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +4 -0
- package/package/components/apps/editor/DeploymentHistory.svelte +7 -3
- package/package/components/apps/editor/GridEditor.svelte +4 -13
- package/package/components/apps/editor/RunnableJobPanel.svelte +25 -58
- package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +10 -1
- package/package/components/apps/editor/RunnalbeJobPanelInner.svelte +56 -0
- package/package/components/apps/editor/RunnalbeJobPanelInner.svelte.d.ts +18 -0
- package/package/components/apps/editor/SubGridEditor.svelte +3 -1
- package/package/components/apps/editor/component/Component.svelte +26 -4
- package/package/components/apps/editor/component/Component.svelte.d.ts +1 -0
- package/package/components/apps/editor/component/components.d.ts +5 -0
- package/package/components/apps/editor/componentsPanel/CssProperty.svelte +2 -0
- package/package/components/apps/editor/componentsPanel/tailwindUtils.js +267 -1
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +9 -1
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +2 -0
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +3 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +7 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte.d.ts +5 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +14 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +25 -5
- package/package/components/apps/editor/settingsPanel/HideButton.svelte +47 -0
- package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +22 -0
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +43 -4
- package/package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
- package/package/components/apps/svelte-grid/Grid.svelte +6 -2
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/MoveResize.svelte +11 -3
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
- package/package/components/apps/svelte-grid/utils/item.js +11 -4
- package/package/components/common/button/Button.svelte.d.ts +2 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte +6 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +2 -0
- package/package/components/common/drawer/ConditionalPortal.svelte +2 -1
- package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/popup/Popup.svelte +2 -1
- package/package/components/common/popup/Popup.svelte.d.ts +1 -0
- package/package/components/common/table/AppRow.svelte +11 -8
- package/package/components/common/table/AppRow.svelte.d.ts +1 -2
- package/package/components/common/table/FlowRow.svelte +3 -3
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -2
- package/package/components/common/table/RawAppRow.svelte +3 -3
- package/package/components/common/table/RawAppRow.svelte.d.ts +1 -2
- package/package/components/common/table/ScriptRow.svelte +3 -3
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -2
- package/package/components/copilot/CodeCompletionStatus.svelte +21 -46
- package/package/components/copilot/StepGen.svelte +2 -1
- package/package/components/custom_ui.d.ts +4 -1
- package/package/components/flows/CreateActionsApp.svelte +11 -8
- package/package/components/flows/CreateActionsFlow.svelte +11 -8
- package/package/components/flows/FlowEditor.svelte +1 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +0 -1
- package/package/components/flows/FlowHistory.svelte +6 -3
- package/package/components/flows/content/FlowModuleScript.svelte +15 -11
- package/package/components/flows/content/FlowSettings.svelte +1 -4
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -0
- package/package/components/flows/header/FlowYamlEditor.svelte +55 -0
- package/package/components/flows/header/FlowYamlEditor.svelte.d.ts +17 -0
- package/package/components/flows/map/InsertTriggerButton.svelte +1 -1
- package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +1 -0
- package/package/components/flows/map/VirtualItem.svelte +1 -1
- package/package/components/flows/pickers/PickHubScript.svelte +1 -0
- package/package/components/flows/types.d.ts +7 -6
- package/package/components/flows/utils.d.ts +9 -0
- package/package/components/flows/utils.js +21 -0
- package/package/components/graph/graphBuilder.js +1 -0
- package/package/components/graph/model.d.ts +1 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +16 -0
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte +5 -1
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +1 -0
- package/package/components/home/Item.svelte +0 -17
- package/package/components/home/deploy_ui.d.ts +2 -0
- package/package/components/home/deploy_ui.js +21 -0
- package/package/components/icons/RustIcon.svelte +70 -0
- package/package/components/icons/RustIcon.svelte.d.ts +25 -0
- package/package/components/icons/rust-logo.svg +1 -0
- package/package/components/instanceSettings.js +2 -2
- package/package/components/monaco_keybindings.d.ts +3 -0
- package/package/components/monaco_keybindings.js +9 -0
- package/package/components/preview/FlowPreviewStatus.svelte +6 -2
- package/package/components/runs/JobLoader.svelte +12 -3
- package/package/components/runs/JobLoader.svelte.d.ts +1 -1
- package/package/components/runs/ManuelDatePicker.svelte +31 -44
- package/package/components/runs/ManuelDatePicker.svelte.d.ts +6 -2
- package/package/components/runs/RunsFilter.svelte +4 -1
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -0
- package/package/components/search/GlobalSearchModal.svelte +36 -25
- package/package/components/wizards/TableActionsWizard.svelte +84 -0
- package/package/components/wizards/TableActionsWizard.svelte.d.ts +22 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +8 -8
- package/package/gen/schemas.gen.js +8 -8
- package/package/gen/services.gen.d.ts +4 -0
- package/package/gen/services.gen.js +16 -0
- package/package/gen/types.gen.d.ts +20 -8
- package/package/infer.d.ts +1 -1
- package/package/infer.js +48 -7
- package/package/script_helpers.d.ts +1 -0
- package/package/script_helpers.js +39 -1
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +11 -3
- package/package/stores.d.ts +5 -1
- package/package/stores.js +7 -2
- package/package.json +13 -7
|
@@ -4,9 +4,8 @@ import BarsStaggered from '../icons/BarsStaggered.svelte';
|
|
|
4
4
|
import { Button } from '../common';
|
|
5
5
|
import Drawer from '../common/drawer/Drawer.svelte';
|
|
6
6
|
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
7
|
-
import SimpleEditor from '../SimpleEditor.svelte';
|
|
8
7
|
import { importFlowStore } from './flowStore';
|
|
9
|
-
import { Plus } from 'lucide-svelte';
|
|
8
|
+
import { Loader2, Plus } from 'lucide-svelte';
|
|
10
9
|
import YAML from 'yaml';
|
|
11
10
|
let drawer = undefined;
|
|
12
11
|
let pendingRaw;
|
|
@@ -54,12 +53,16 @@ async function importRaw() {
|
|
|
54
53
|
title={'Import flow from ' + (importType === 'yaml' ? 'YAML' : 'JSON')}
|
|
55
54
|
on:close={() => drawer?.toggleDrawer?.()}
|
|
56
55
|
>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
{#await import('../SimpleEditor.svelte')}
|
|
57
|
+
<Loader2 class="animate-spin" />
|
|
58
|
+
{:then Module}
|
|
59
|
+
<Module.default
|
|
60
|
+
bind:code={pendingRaw}
|
|
61
|
+
lang={importType}
|
|
62
|
+
class="h-full"
|
|
63
|
+
fixedOverflowWidgets={false}
|
|
64
|
+
/>
|
|
65
|
+
{/await}
|
|
63
66
|
<svelte:fragment slot="actions">
|
|
64
67
|
<Button size="sm" on:click={importRaw}>Import</Button>
|
|
65
68
|
</svelte:fragment>
|
|
@@ -12,7 +12,6 @@ export let disableTutorials = false;
|
|
|
12
12
|
export let disableAi = false;
|
|
13
13
|
export let disableSettings = false;
|
|
14
14
|
export let smallErrorHandler = false;
|
|
15
|
-
export let enableAi = true;
|
|
16
15
|
let size = 40;
|
|
17
16
|
const { currentStepStore: copilotCurrentStepStore } = getContext('FlowCopilotContext');
|
|
18
17
|
</script>
|
|
@@ -53,7 +52,7 @@ const { currentStepStore: copilotCurrentStepStore } = getContext('FlowCopilotCon
|
|
|
53
52
|
</div>
|
|
54
53
|
</div>
|
|
55
54
|
{:else}
|
|
56
|
-
<FlowEditorPanel {
|
|
55
|
+
<FlowEditorPanel enableAi={!disableAi} />
|
|
57
56
|
{/if}
|
|
58
57
|
</Pane>
|
|
59
58
|
</Splitpanes>
|
|
@@ -4,11 +4,10 @@ import { classNames, displayDate, emptyString, sendUserToast } from '../../utils
|
|
|
4
4
|
import { FlowService } from '../../gen';
|
|
5
5
|
import { workspaceStore } from '../../stores';
|
|
6
6
|
import { Skeleton } from '../common';
|
|
7
|
-
import FlowViewer from '../FlowViewer.svelte';
|
|
8
7
|
import Drawer from '../common/drawer/Drawer.svelte';
|
|
9
8
|
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
10
9
|
import Button from '../common/button/Button.svelte';
|
|
11
|
-
import { ArrowRight, Pencil, X } from 'lucide-svelte';
|
|
10
|
+
import { ArrowRight, Loader2, Pencil, X } from 'lucide-svelte';
|
|
12
11
|
import { createEventDispatcher } from 'svelte';
|
|
13
12
|
export let path;
|
|
14
13
|
let drawer;
|
|
@@ -194,7 +193,11 @@ $: selectedVersion !== undefined && loadFlow(selectedVersion.id);
|
|
|
194
193
|
>Redeploy with that version
|
|
195
194
|
</Button>
|
|
196
195
|
</div>
|
|
197
|
-
|
|
196
|
+
{#await import('../FlowViewer.svelte')}
|
|
197
|
+
<Loader2 class="animate-spin" />
|
|
198
|
+
{:then Module}
|
|
199
|
+
<Module.default flow={selected} />
|
|
200
|
+
{/await}
|
|
198
201
|
</div>
|
|
199
202
|
{:else}
|
|
200
203
|
<Skeleton layout={[[40]]} />
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<script>import
|
|
2
|
-
import HighlightCode from '../../HighlightCode.svelte';
|
|
1
|
+
<script>import HighlightCode from '../../HighlightCode.svelte';
|
|
3
2
|
import TimeAgo from '../../TimeAgo.svelte';
|
|
4
3
|
import { ScriptService } from '../../../gen';
|
|
5
4
|
import { getScriptByPath, scriptLangToEditorLang } from '../../../scripts';
|
|
6
5
|
import { workspaceStore } from '../../../stores';
|
|
6
|
+
import { Loader2 } from 'lucide-svelte';
|
|
7
7
|
export let path;
|
|
8
8
|
export let hash = undefined;
|
|
9
9
|
export let previousHash = undefined;
|
|
@@ -60,15 +60,19 @@ export let showDiff = false;
|
|
|
60
60
|
{:else if showAllCode}
|
|
61
61
|
{#if showDiff}
|
|
62
62
|
{#key previousCode + code}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
{#await import('../../DiffEditor.svelte')}
|
|
64
|
+
<Loader2 class="animate-spin" />
|
|
65
|
+
{:then Module}
|
|
66
|
+
<Module.default
|
|
67
|
+
open={true}
|
|
68
|
+
class="h-screen"
|
|
69
|
+
readOnly
|
|
70
|
+
automaticLayout
|
|
71
|
+
defaultLang={scriptLangToEditorLang(language)}
|
|
72
|
+
defaultOriginal={previousCode}
|
|
73
|
+
defaultModified={code}
|
|
74
|
+
/>
|
|
75
|
+
{/await}
|
|
72
76
|
{/key}
|
|
73
77
|
{:else}
|
|
74
78
|
<HighlightCode {language} {code} />
|
|
@@ -10,7 +10,7 @@ import Toggle from '../../Toggle.svelte';
|
|
|
10
10
|
import { Alert, Button, SecondsInput } from '../../common';
|
|
11
11
|
import { getContext } from 'svelte';
|
|
12
12
|
import Slider from '../../Slider.svelte';
|
|
13
|
-
import { enterpriseLicense,
|
|
13
|
+
import { enterpriseLicense, workspaceStore } from '../../../stores';
|
|
14
14
|
import { isCloudHosted } from '../../../cloud';
|
|
15
15
|
import { copyToClipboard } from '../../../utils';
|
|
16
16
|
import Tooltip from '../../Tooltip.svelte';
|
|
@@ -27,9 +27,6 @@ const { selectedId, flowStore, initialPath, previewArgs, pathStore, schedule, cu
|
|
|
27
27
|
let hostname = BROWSER ? window.location.protocol + '//' + window.location.host : 'SSR';
|
|
28
28
|
$: url = `${hostname}/api/w/${$workspaceStore}/jobs/run/f/${$pathStore}`;
|
|
29
29
|
$: syncedUrl = `${hostname}/api/w/${$workspaceStore}/jobs/run_wait_result/f/${$pathStore}`;
|
|
30
|
-
$: if ($selectedId == 'settings-worker-group') {
|
|
31
|
-
$workerTags = undefined;
|
|
32
|
-
}
|
|
33
30
|
function asSchema(x) {
|
|
34
31
|
return x;
|
|
35
32
|
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<script>import Drawer from '../../common/drawer/Drawer.svelte';
|
|
2
|
+
import DrawerContent from '../../common/drawer/DrawerContent.svelte';
|
|
3
|
+
import { getContext } from 'svelte';
|
|
4
|
+
import { filteredContentForExport } from '../utils';
|
|
5
|
+
import YAML from 'yaml';
|
|
6
|
+
import SimpleEditor from '../../SimpleEditor.svelte';
|
|
7
|
+
import { Button } from '../../common';
|
|
8
|
+
import { sendUserToast } from '../../../toast';
|
|
9
|
+
const { flowStore } = getContext('FlowEditorContext');
|
|
10
|
+
export let drawer;
|
|
11
|
+
let code = '';
|
|
12
|
+
function reload() {
|
|
13
|
+
code = YAML.stringify(filteredContentForExport($flowStore));
|
|
14
|
+
}
|
|
15
|
+
function apply() {
|
|
16
|
+
try {
|
|
17
|
+
const parsed = YAML.parse(code);
|
|
18
|
+
if (parsed.summary && typeof parsed.summary === 'string') {
|
|
19
|
+
$flowStore.summary = parsed.summary;
|
|
20
|
+
}
|
|
21
|
+
if (parsed.description && typeof parsed.description === 'string') {
|
|
22
|
+
$flowStore.description = parsed.description;
|
|
23
|
+
}
|
|
24
|
+
if (parsed['ws_error_handler_muted'] !== undefined) {
|
|
25
|
+
$flowStore.ws_error_handler_muted = parsed['ws_error_handler_muted'];
|
|
26
|
+
}
|
|
27
|
+
if (parsed['dedicated_worker'] !== undefined) {
|
|
28
|
+
$flowStore.dedicated_worker = parsed['dedicated_worker'];
|
|
29
|
+
}
|
|
30
|
+
if (parsed['visible_to_runner_only'] !== undefined) {
|
|
31
|
+
$flowStore.visible_to_runner_only = parsed['visible_to_runner_only'];
|
|
32
|
+
}
|
|
33
|
+
$flowStore.value = parsed.value;
|
|
34
|
+
$flowStore.schema = parsed.schema;
|
|
35
|
+
$flowStore.tag = parsed.tag;
|
|
36
|
+
$flowStore = $flowStore;
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
sendUserToast('Error parsing yaml: ' + e), true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<Drawer on:open={reload} bind:this={drawer} size="800px">
|
|
45
|
+
<DrawerContent title="OpenFlow" on:close={() => drawer?.toggleDrawer()}>
|
|
46
|
+
<svelte:fragment slot="actions">
|
|
47
|
+
<Button color="dark" size="sm" on:click={reload}>Reset code</Button>
|
|
48
|
+
<Button color="dark" size="sm" on:click={apply}>Apply changes</Button>
|
|
49
|
+
</svelte:fragment>
|
|
50
|
+
|
|
51
|
+
{#if $flowStore}
|
|
52
|
+
<SimpleEditor autoHeight bind:code lang="yaml" />
|
|
53
|
+
{/if}
|
|
54
|
+
</DrawerContent>
|
|
55
|
+
</Drawer>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import Drawer from '../../common/drawer/Drawer.svelte';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
drawer: Drawer | undefined;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type FlowYamlEditorProps = typeof __propDef.props;
|
|
13
|
+
export type FlowYamlEditorEvents = typeof __propDef.events;
|
|
14
|
+
export type FlowYamlEditorSlots = typeof __propDef.slots;
|
|
15
|
+
export default class FlowYamlEditor extends SvelteComponent<FlowYamlEditorProps, FlowYamlEditorEvents, FlowYamlEditorSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -28,7 +28,7 @@ $: !open && (funcDesc = '');
|
|
|
28
28
|
<Zap size={14} />
|
|
29
29
|
</button>
|
|
30
30
|
{#if !disableAi}
|
|
31
|
-
<StepGen {index} bind:funcDesc bind:open {close} {modules} trigger />
|
|
31
|
+
<StepGen {index} bind:funcDesc bind:open {close} {modules} trigger on:insert />
|
|
32
32
|
{/if}
|
|
33
33
|
{#if funcDesc.length === 0}
|
|
34
34
|
<div class="font-mono divide-y text-xs w-full text-secondary whitespace-nowrap">
|
|
@@ -33,7 +33,7 @@ const { currentStepStore: copilotCurrentStepStore } = getContext('FlowCopilotCon
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
}}
|
|
36
|
-
id={`flow-editor-virtual-${label}`}
|
|
36
|
+
id={`flow-editor-virtual-${encodeURIComponent(label)}`}
|
|
37
37
|
>
|
|
38
38
|
<div
|
|
39
39
|
style={borderColor ? `border-color: ${borderColor};` : ''}
|
|
@@ -62,6 +62,7 @@ async function applyFilter(filter, filterKind, appFilter) {
|
|
|
62
62
|
path: `hub/${x.version_id}/${x.app}/${x.summary.toLowerCase().replaceAll(/\s+/g, '_')}`,
|
|
63
63
|
summary: `${x.summary} (${x.app})`
|
|
64
64
|
}));
|
|
65
|
+
hubNotAvailable = false;
|
|
65
66
|
}
|
|
66
67
|
catch (err) {
|
|
67
68
|
hubNotAvailable = true;
|
|
@@ -12,6 +12,12 @@ export type FlowInput = Record<string, {
|
|
|
12
12
|
type: 'error' | 'warning';
|
|
13
13
|
}>;
|
|
14
14
|
}>;
|
|
15
|
+
export type ExtendedOpenFlow = OpenFlow & {
|
|
16
|
+
tag?: string;
|
|
17
|
+
ws_error_handler_muted?: boolean;
|
|
18
|
+
dedicated_worker?: boolean;
|
|
19
|
+
visible_to_runner_only?: boolean;
|
|
20
|
+
};
|
|
15
21
|
export type FlowEditorContext = {
|
|
16
22
|
selectedId: Writable<string>;
|
|
17
23
|
moving: Writable<{
|
|
@@ -23,12 +29,7 @@ export type FlowEditorContext = {
|
|
|
23
29
|
scriptEditorDrawer: Writable<ScriptEditorDrawer | undefined>;
|
|
24
30
|
history: History<OpenFlow>;
|
|
25
31
|
pathStore: Writable<string>;
|
|
26
|
-
flowStore: Writable<
|
|
27
|
-
tag?: string;
|
|
28
|
-
ws_error_handler_muted?: boolean;
|
|
29
|
-
dedicated_worker?: boolean;
|
|
30
|
-
visible_to_runner_only?: boolean;
|
|
31
|
-
}>;
|
|
32
|
+
flowStore: Writable<ExtendedOpenFlow>;
|
|
32
33
|
flowStateStore: Writable<FlowState>;
|
|
33
34
|
testStepStore: Writable<Record<string, any>>;
|
|
34
35
|
saveDraft: () => void;
|
|
@@ -2,7 +2,16 @@ import { type FlowModule, type InputTransform, type Job, type RestartedFrom, typ
|
|
|
2
2
|
import type { FlowModuleState } from './flowState';
|
|
3
3
|
import type { PickableProperties } from './previousResults';
|
|
4
4
|
import type { Schema } from '../../common';
|
|
5
|
+
import type { ExtendedOpenFlow } from './types';
|
|
5
6
|
export declare function evalValue(k: string, mod: FlowModule, testStepStore: Record<string, any>, pickableProperties: PickableProperties | undefined, showError: boolean): any;
|
|
7
|
+
export declare function filteredContentForExport(flow: ExtendedOpenFlow): {
|
|
8
|
+
summary: string;
|
|
9
|
+
description: string | undefined;
|
|
10
|
+
value: import("../../gen").FlowValue;
|
|
11
|
+
schema: {
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
} | undefined;
|
|
14
|
+
};
|
|
6
15
|
export declare function cleanInputs(flow: OpenFlow | any): OpenFlow & {
|
|
7
16
|
tag?: string;
|
|
8
17
|
ws_error_handler_muted?: boolean;
|
|
@@ -49,6 +49,27 @@ export function evalValue(k, mod, testStepStore, pickableProperties, showError)
|
|
|
49
49
|
}
|
|
50
50
|
return v;
|
|
51
51
|
}
|
|
52
|
+
export function filteredContentForExport(flow) {
|
|
53
|
+
let o = {
|
|
54
|
+
summary: flow.summary,
|
|
55
|
+
description: flow.description,
|
|
56
|
+
value: flow.value,
|
|
57
|
+
schema: flow.schema
|
|
58
|
+
};
|
|
59
|
+
if (flow.dedicated_worker) {
|
|
60
|
+
o['dedicated_worker'] = flow.dedicated_worker;
|
|
61
|
+
}
|
|
62
|
+
if (flow.visible_to_runner_only) {
|
|
63
|
+
o['visible_to_runner_only'] = flow.visible_to_runner_only;
|
|
64
|
+
}
|
|
65
|
+
if (flow.ws_error_handler_muted) {
|
|
66
|
+
o['ws_error_handler_muted'] = flow.ws_error_handler_muted;
|
|
67
|
+
}
|
|
68
|
+
if (flow.tag) {
|
|
69
|
+
o['tag'] = flow.tag;
|
|
70
|
+
}
|
|
71
|
+
return o;
|
|
72
|
+
}
|
|
52
73
|
export function cleanInputs(flow) {
|
|
53
74
|
const newFlow = JSON.parse(JSON.stringify(flow));
|
|
54
75
|
newFlow.value.modules.forEach((mod) => {
|
|
@@ -44,6 +44,14 @@ let menuOpen = false;
|
|
|
44
44
|
on:new={(e) => {
|
|
45
45
|
data?.eventHandlers.insert({ modules: data.modules, index: data.index, detail: e.detail })
|
|
46
46
|
}}
|
|
47
|
+
on:insert={(e) => {
|
|
48
|
+
data?.eventHandlers.insert({
|
|
49
|
+
modules: data.modules,
|
|
50
|
+
index: data.index,
|
|
51
|
+
script: e.detail,
|
|
52
|
+
detail: 'script'
|
|
53
|
+
})
|
|
54
|
+
}}
|
|
47
55
|
bind:open={menuOpen}
|
|
48
56
|
/>
|
|
49
57
|
</div>
|
|
@@ -61,6 +69,14 @@ let menuOpen = false;
|
|
|
61
69
|
detail: e.detail
|
|
62
70
|
})
|
|
63
71
|
}}
|
|
72
|
+
on:insert={(e) => {
|
|
73
|
+
data?.eventHandlers.insert({
|
|
74
|
+
modules: data.modules,
|
|
75
|
+
index: data.index,
|
|
76
|
+
script: e.detail,
|
|
77
|
+
detail: 'script'
|
|
78
|
+
})
|
|
79
|
+
}}
|
|
64
80
|
index={data?.index ?? 0}
|
|
65
81
|
modules={data?.modules ?? []}
|
|
66
82
|
/>
|
|
@@ -4,7 +4,7 @@ import { X } from 'lucide-svelte';
|
|
|
4
4
|
import { getStateColor } from '../../util';
|
|
5
5
|
import { computeBorderStatus } from '../utils';
|
|
6
6
|
export let data;
|
|
7
|
-
$: borderStatus = computeBorderStatus(data.branchIndex, 'branchone', data.flowModuleStates?.[data.id]);
|
|
7
|
+
$: borderStatus = computeBorderStatus(data.branchIndex + 1, 'branchone', data.flowModuleStates?.[data.id]);
|
|
8
8
|
</script>
|
|
9
9
|
|
|
10
10
|
<NodeWrapper let:darkMode offset={data.offset}>
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
<script>import VirtualItem from '../../../flows/map/VirtualItem.svelte';
|
|
2
2
|
import NodeWrapper from './NodeWrapper.svelte';
|
|
3
3
|
import { getStateColor } from '../../util';
|
|
4
|
+
import { computeBorderStatus } from '../utils';
|
|
4
5
|
export let data;
|
|
6
|
+
$: borderStatus = data.branchOne
|
|
7
|
+
? computeBorderStatus(0, 'branchone', data.flowModuleStates?.[data.id])
|
|
8
|
+
: undefined;
|
|
5
9
|
</script>
|
|
6
10
|
|
|
7
11
|
<NodeWrapper offset={data.offset} let:darkMode enableSourceHandle enableTargetHandle>
|
|
@@ -12,7 +16,7 @@ export let data;
|
|
|
12
16
|
selectable={true}
|
|
13
17
|
selected={false}
|
|
14
18
|
bgColor={getStateColor(undefined, darkMode)}
|
|
15
|
-
borderColor={getStateColor(
|
|
19
|
+
borderColor={getStateColor(borderStatus, darkMode)}
|
|
16
20
|
on:select={(e) => {
|
|
17
21
|
data?.eventHandlers?.select(e.detail)
|
|
18
22
|
}}
|
|
@@ -9,9 +9,6 @@ import MoveDrawer from '../MoveDrawer.svelte';
|
|
|
9
9
|
import ShareModal from '../ShareModal.svelte';
|
|
10
10
|
import { createEventDispatcher } from 'svelte';
|
|
11
11
|
import { ArrowBigUp } from 'lucide-svelte';
|
|
12
|
-
import { enterpriseLicense, workspaceStore } from '../../stores';
|
|
13
|
-
import { WorkspaceService } from '../../gen';
|
|
14
|
-
import { ALL_DEPLOYABLE } from '../../utils_deployable';
|
|
15
12
|
export let item;
|
|
16
13
|
export let depth = 0;
|
|
17
14
|
const dispatch = createEventDispatcher();
|
|
@@ -21,16 +18,6 @@ let moveDrawer;
|
|
|
21
18
|
let deploymentDrawer;
|
|
22
19
|
let menuOpen = false;
|
|
23
20
|
export let showCode;
|
|
24
|
-
let deployUiSettings = undefined;
|
|
25
|
-
async function getDeployUiSettings() {
|
|
26
|
-
if (!$enterpriseLicense) {
|
|
27
|
-
deployUiSettings = ALL_DEPLOYABLE;
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
let settings = await WorkspaceService.getSettings({ workspace: $workspaceStore });
|
|
31
|
-
deployUiSettings = settings.deploy_ui ?? ALL_DEPLOYABLE;
|
|
32
|
-
}
|
|
33
|
-
getDeployUiSettings();
|
|
34
21
|
</script>
|
|
35
22
|
|
|
36
23
|
{#if item.type == 'script'}
|
|
@@ -50,7 +37,6 @@ getDeployUiSettings();
|
|
|
50
37
|
{depth}
|
|
51
38
|
bind:menuOpen
|
|
52
39
|
{showCode}
|
|
53
|
-
{deployUiSettings}
|
|
54
40
|
/>
|
|
55
41
|
{:else if item.type == 'flow'}
|
|
56
42
|
<FlowRow
|
|
@@ -68,7 +54,6 @@ getDeployUiSettings();
|
|
|
68
54
|
{deploymentDrawer}
|
|
69
55
|
{depth}
|
|
70
56
|
bind:menuOpen
|
|
71
|
-
{deployUiSettings}
|
|
72
57
|
/>
|
|
73
58
|
{:else if item.type == 'app'}
|
|
74
59
|
<AppRow
|
|
@@ -82,7 +67,6 @@ getDeployUiSettings();
|
|
|
82
67
|
{deploymentDrawer}
|
|
83
68
|
{depth}
|
|
84
69
|
bind:menuOpen
|
|
85
|
-
{deployUiSettings}
|
|
86
70
|
/>
|
|
87
71
|
{:else if item.type == 'raw_app'}
|
|
88
72
|
<RawAppRow
|
|
@@ -96,7 +80,6 @@ getDeployUiSettings();
|
|
|
96
80
|
{deploymentDrawer}
|
|
97
81
|
{depth}
|
|
98
82
|
bind:menuOpen
|
|
99
|
-
{deployUiSettings}
|
|
100
83
|
/>
|
|
101
84
|
{/if}
|
|
102
85
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { enterpriseLicense, workspaceStore } from '../../stores';
|
|
2
|
+
import { WorkspaceService } from '../../gen';
|
|
3
|
+
import { ALL_DEPLOYABLE } from '../../utils_deployable';
|
|
4
|
+
import { get, writable } from 'svelte/store';
|
|
5
|
+
const deployUiStore = writable({});
|
|
6
|
+
export async function getDeployUiSettings() {
|
|
7
|
+
let deployUiSettings = get(deployUiStore);
|
|
8
|
+
let workspace = get(workspaceStore);
|
|
9
|
+
if (!deployUiSettings[workspace]) {
|
|
10
|
+
deployUiSettings[workspace] = await getDeployUiSettingsInner();
|
|
11
|
+
deployUiStore.set(deployUiSettings);
|
|
12
|
+
}
|
|
13
|
+
return deployUiSettings[workspace];
|
|
14
|
+
}
|
|
15
|
+
async function getDeployUiSettingsInner() {
|
|
16
|
+
if (!get(enterpriseLicense)) {
|
|
17
|
+
return ALL_DEPLOYABLE;
|
|
18
|
+
}
|
|
19
|
+
let settings = await WorkspaceService.getSettings({ workspace: get(workspaceStore) });
|
|
20
|
+
return settings.deploy_ui ?? ALL_DEPLOYABLE;
|
|
21
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
export let height = '24px'
|
|
3
|
+
export let width = '24px'
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<svg
|
|
7
|
+
{height}
|
|
8
|
+
{width}
|
|
9
|
+
id="svg3430"
|
|
10
|
+
version="1.1"
|
|
11
|
+
viewBox="0 0 106 106"
|
|
12
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
13
|
+
>
|
|
14
|
+
|
|
15
|
+
<g id="logo" transform="translate(53, 53)">
|
|
16
|
+
<path id="r" transform="translate(0.5, 0.5)" stroke="black" stroke-width="1" stroke-linejoin="round" d=" M -9,-15 H 4 C 12,-15 12,-7 4,-7 H -9 Z M -40,22 H 0 V 11 H -9 V 3 H 1 C 12,3 6,22 15,22 H 40 V 3 H 34 V 5 C 34,13 25,12 24,7 C 23,2 19,-2 18,-2 C 33,-10 24,-26 12,-26 H -35 V -15 H -25 V 11 H -40 Z"/>
|
|
17
|
+
<g id="gear" mask="url(#holes)">
|
|
18
|
+
<circle r="43" fill="none" stroke="black" stroke-width="9"/>
|
|
19
|
+
<g id="cogs">
|
|
20
|
+
<polygon id="cog" stroke="black" stroke-width="3" stroke-linejoin="round" points="46,3 51,0 46,-3"/>
|
|
21
|
+
<use xlink:href="#cog" transform="rotate(11.25)"/>
|
|
22
|
+
<use xlink:href="#cog" transform="rotate(22.50)"/>
|
|
23
|
+
<use xlink:href="#cog" transform="rotate(33.75)"/>
|
|
24
|
+
<use xlink:href="#cog" transform="rotate(45.00)"/>
|
|
25
|
+
<use xlink:href="#cog" transform="rotate(56.25)"/>
|
|
26
|
+
<use xlink:href="#cog" transform="rotate(67.50)"/>
|
|
27
|
+
<use xlink:href="#cog" transform="rotate(78.75)"/>
|
|
28
|
+
<use xlink:href="#cog" transform="rotate(90.00)"/>
|
|
29
|
+
<use xlink:href="#cog" transform="rotate(101.25)"/>
|
|
30
|
+
<use xlink:href="#cog" transform="rotate(112.50)"/>
|
|
31
|
+
<use xlink:href="#cog" transform="rotate(123.75)"/>
|
|
32
|
+
<use xlink:href="#cog" transform="rotate(135.00)"/>
|
|
33
|
+
<use xlink:href="#cog" transform="rotate(146.25)"/>
|
|
34
|
+
<use xlink:href="#cog" transform="rotate(157.50)"/>
|
|
35
|
+
<use xlink:href="#cog" transform="rotate(168.75)"/>
|
|
36
|
+
<use xlink:href="#cog" transform="rotate(180.00)"/>
|
|
37
|
+
<use xlink:href="#cog" transform="rotate(191.25)"/>
|
|
38
|
+
<use xlink:href="#cog" transform="rotate(202.50)"/>
|
|
39
|
+
<use xlink:href="#cog" transform="rotate(213.75)"/>
|
|
40
|
+
<use xlink:href="#cog" transform="rotate(225.00)"/>
|
|
41
|
+
<use xlink:href="#cog" transform="rotate(236.25)"/>
|
|
42
|
+
<use xlink:href="#cog" transform="rotate(247.50)"/>
|
|
43
|
+
<use xlink:href="#cog" transform="rotate(258.75)"/>
|
|
44
|
+
<use xlink:href="#cog" transform="rotate(270.00)"/>
|
|
45
|
+
<use xlink:href="#cog" transform="rotate(281.25)"/>
|
|
46
|
+
<use xlink:href="#cog" transform="rotate(292.50)"/>
|
|
47
|
+
<use xlink:href="#cog" transform="rotate(303.75)"/>
|
|
48
|
+
<use xlink:href="#cog" transform="rotate(315.00)"/>
|
|
49
|
+
<use xlink:href="#cog" transform="rotate(326.25)"/>
|
|
50
|
+
<use xlink:href="#cog" transform="rotate(337.50)"/>
|
|
51
|
+
<use xlink:href="#cog" transform="rotate(348.75)"/>
|
|
52
|
+
</g>
|
|
53
|
+
<g id="mounts">
|
|
54
|
+
<polygon id="mount" stroke="black" stroke-width="6" stroke-linejoin="round" points="-7,-42 0,-35 7,-42"/>
|
|
55
|
+
<use xlink:href="#mount" transform="rotate(72)"/>
|
|
56
|
+
<use xlink:href="#mount" transform="rotate(144)"/>
|
|
57
|
+
<use xlink:href="#mount" transform="rotate(216)"/>
|
|
58
|
+
<use xlink:href="#mount" transform="rotate(288)"/>
|
|
59
|
+
</g>
|
|
60
|
+
</g>
|
|
61
|
+
<mask id="holes">
|
|
62
|
+
<rect x="-60" y="-60" width="120" height="120" fill="white"/>
|
|
63
|
+
<circle id="hole" cy="-40" r="3"/>
|
|
64
|
+
<use xlink:href="#hole" transform="rotate(72)"/>
|
|
65
|
+
<use xlink:href="#hole" transform="rotate(144)"/>
|
|
66
|
+
<use xlink:href="#hole" transform="rotate(216)"/>
|
|
67
|
+
<use xlink:href="#hole" transform="rotate(288)"/>
|
|
68
|
+
</mask>
|
|
69
|
+
</g>
|
|
70
|
+
</svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} RustIconProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} RustIconEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} RustIconSlots */
|
|
4
|
+
export default class RustIcon extends SvelteComponent<{
|
|
5
|
+
height?: string | undefined;
|
|
6
|
+
width?: string | undefined;
|
|
7
|
+
}, {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
}, {}> {
|
|
10
|
+
}
|
|
11
|
+
export type RustIconProps = typeof __propDef.props;
|
|
12
|
+
export type RustIconEvents = typeof __propDef.events;
|
|
13
|
+
export type RustIconSlots = typeof __propDef.slots;
|
|
14
|
+
import { SvelteComponent } from "svelte";
|
|
15
|
+
declare const __propDef: {
|
|
16
|
+
props: {
|
|
17
|
+
height?: string | undefined;
|
|
18
|
+
width?: string | undefined;
|
|
19
|
+
};
|
|
20
|
+
events: {
|
|
21
|
+
[evt: string]: CustomEvent<any>;
|
|
22
|
+
};
|
|
23
|
+
slots: {};
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="144" width="144" xmlns="http://www.w3.org/2000/svg"><path d="m71.05 23.68c-26.06 0-47.27 21.22-47.27 47.27s21.22 47.27 47.27 47.27 47.27-21.22 47.27-47.27-21.22-47.27-47.27-47.27zm-.07 4.2a3.1 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11zm7.12 5.12a38.27 38.27 0 0 1 26.2 18.66l-3.67 8.28c-.63 1.43.02 3.11 1.44 3.75l7.06 3.13a38.27 38.27 0 0 1 .08 6.64h-3.93c-.39 0-.55.26-.55.64v1.8c0 4.24-2.39 5.17-4.49 5.4-2 .23-4.21-.84-4.49-2.06-1.18-6.63-3.14-8.04-6.24-10.49 3.85-2.44 7.85-6.05 7.85-10.87 0-5.21-3.57-8.49-6-10.1-3.42-2.25-7.2-2.7-8.22-2.7h-40.6a38.27 38.27 0 0 1 21.41-12.08l4.79 5.02c1.08 1.13 2.87 1.18 4 .09zm-44.2 23.02a3.11 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11zm74.15.14a3.11 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11zm-68.29.5h5.42v24.44h-10.94a38.27 38.27 0 0 1 -1.24-14.61l6.7-2.98c1.43-.64 2.08-2.31 1.44-3.74zm22.62.26h12.91c.67 0 4.71.77 4.71 3.8 0 2.51-3.1 3.41-5.65 3.41h-11.98zm0 17.56h9.89c.9 0 4.83.26 6.08 5.28.39 1.54 1.26 6.56 1.85 8.17.59 1.8 2.98 5.4 5.53 5.4h16.14a38.27 38.27 0 0 1 -3.54 4.1l-6.57-1.41c-1.53-.33-3.04.65-3.37 2.18l-1.56 7.28a38.27 38.27 0 0 1 -31.91-.15l-1.56-7.28c-.33-1.53-1.83-2.51-3.36-2.18l-6.43 1.38a38.27 38.27 0 0 1 -3.32-3.92h31.27c.35 0 .59-.06.59-.39v-11.06c0-.32-.24-.39-.59-.39h-9.15zm-14.43 25.33a3.11 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11zm46.05.14a3.11 3.11 0 0 1 3.02 3.11 3.11 3.11 0 0 1 -6.22 0 3.11 3.11 0 0 1 3.2-3.11z"/><path d="m115.68 70.95a44.63 44.63 0 0 1 -44.63 44.63 44.63 44.63 0 0 1 -44.63-44.63 44.63 44.63 0 0 1 44.63-44.63 44.63 44.63 0 0 1 44.63 44.63zm-.84-4.31 6.96 4.31-6.96 4.31 5.98 5.59-7.66 2.87 4.78 6.65-8.09 1.32 3.4 7.46-8.19-.29 1.88 7.98-7.98-1.88.29 8.19-7.46-3.4-1.32 8.09-6.65-4.78-2.87 7.66-5.59-5.98-4.31 6.96-4.31-6.96-5.59 5.98-2.87-7.66-6.65 4.78-1.32-8.09-7.46 3.4.29-8.19-7.98 1.88 1.88-7.98-8.19.29 3.4-7.46-8.09-1.32 4.78-6.65-7.66-2.87 5.98-5.59-6.96-4.31 6.96-4.31-5.98-5.59 7.66-2.87-4.78-6.65 8.09-1.32-3.4-7.46 8.19.29-1.88-7.98 7.98 1.88-.29-8.19 7.46 3.4 1.32-8.09 6.65 4.78 2.87-7.66 5.59 5.98 4.31-6.96 4.31 6.96 5.59-5.98 2.87 7.66 6.65-4.78 1.32 8.09 7.46-3.4-.29 8.19 7.98-1.88-1.88 7.98 8.19-.29-3.4 7.46 8.09 1.32-4.78 6.65 7.66 2.87z" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>
|
|
@@ -91,8 +91,8 @@ export const settings = {
|
|
|
91
91
|
ee_only: ''
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
|
-
label: 'Critical
|
|
95
|
-
description: 'Channels to send critical
|
|
94
|
+
label: 'Critical Alert Channels',
|
|
95
|
+
description: 'Channels to send critical alerts to. SMTP must be configured for the email channel.',
|
|
96
96
|
key: 'critical_error_channels',
|
|
97
97
|
fieldType: 'critical_error_channels',
|
|
98
98
|
storage: 'setting',
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as monaco from 'monaco-editor';
|
|
2
|
+
// @ts-ignore
|
|
3
|
+
import * as MonacoVim from 'monaco-vim';
|
|
4
|
+
export function initVim(editor, statusBarElement, save) {
|
|
5
|
+
MonacoVim.VimMode.Vim.defineEx('write', 'w', function () {
|
|
6
|
+
save();
|
|
7
|
+
});
|
|
8
|
+
return MonacoVim.initVimMode(editor, statusBarElement);
|
|
9
|
+
}
|