windmill-components 1.434.1 → 1.444.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/package/components/ArgInput.svelte +12 -16
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/AssignableTags.svelte +3 -1
- package/package/components/AssignableTags.svelte.d.ts +1 -0
- package/package/components/AuthSettings.svelte +248 -0
- package/package/components/AuthSettings.svelte.d.ts +19 -0
- package/package/components/AutoscalingConfigEditor.svelte +2 -2
- package/package/components/CronInput.svelte +2 -2
- package/package/components/DeployWorkspace.svelte +1 -1
- package/package/components/Description.svelte +9 -0
- package/package/components/Description.svelte.d.ts +18 -0
- package/package/components/Dev.svelte +18 -3
- package/package/components/DisplayResult.svelte +7 -4
- package/package/components/DisplayResult.svelte.d.ts +1 -0
- package/package/components/DropdownV2.svelte +2 -1
- package/package/components/DropdownV2.svelte.d.ts +1 -0
- package/package/components/EditableSchemaForm.svelte +2 -2
- package/package/components/Editor.svelte +9 -6
- package/package/components/Editor.svelte.d.ts +4 -2
- package/package/components/EditorBar.svelte +51 -6
- package/package/components/ErrorOrRecoveryHandler.svelte +4 -3
- package/package/components/ExecutionDuration.svelte +2 -1
- package/package/components/FieldHeader.svelte +9 -1
- package/package/components/FieldHeader.svelte.d.ts +1 -0
- package/package/components/FlowBuilder.svelte +16 -3
- package/package/components/FlowGraphViewer.svelte +2 -0
- package/package/components/FlowPreviewContent.svelte +6 -15
- package/package/components/FlowStatusViewerInner.svelte +14 -10
- package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -0
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InputTransformSchemaForm.svelte +1 -1
- package/package/components/InstanceSetting.svelte +774 -0
- package/package/components/InstanceSetting.svelte.d.ts +27 -0
- package/package/components/InstanceSettings.svelte +68 -1005
- package/package/components/InstanceSettings.svelte.d.ts +0 -4
- package/package/components/Label.svelte +16 -6
- package/package/components/Label.svelte.d.ts +3 -0
- package/package/components/Login.svelte +17 -9
- package/package/components/OAuthSetting.svelte +4 -3
- package/package/components/OauthExtraParams.svelte +1 -1
- package/package/components/OauthScopes.svelte +2 -2
- package/package/components/ObjectStoreConfigSettings.svelte +141 -128
- package/package/components/QueueMetricsDrawer.svelte +5 -5
- package/package/components/ResourceEditor.svelte +4 -0
- package/package/components/ResourceEditor.svelte.d.ts +1 -0
- package/package/components/ResourceEditorDrawer.svelte +15 -3
- package/package/components/ResourceEditorDrawer.svelte.d.ts +2 -2
- package/package/components/ResourcePicker.svelte +16 -5
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/RunPageSchedules.svelte +15 -10
- package/package/components/SavedInputs.svelte +1 -1
- package/package/components/ScheduleEditorInner.svelte +58 -27
- package/package/components/SchemaForm.svelte +7 -5
- package/package/components/SchemaForm.svelte.d.ts +1 -0
- package/package/components/ScriptBuilder.svelte +58 -5
- package/package/components/ScriptEditor.svelte +78 -40
- package/package/components/ScriptEditor.svelte.d.ts +17 -2
- package/package/components/ScriptPicker.svelte +41 -34
- package/package/components/ScriptPicker.svelte.d.ts +1 -0
- package/package/components/ScriptVersionHistory.svelte +1 -1
- package/package/components/Section.svelte +38 -35
- package/package/components/Section.svelte.d.ts +2 -0
- package/package/components/ServiceLogsInner.svelte +1 -1
- package/package/components/SimpleEditor.svelte +2 -0
- package/package/components/Subsection.svelte +52 -0
- package/package/components/Subsection.svelte.d.ts +27 -0
- package/package/components/SuperadminSettings.svelte +23 -13
- package/package/components/TemplateEditor.svelte +4 -3
- package/package/components/TestConnection.svelte +5 -0
- package/package/components/TestJobLoader.svelte +2 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/Toggle.svelte +2 -4
- package/package/components/UserSettings.svelte +1 -1
- package/package/components/WorkerGroup.svelte +4 -4
- package/package/components/WorkerTagPicker.svelte +4 -2
- package/package/components/WorkerTagPicker.svelte.d.ts +1 -0
- package/package/components/WorkerTagSelect.svelte +2 -0
- package/package/components/WorkerTagSelect.svelte.d.ts +1 -0
- package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
- package/package/components/apps/components/display/dbtable/utils.js +26 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +8 -2
- package/package/components/apps/components/inputs/AppDateInput.svelte +7 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +5 -34
- package/package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorBottomPanel.svelte +4 -7
- package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +1 -3
- package/package/components/apps/editor/AppEditorHeader.svelte +148 -58
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
- package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
- package/package/components/apps/editor/RunnableJobPanel.svelte +6 -2
- package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +1 -0
- package/package/components/apps/editor/appUtils.d.ts +1 -0
- package/package/components/apps/editor/appUtils.js +17 -0
- package/package/components/apps/editor/component/components.d.ts +82 -81
- package/package/components/apps/editor/component/components.js +4 -3
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +1 -1
- package/package/components/apps/editor/componentsPanel/GroupList.svelte +12 -2
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -56
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +3 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +16 -9
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
- package/package/components/apps/inputType.d.ts +2 -2
- package/package/components/apps/types.d.ts +2 -0
- package/package/components/common/alert/ConnectionIndicator.svelte +30 -0
- package/package/components/common/alert/ConnectionIndicator.svelte.d.ts +20 -0
- package/package/components/common/alert/Notification.svelte +15 -0
- package/package/components/common/alert/Notification.svelte.d.ts +17 -0
- package/package/components/common/button/AnimatedButton.svelte +1 -1
- package/package/components/common/button/RefreshButton.svelte +30 -0
- package/package/components/common/button/RefreshButton.svelte.d.ts +18 -0
- package/package/components/common/fileDownload/FileDownload.svelte +4 -3
- package/package/components/common/fileDownload/FileDownload.svelte.d.ts +1 -0
- package/package/components/common/fileUpload/FileUpload.svelte +3 -3
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/layout/List.svelte +35 -0
- package/package/components/common/layout/List.svelte.d.ts +21 -0
- package/package/components/common/layout/ListElement.svelte +3 -0
- package/package/components/common/layout/ListElement.svelte.d.ts +27 -0
- package/package/components/common/menu/MenuV2.svelte +3 -2
- package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal.svelte +6 -4
- package/package/components/common/modal/Modal.svelte.d.ts +1 -0
- package/package/components/common/modal/Modal2.svelte +101 -0
- package/package/components/common/modal/Modal2.svelte.d.ts +28 -0
- package/package/components/common/popup/Popup.svelte +5 -1
- package/package/components/common/popup/Popup.svelte.d.ts +2 -0
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +1 -1
- package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
- package/package/components/details/ClipboardPanel.svelte +12 -2
- package/package/components/details/ClipboardPanel.svelte.d.ts +2 -0
- package/package/components/details/CopyableCodeBlock.svelte +24 -0
- package/package/components/details/CopyableCodeBlock.svelte.d.ts +19 -0
- package/package/components/details/DetailPageLayout.svelte +3 -1
- package/package/components/details/EmailTriggerConfigSection.svelte +119 -0
- package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +38 -0
- package/package/components/details/EmailTriggerPanel.svelte +27 -74
- package/package/components/details/EmailTriggerPanel.svelte.d.ts +7 -1
- package/package/components/flows/FlowEditor.svelte +1 -1
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowHistoryInner.svelte +1 -1
- package/package/components/flows/content/BranchPredicateEditor.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +30 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowInput.svelte +2 -15
- package/package/components/flows/content/FlowInputs.svelte +1 -1
- package/package/components/flows/content/FlowInputsQuick.svelte +2 -2
- package/package/components/flows/content/FlowModuleComponent.svelte +9 -5
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
- package/package/components/flows/content/FlowModuleHeader.svelte +4 -1
- package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
- package/package/components/flows/content/FlowPathViewer.svelte +3 -1
- package/package/components/flows/content/FlowRetries.svelte +32 -5
- package/package/components/flows/content/FlowSettings.svelte +56 -48
- package/package/components/flows/flowStateUtils.d.ts +10 -1
- package/package/components/flows/flowStateUtils.js +23 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +9 -19
- package/package/components/flows/map/InsertModuleButton.svelte +3 -3
- package/package/components/flows/map/VirtualItem.svelte +29 -1
- package/package/components/flows/map/VirtualItem.svelte.d.ts +2 -0
- package/package/components/flows/pickers/TopLevelNode.svelte +2 -2
- package/package/components/flows/previousResults.js +8 -2
- package/package/components/flows/types.d.ts +1 -0
- package/package/components/graph/FlowGraphV2.svelte +5 -1
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte +2 -0
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +2 -0
- package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
- package/package/components/icons/CSharpIcon.svelte +14 -0
- package/package/components/icons/CSharpIcon.svelte.d.ts +25 -0
- package/package/components/icons/GitIcon.svelte +5 -2
- package/package/components/icons/XeroIcon.svelte +24 -0
- package/package/components/icons/XeroIcon.svelte.d.ts +17 -0
- package/package/components/icons/index.d.ts +3 -1
- package/package/components/icons/index.js +4 -2
- package/package/components/instanceSettings.d.ts +3 -1
- package/package/components/instanceSettings.js +77 -69
- package/package/components/meltComponents/Popover.svelte +82 -0
- package/package/components/meltComponents/Popover.svelte.d.ts +21 -0
- package/package/components/propertyPicker/PropPicker.svelte +5 -3
- package/package/components/runs/JobLoader.svelte +5 -2
- package/package/components/runs/JobPreview.svelte +5 -5
- package/package/components/runs/RunRow.svelte +3 -4
- package/package/components/runs/RunsFilter.svelte +4 -4
- package/package/components/schema/EditableSchemaDrawer.svelte +4 -4
- package/package/components/schema/PropertyEditor.svelte +1 -1
- package/package/components/schema/SchemaFormDND.svelte +2 -0
- package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
- package/package/components/scriptEditor/LogPanel.svelte +176 -164
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
- package/package/components/search/GlobalSearchModal.svelte +3 -3
- package/package/components/sidebar/CriticalAlertModal.svelte +155 -9
- package/package/components/sidebar/CriticalAlertModalInner.svelte +65 -212
- package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +2 -4
- package/package/components/sidebar/CriticalAlertTable.svelte +142 -0
- package/package/components/sidebar/CriticalAlertTable.svelte.d.ts +25 -0
- package/package/components/sidebar/OperatorMenu.svelte +30 -8
- package/package/components/sidebar/SideBarNotification.svelte +3 -6
- package/package/components/sidebar/SidebarContent.svelte +5 -5
- package/package/components/sidebar/WorkspaceMenu.svelte +9 -5
- package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +1 -0
- package/package/components/sidebar/changelogs.js +82 -17
- package/package/components/splitPanes/SplitPanesOrColumnOnMobile.svelte +21 -21
- package/package/components/table/AutoDataTable.svelte +1 -1
- package/package/components/table/Cell.svelte +5 -3
- package/package/components/table/Cell.svelte.d.ts +1 -0
- package/package/components/table/DataTable.svelte +65 -58
- package/package/components/table/DataTable.svelte.d.ts +2 -0
- package/package/components/table/Head.svelte +1 -1
- package/package/components/table/Row.svelte +3 -1
- package/package/components/table/Row.svelte.d.ts +1 -0
- package/package/components/toast.js +3 -1
- package/package/components/triggers/CaptureButton.svelte +77 -0
- package/package/components/triggers/CaptureButton.svelte.d.ts +16 -0
- package/package/components/triggers/CaptureIcon.svelte +17 -0
- package/package/components/triggers/CaptureIcon.svelte.d.ts +23 -0
- package/package/components/triggers/CaptureSection.svelte +76 -0
- package/package/components/triggers/CaptureSection.svelte.d.ts +42 -0
- package/package/components/triggers/CaptureTable.svelte +224 -0
- package/package/components/triggers/CaptureTable.svelte.d.ts +43 -0
- package/package/components/triggers/CaptureWrapper.svelte +237 -0
- package/package/components/triggers/CaptureWrapper.svelte.d.ts +35 -0
- package/package/components/triggers/KafkaTriggerEditor.svelte +2 -2
- package/package/components/triggers/KafkaTriggerEditor.svelte.d.ts +2 -2
- package/package/components/triggers/KafkaTriggerEditorInner.svelte +47 -119
- package/package/components/triggers/KafkaTriggerEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/KafkaTriggersConfigSection.svelte +215 -0
- package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +36 -0
- package/package/components/triggers/KafkaTriggersPanel.svelte +73 -45
- package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +6 -0
- package/package/components/triggers/RouteEditor.svelte +2 -2
- package/package/components/triggers/RouteEditor.svelte.d.ts +2 -2
- package/package/components/triggers/RouteEditorConfigSection.svelte +162 -0
- package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +43 -0
- package/package/components/triggers/RouteEditorInner.svelte +98 -163
- package/package/components/triggers/RouteEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/RoutesPanel.svelte +69 -54
- package/package/components/triggers/RoutesPanel.svelte.d.ts +5 -0
- package/package/components/triggers/ScheduledPollPanel.svelte +5 -9
- package/package/components/triggers/TriggersEditor.svelte +119 -89
- package/package/components/triggers/TriggersEditor.svelte.d.ts +7 -0
- package/package/components/triggers/TriggersEditorSection.svelte +109 -0
- package/package/components/triggers/TriggersEditorSection.svelte.d.ts +29 -0
- package/package/components/triggers/TriggersWrapper.svelte +60 -0
- package/package/components/triggers/TriggersWrapper.svelte.d.ts +21 -0
- package/package/components/triggers/WebhooksConfigSection.svelte +382 -0
- package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +39 -0
- package/package/components/triggers/WebhooksPanel.svelte +32 -331
- package/package/components/triggers/WebhooksPanel.svelte.d.ts +7 -1
- package/package/components/triggers/WebsocketEditorConfigSection.svelte +176 -0
- package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +37 -0
- package/package/components/triggers/WebsocketTriggerEditor.svelte +2 -2
- package/package/components/triggers/WebsocketTriggerEditor.svelte.d.ts +2 -2
- package/package/components/triggers/WebsocketTriggerEditorInner.svelte +29 -150
- package/package/components/triggers/WebsocketTriggerEditorInner.svelte.d.ts +2 -2
- package/package/components/triggers/WebsocketTriggersPanel.svelte +70 -45
- package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +6 -0
- package/package/components/triggers.d.ts +6 -2
- package/package/components/triggers.js +16 -0
- package/package/components/wizards/AgGridWizard.svelte +4 -4
- package/package/editorUtils.d.ts +2 -0
- package/package/editorUtils.js +6 -3
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +17 -8
- package/package/gen/schemas.gen.js +17 -8
- package/package/gen/services.gen.d.ts +55 -5
- package/package/gen/services.gen.js +108 -5
- package/package/gen/types.gen.d.ts +180 -13
- package/package/hubPaths.json +6 -3
- package/package/infer.js +9 -0
- package/package/script_helpers.d.ts +5 -0
- package/package/script_helpers.js +68 -8
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +5 -1
- package/package/stores.d.ts +1 -0
- package/package/utils.d.ts +3 -1
- package/package/utils.js +20 -4
- package/package.json +11 -8
- package/package/components/flows/content/CapturePayload.svelte +0 -114
- package/package/components/flows/content/CapturePayload.svelte.d.ts +0 -17
|
@@ -24,6 +24,8 @@ import { setLicense } from '../enterpriseUtils';
|
|
|
24
24
|
import Tabs from './common/tabs/Tabs.svelte';
|
|
25
25
|
import Tab from './common/tabs/Tab.svelte';
|
|
26
26
|
import { slide } from 'svelte/transition';
|
|
27
|
+
import CaptureTable from './triggers/CaptureTable.svelte';
|
|
28
|
+
import CaptureButton from './triggers/CaptureButton.svelte';
|
|
27
29
|
// Exported
|
|
28
30
|
export let schema = emptySchema();
|
|
29
31
|
export let code;
|
|
@@ -43,6 +45,10 @@ export let noHistory = false;
|
|
|
43
45
|
export let saveToWorkspace = false;
|
|
44
46
|
export let watchChanges = false;
|
|
45
47
|
export let customUi = {};
|
|
48
|
+
export let args = initialArgs;
|
|
49
|
+
export let selectedTab = 'main';
|
|
50
|
+
export let hasPreprocessor = false;
|
|
51
|
+
export let captureTable = undefined;
|
|
46
52
|
let jobProgressReset;
|
|
47
53
|
let websocketAlive = {
|
|
48
54
|
pyright: false,
|
|
@@ -57,8 +63,6 @@ $: watchChanges &&
|
|
|
57
63
|
dispatch('change', { code, schema });
|
|
58
64
|
let width = 1200;
|
|
59
65
|
let testJobLoader;
|
|
60
|
-
// Test args input
|
|
61
|
-
let args = initialArgs;
|
|
62
66
|
let isValid = true;
|
|
63
67
|
let scriptProgress = undefined;
|
|
64
68
|
// Test
|
|
@@ -99,14 +103,19 @@ async function loadPastTests() {
|
|
|
99
103
|
scriptPathExact: path
|
|
100
104
|
});
|
|
101
105
|
}
|
|
102
|
-
|
|
103
|
-
export async function inferSchema(code, nlang) {
|
|
106
|
+
export async function inferSchema(code, nlang, resetArgs = false) {
|
|
104
107
|
let nschema = schema ?? emptySchema();
|
|
105
108
|
try {
|
|
106
109
|
const result = await inferArgs(nlang ?? lang, code, nschema, selectedTab === 'preprocessor' ? 'preprocessor' : undefined);
|
|
107
110
|
hasPreprocessor =
|
|
108
111
|
(selectedTab === 'preprocessor' ? !result?.no_main_func : result?.has_preprocessor) ?? false;
|
|
112
|
+
if (!hasPreprocessor && selectedTab === 'preprocessor') {
|
|
113
|
+
selectedTab = 'main';
|
|
114
|
+
}
|
|
109
115
|
validCode = true;
|
|
116
|
+
if (resetArgs) {
|
|
117
|
+
args = {};
|
|
118
|
+
}
|
|
110
119
|
schema = nschema;
|
|
111
120
|
}
|
|
112
121
|
catch (e) {
|
|
@@ -183,10 +192,10 @@ function collabUrl() {
|
|
|
183
192
|
url.search = '';
|
|
184
193
|
return `${url}?collab=1` + (edit ? '' : `&path=${path}`);
|
|
185
194
|
}
|
|
186
|
-
let selectedTab = 'main';
|
|
187
195
|
$: showTabs = hasPreprocessor;
|
|
188
196
|
$: !hasPreprocessor && (selectedTab = 'main');
|
|
189
197
|
$: selectedTab && inferSchema(code);
|
|
198
|
+
let argsRender = 0;
|
|
190
199
|
</script>
|
|
191
200
|
|
|
192
201
|
<TestJobLoader
|
|
@@ -264,9 +273,10 @@ $: selectedTab && inferSchema(code);
|
|
|
264
273
|
<SplitPanesWrapper>
|
|
265
274
|
<Splitpanes class="!overflow-visible">
|
|
266
275
|
<Pane size={60} minSize={10} class="!overflow-visible">
|
|
267
|
-
<div class="
|
|
276
|
+
<div class="h-full !overflow-visible bg-gray-50 dark:bg-[#272D38]">
|
|
268
277
|
{#key lang}
|
|
269
278
|
<Editor
|
|
279
|
+
lineNumbersMinChars={4}
|
|
270
280
|
folding
|
|
271
281
|
{path}
|
|
272
282
|
bind:code
|
|
@@ -314,10 +324,15 @@ $: selectedTab && inferSchema(code);
|
|
|
314
324
|
<div transition:slide={{ duration: 200 }}>
|
|
315
325
|
<Tabs bind:selected={selectedTab}>
|
|
316
326
|
<Tab value="main">Main</Tab>
|
|
317
|
-
|
|
327
|
+
{#if hasPreprocessor}
|
|
328
|
+
<div transition:slide={{ duration: 200, axis: 'x' }}>
|
|
329
|
+
<Tab value="preprocessor">Preprocessor</Tab>
|
|
330
|
+
</div>
|
|
331
|
+
{/if}
|
|
318
332
|
</Tabs>
|
|
319
333
|
</div>
|
|
320
334
|
{/if}
|
|
335
|
+
|
|
321
336
|
<div class="flex justify-center pt-1">
|
|
322
337
|
{#if testIsLoading}
|
|
323
338
|
<Button on:click={testJobLoader?.cancelJob} btnClasses="w-full" color="red" size="xs">
|
|
@@ -331,48 +346,53 @@ $: selectedTab && inferSchema(code);
|
|
|
331
346
|
Cancel
|
|
332
347
|
</Button>
|
|
333
348
|
{:else}
|
|
334
|
-
<
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
349
|
+
<div class="flex flex-row divide-x divide-gray-800 dark:divide-gray-300 items-stretch">
|
|
350
|
+
<Button
|
|
351
|
+
color="dark"
|
|
352
|
+
on:click={() => {
|
|
353
|
+
runTest()
|
|
354
|
+
}}
|
|
355
|
+
btnClasses="w-full rounded-r-none"
|
|
356
|
+
size="xs"
|
|
357
|
+
startIcon={{
|
|
358
|
+
icon: Play,
|
|
359
|
+
classes: 'animate-none'
|
|
360
|
+
}}
|
|
361
|
+
shortCut={{ Icon: CornerDownLeft, hide: testIsLoading }}
|
|
362
|
+
>
|
|
363
|
+
{#if testIsLoading}
|
|
364
|
+
Running
|
|
365
|
+
{:else}
|
|
366
|
+
Test
|
|
367
|
+
{/if}
|
|
368
|
+
</Button>
|
|
369
|
+
<CaptureButton on:openTriggers />
|
|
370
|
+
</div>
|
|
353
371
|
{/if}
|
|
354
372
|
</div>
|
|
355
373
|
<Splitpanes horizontal class="!max-h-[calc(100%-43px)]">
|
|
356
374
|
<Pane size={33}>
|
|
357
375
|
<div class="px-2">
|
|
358
376
|
<div class="break-words relative font-sans">
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
377
|
+
{#key argsRender}
|
|
378
|
+
<SchemaForm
|
|
379
|
+
helperScript={{
|
|
380
|
+
type: 'inline',
|
|
381
|
+
code,
|
|
382
|
+
//@ts-ignore
|
|
383
|
+
lang
|
|
384
|
+
}}
|
|
385
|
+
compact
|
|
386
|
+
{schema}
|
|
387
|
+
bind:args
|
|
388
|
+
bind:isValid
|
|
389
|
+
showSchemaExplorer
|
|
390
|
+
/>
|
|
391
|
+
{/key}
|
|
372
392
|
</div>
|
|
373
393
|
</div>
|
|
374
394
|
</Pane>
|
|
375
|
-
<Pane size={67}>
|
|
395
|
+
<Pane size={67} class="relative">
|
|
376
396
|
<LogPanel
|
|
377
397
|
{lang}
|
|
378
398
|
previewJob={testJob}
|
|
@@ -381,6 +401,7 @@ $: selectedTab && inferSchema(code);
|
|
|
381
401
|
{editor}
|
|
382
402
|
{diffEditor}
|
|
383
403
|
{args}
|
|
404
|
+
showCaptures={true}
|
|
384
405
|
>
|
|
385
406
|
{#if scriptProgress}
|
|
386
407
|
<!-- Put to the slot in logpanel -->
|
|
@@ -391,6 +412,23 @@ $: selectedTab && inferSchema(code);
|
|
|
391
412
|
compact={true}
|
|
392
413
|
/>
|
|
393
414
|
{/if}
|
|
415
|
+
<svelte:fragment slot="capturesTab">
|
|
416
|
+
<div class="h-full p-2">
|
|
417
|
+
<CaptureTable
|
|
418
|
+
bind:this={captureTable}
|
|
419
|
+
captureType="all"
|
|
420
|
+
{hasPreprocessor}
|
|
421
|
+
canHavePreprocessor={lang === 'bun' || lang === 'deno' || lang === 'python3'}
|
|
422
|
+
isFlow={false}
|
|
423
|
+
path={path ?? ''}
|
|
424
|
+
hideCapturesWhenEmpty={false}
|
|
425
|
+
canEdit={true}
|
|
426
|
+
on:applyArgs
|
|
427
|
+
on:updateSchema
|
|
428
|
+
on:addPreprocessor
|
|
429
|
+
/>
|
|
430
|
+
</div>
|
|
431
|
+
</svelte:fragment>
|
|
394
432
|
</LogPanel>
|
|
395
433
|
</Pane>
|
|
396
434
|
</Splitpanes>
|
|
@@ -4,6 +4,7 @@ import { type Preview } from '../gen';
|
|
|
4
4
|
import Editor from './Editor.svelte';
|
|
5
5
|
import DiffEditor from './DiffEditor.svelte';
|
|
6
6
|
import type { ScriptEditorWhitelabelCustomUi } from './custom_ui';
|
|
7
|
+
import CaptureTable from './triggers/CaptureTable.svelte';
|
|
7
8
|
declare const __propDef: {
|
|
8
9
|
props: {
|
|
9
10
|
schema?: Schema | any;
|
|
@@ -24,13 +25,27 @@ declare const __propDef: {
|
|
|
24
25
|
saveToWorkspace?: boolean | undefined;
|
|
25
26
|
watchChanges?: boolean | undefined;
|
|
26
27
|
customUi?: ScriptEditorWhitelabelCustomUi | undefined;
|
|
27
|
-
|
|
28
|
+
args?: Record<string, any> | undefined;
|
|
29
|
+
selectedTab?: "main" | "preprocessor" | undefined;
|
|
30
|
+
hasPreprocessor?: boolean | undefined;
|
|
31
|
+
captureTable?: CaptureTable | undefined;
|
|
32
|
+
inferSchema?: ((code: string, nlang?: SupportedLanguage, resetArgs?: boolean) => Promise<void>) | undefined;
|
|
28
33
|
setCollaborationMode?: (() => Promise<void>) | undefined;
|
|
29
34
|
disableCollaboration?: (() => void) | undefined;
|
|
30
35
|
};
|
|
31
36
|
events: {
|
|
32
37
|
createScriptFromInlineScript: CustomEvent<any>;
|
|
33
38
|
saveDraft: CustomEvent<any>;
|
|
39
|
+
openTriggers: CustomEvent<any>;
|
|
40
|
+
applyArgs: CustomEvent<{
|
|
41
|
+
kind: "main" | "preprocessor";
|
|
42
|
+
args: Record<string, any> | undefined;
|
|
43
|
+
}>;
|
|
44
|
+
updateSchema: CustomEvent<{
|
|
45
|
+
schema: any;
|
|
46
|
+
redirect: boolean;
|
|
47
|
+
}>;
|
|
48
|
+
addPreprocessor: CustomEvent<null>;
|
|
34
49
|
format: CustomEvent<any>;
|
|
35
50
|
change: CustomEvent<any>;
|
|
36
51
|
} & {
|
|
@@ -46,7 +61,7 @@ export type ScriptEditorProps = typeof __propDef.props;
|
|
|
46
61
|
export type ScriptEditorEvents = typeof __propDef.events;
|
|
47
62
|
export type ScriptEditorSlots = typeof __propDef.slots;
|
|
48
63
|
export default class ScriptEditor extends SvelteComponent<ScriptEditorProps, ScriptEditorEvents, ScriptEditorSlots> {
|
|
49
|
-
get inferSchema(): (code: string, nlang?: "python3" | "deno" | "go" | "bash" | "powershell" | "postgresql" | "mysql" | "bigquery" | "snowflake" | "mssql" | "graphql" | "nativets" | "bun" | "php" | "rust" | "ansible" | undefined) => Promise<void>;
|
|
64
|
+
get inferSchema(): (code: string, nlang?: "python3" | "deno" | "go" | "bash" | "powershell" | "postgresql" | "mysql" | "bigquery" | "snowflake" | "mssql" | "graphql" | "nativets" | "bun" | "php" | "rust" | "ansible" | "csharp" | undefined, resetArgs?: boolean) => Promise<void>;
|
|
50
65
|
get setCollaborationMode(): () => Promise<void>;
|
|
51
66
|
get disableCollaboration(): () => void;
|
|
52
67
|
}
|
|
@@ -22,6 +22,7 @@ export let kinds = ['script'];
|
|
|
22
22
|
export let disabled = false;
|
|
23
23
|
export let allowRefresh = false;
|
|
24
24
|
export let allowEdit = true;
|
|
25
|
+
export let allowView = true;
|
|
25
26
|
let items = [];
|
|
26
27
|
let drawerViewer;
|
|
27
28
|
let drawerFlowViewer;
|
|
@@ -128,16 +129,18 @@ let darkMode = false;
|
|
|
128
129
|
href="{base}/flows/edit/{scriptPath}">Edit</Button
|
|
129
130
|
>
|
|
130
131
|
{/if}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
132
|
+
{#if allowView}
|
|
133
|
+
<Button
|
|
134
|
+
color="light"
|
|
135
|
+
size="xs"
|
|
136
|
+
variant="border"
|
|
137
|
+
on:click={async () => {
|
|
138
|
+
drawerFlowViewer.openDrawer()
|
|
139
|
+
}}
|
|
140
|
+
>
|
|
141
|
+
View
|
|
142
|
+
</Button>
|
|
143
|
+
{/if}
|
|
141
144
|
</div>
|
|
142
145
|
{:else if itemKind == 'app'}
|
|
143
146
|
<div class="flex gap-2">
|
|
@@ -153,16 +156,18 @@ let darkMode = false;
|
|
|
153
156
|
Edit
|
|
154
157
|
</Button>
|
|
155
158
|
{/if}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
159
|
+
{#if allowView}
|
|
160
|
+
<Button
|
|
161
|
+
color="light"
|
|
162
|
+
size="xs"
|
|
163
|
+
variant="border"
|
|
164
|
+
target="_blank"
|
|
165
|
+
startIcon={{ icon: Code }}
|
|
166
|
+
href="{base}/apps/get/{scriptPath}"
|
|
167
|
+
>
|
|
168
|
+
View
|
|
169
|
+
</Button>
|
|
170
|
+
{/if}
|
|
166
171
|
</div>
|
|
167
172
|
{:else}
|
|
168
173
|
<div class="flex gap-2">
|
|
@@ -178,20 +183,22 @@ let darkMode = false;
|
|
|
178
183
|
Edit
|
|
179
184
|
</Button>
|
|
180
185
|
{/if}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
186
|
+
{#if allowView}
|
|
187
|
+
<Button
|
|
188
|
+
color="light"
|
|
189
|
+
size="xs"
|
|
190
|
+
variant="border"
|
|
191
|
+
startIcon={{ icon: Code }}
|
|
192
|
+
on:click={async () => {
|
|
193
|
+
const { language, content } = await getScriptByPath(scriptPath ?? '')
|
|
194
|
+
code = content
|
|
195
|
+
lang = language
|
|
196
|
+
drawerViewer.openDrawer()
|
|
197
|
+
}}
|
|
198
|
+
>
|
|
199
|
+
View
|
|
200
|
+
</Button>
|
|
201
|
+
{/if}
|
|
195
202
|
</div>
|
|
196
203
|
{/if}
|
|
197
204
|
{/if}
|
|
@@ -135,7 +135,7 @@ let previousHash = undefined;
|
|
|
135
135
|
color="blue"
|
|
136
136
|
buttonType="button"
|
|
137
137
|
btnClasses="!p-1 !w-[34px] !ml-1"
|
|
138
|
-
aria-label="Save
|
|
138
|
+
aria-label="Save deployment message"
|
|
139
139
|
on:click={() => {
|
|
140
140
|
updateDeploymentMsg(selectedVersion?.script_hash)
|
|
141
141
|
}}
|
|
@@ -7,48 +7,51 @@ export let tooltip = undefined;
|
|
|
7
7
|
export let eeOnly = false;
|
|
8
8
|
export let small = false;
|
|
9
9
|
export let collapsable = false;
|
|
10
|
-
let collapsed = true;
|
|
10
|
+
export let collapsed = true;
|
|
11
|
+
export let headless = false;
|
|
11
12
|
</script>
|
|
12
13
|
|
|
13
14
|
<div class="w-full">
|
|
14
|
-
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
{#if !headless}
|
|
16
|
+
<div class="flex flex-row justify-between items-center mb-2">
|
|
17
|
+
<h2
|
|
18
|
+
class={twMerge(
|
|
19
|
+
'font-semibold flex flex-row items-center gap-1',
|
|
20
|
+
small ? 'text-sm' : 'text-base'
|
|
21
|
+
)}
|
|
22
|
+
>
|
|
23
|
+
{#if collapsable}
|
|
24
|
+
<button class="flex items-center gap-1" on:click={() => (collapsed = !collapsed)}>
|
|
25
|
+
{#if collapsed}
|
|
26
|
+
<ChevronRight size={16} />
|
|
27
|
+
{:else}
|
|
28
|
+
<ChevronDown size={16} />
|
|
29
|
+
{/if}
|
|
30
|
+
{label}
|
|
31
|
+
</button>
|
|
32
|
+
{:else}
|
|
28
33
|
{label}
|
|
29
|
-
|
|
30
|
-
{:else}
|
|
31
|
-
{label}
|
|
32
|
-
{/if}
|
|
34
|
+
{/if}
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{/if}
|
|
38
|
-
{#if eeOnly}
|
|
39
|
-
{#if !$enterpriseLicense}
|
|
40
|
-
<div class="flex text-xs items-center gap-1 text-yellow-500 whitespace-nowrap ml-8">
|
|
41
|
-
<AlertTriangle size={16} />
|
|
42
|
-
EE only <Tooltip>Enterprise Edition only feature</Tooltip>
|
|
43
|
-
</div>
|
|
36
|
+
<slot name="header" />
|
|
37
|
+
{#if tooltip}
|
|
38
|
+
<Tooltip>{tooltip}</Tooltip>
|
|
44
39
|
{/if}
|
|
40
|
+
{#if eeOnly}
|
|
41
|
+
{#if !$enterpriseLicense}
|
|
42
|
+
<div class="flex text-xs items-center gap-1 text-yellow-500 whitespace-nowrap ml-8">
|
|
43
|
+
<AlertTriangle size={16} />
|
|
44
|
+
EE only <Tooltip>Enterprise Edition only feature</Tooltip>
|
|
45
|
+
</div>
|
|
46
|
+
{/if}
|
|
47
|
+
{/if}
|
|
48
|
+
</h2>
|
|
49
|
+
<slot name="action" />
|
|
50
|
+
{#if collapsable && collapsed}
|
|
51
|
+
<slot name="badge" />
|
|
45
52
|
{/if}
|
|
46
|
-
</
|
|
47
|
-
|
|
48
|
-
{#if collapsable && collapsed}
|
|
49
|
-
<slot name="badge" />
|
|
50
|
-
{/if}
|
|
51
|
-
</div>
|
|
53
|
+
</div>
|
|
54
|
+
{/if}
|
|
52
55
|
<div class={collapsable && collapsed ? `hidden ${$$props.class}` : `${$$props.class}`}>
|
|
53
56
|
<slot />
|
|
54
57
|
</div>
|
|
@@ -515,7 +515,7 @@ function allLogsOrQueryResults(allLogs, countsPerHost) {
|
|
|
515
515
|
<div
|
|
516
516
|
class="text-sm pt-2 pl-0.5 whitespace-nowrap"
|
|
517
517
|
title={hn}
|
|
518
|
-
style="width: 90px;">{truncateRev(hn, 8)}</div
|
|
518
|
+
style="width: 90px;">{truncateRev(hn, countsPerHost || loadingLogs ? 40 : 8)}</div
|
|
519
519
|
>
|
|
520
520
|
{#if loadingLogCounts}
|
|
521
521
|
<Loader2 size={15} class="animate-spin" />
|
|
@@ -187,6 +187,8 @@ async function loadMonaco() {
|
|
|
187
187
|
editor = meditor.create(divEl, {
|
|
188
188
|
...editorConfig(code, lang, automaticLayout, fixedOverflowWidgets),
|
|
189
189
|
model,
|
|
190
|
+
lineDecorationsWidth: 6,
|
|
191
|
+
lineNumbersMinChars: 2,
|
|
190
192
|
// overflowWidgetsDomNode: widgets,
|
|
191
193
|
fontSize: small ? 12 : 14
|
|
192
194
|
});
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<script>import { enterpriseLicense } from '../stores';
|
|
2
|
+
import { AlertTriangle, ChevronDown, ChevronRight } from 'lucide-svelte';
|
|
3
|
+
import Tooltip from './Tooltip.svelte';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
export let label = undefined;
|
|
6
|
+
export let tooltip = undefined;
|
|
7
|
+
export let eeOnly = false;
|
|
8
|
+
export let collapsable = false;
|
|
9
|
+
export let collapsed = true;
|
|
10
|
+
export let headless = false;
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div class="w-full">
|
|
14
|
+
{#if !headless}
|
|
15
|
+
<div class="flex flex-row justify-between items-center mb-1">
|
|
16
|
+
<h3 class={twMerge('font-semibold flex flex-row items-center gap-2', 'text-sm')}>
|
|
17
|
+
{#if collapsable}
|
|
18
|
+
<button class="flex items-center gap-1" on:click={() => (collapsed = !collapsed)}>
|
|
19
|
+
{#if collapsed}
|
|
20
|
+
<ChevronRight size={16} />
|
|
21
|
+
{:else}
|
|
22
|
+
<ChevronDown size={16} />
|
|
23
|
+
{/if}
|
|
24
|
+
{label}
|
|
25
|
+
</button>
|
|
26
|
+
{:else}
|
|
27
|
+
{label}
|
|
28
|
+
{/if}
|
|
29
|
+
|
|
30
|
+
<slot name="header" />
|
|
31
|
+
{#if tooltip}
|
|
32
|
+
<Tooltip>{tooltip}</Tooltip>
|
|
33
|
+
{/if}
|
|
34
|
+
{#if eeOnly}
|
|
35
|
+
{#if !$enterpriseLicense}
|
|
36
|
+
<div class="flex text-xs items-center gap-1 text-yellow-500 whitespace-nowrap ml-8">
|
|
37
|
+
<AlertTriangle size={16} />
|
|
38
|
+
EE only <Tooltip>Enterprise Edition only feature</Tooltip>
|
|
39
|
+
</div>
|
|
40
|
+
{/if}
|
|
41
|
+
{/if}
|
|
42
|
+
</h3>
|
|
43
|
+
<slot name="action" />
|
|
44
|
+
{#if collapsable && collapsed}
|
|
45
|
+
<slot name="badge" />
|
|
46
|
+
{/if}
|
|
47
|
+
</div>
|
|
48
|
+
{/if}
|
|
49
|
+
<div class={collapsable && collapsed ? `hidden ${$$props.class}` : `${$$props.class}`}>
|
|
50
|
+
<slot />
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
label?: string | undefined;
|
|
6
|
+
tooltip?: string | undefined;
|
|
7
|
+
eeOnly?: boolean | undefined;
|
|
8
|
+
collapsable?: boolean | undefined;
|
|
9
|
+
collapsed?: boolean | undefined;
|
|
10
|
+
headless?: boolean | undefined;
|
|
11
|
+
};
|
|
12
|
+
events: {
|
|
13
|
+
[evt: string]: CustomEvent<any>;
|
|
14
|
+
};
|
|
15
|
+
slots: {
|
|
16
|
+
header: {};
|
|
17
|
+
action: {};
|
|
18
|
+
badge: {};
|
|
19
|
+
default: {};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export type SubsectionProps = typeof __propDef.props;
|
|
23
|
+
export type SubsectionEvents = typeof __propDef.events;
|
|
24
|
+
export type SubsectionSlots = typeof __propDef.slots;
|
|
25
|
+
export default class Subsection extends SvelteComponent<SubsectionProps, SubsectionEvents, SubsectionSlots> {
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -49,7 +49,7 @@ async function listUsers(activeOnly) {
|
|
|
49
49
|
}
|
|
50
50
|
$: listUsers(activeOnly);
|
|
51
51
|
let tab = 'users';
|
|
52
|
-
$: $instanceSettingsSelectedTab, tab = $instanceSettingsSelectedTab;
|
|
52
|
+
$: $instanceSettingsSelectedTab, (tab = $instanceSettingsSelectedTab);
|
|
53
53
|
$: tab, instanceSettingsSelectedTab.set(tab);
|
|
54
54
|
let nbDisplayed = 50;
|
|
55
55
|
let instanceSettings;
|
|
@@ -122,7 +122,7 @@ async function updateName(name, email) {
|
|
|
122
122
|
</div>
|
|
123
123
|
<div class="pt-4 h-full">
|
|
124
124
|
<Tabs bind:selected={tab}>
|
|
125
|
-
<Tab value="users">
|
|
125
|
+
<Tab value="users">Users</Tab>
|
|
126
126
|
{#each settingsKeys as category}
|
|
127
127
|
<Tab value={category}>{category}</Tab>
|
|
128
128
|
{/each}
|
|
@@ -241,7 +241,7 @@ async function updateName(name, email) {
|
|
|
241
241
|
{/if}
|
|
242
242
|
<td>
|
|
243
243
|
<ToggleButtonGroup
|
|
244
|
-
selected={super_admin ?
|
|
244
|
+
selected={super_admin ? 'super_admin' : devops ? 'devops' : 'user'}
|
|
245
245
|
on:selected={async (e) => {
|
|
246
246
|
if (email == $userStore?.email) {
|
|
247
247
|
sendUserToast('You cannot demote yourself', true)
|
|
@@ -249,9 +249,9 @@ async function updateName(name, email) {
|
|
|
249
249
|
return
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
-
let role = e.detail
|
|
252
|
+
let role = e.detail
|
|
253
253
|
|
|
254
|
-
if (role ===
|
|
254
|
+
if (role === 'super_admin') {
|
|
255
255
|
await UserService.globalUserUpdate({
|
|
256
256
|
email,
|
|
257
257
|
requestBody: {
|
|
@@ -260,7 +260,7 @@ async function updateName(name, email) {
|
|
|
260
260
|
}
|
|
261
261
|
})
|
|
262
262
|
}
|
|
263
|
-
if (role ===
|
|
263
|
+
if (role === 'devops') {
|
|
264
264
|
await UserService.globalUserUpdate({
|
|
265
265
|
email,
|
|
266
266
|
requestBody: {
|
|
@@ -268,9 +268,8 @@ async function updateName(name, email) {
|
|
|
268
268
|
is_devops: true
|
|
269
269
|
}
|
|
270
270
|
})
|
|
271
|
-
|
|
272
271
|
}
|
|
273
|
-
if (role ===
|
|
272
|
+
if (role === 'user') {
|
|
274
273
|
await UserService.globalUserUpdate({
|
|
275
274
|
email,
|
|
276
275
|
requestBody: {
|
|
@@ -283,15 +282,20 @@ async function updateName(name, email) {
|
|
|
283
282
|
listUsers(activeOnly)
|
|
284
283
|
}}
|
|
285
284
|
>
|
|
286
|
-
<ToggleButton value={
|
|
287
|
-
<ToggleButton
|
|
288
|
-
|
|
285
|
+
<ToggleButton value={'user'} size="xs" label="User" />
|
|
286
|
+
<ToggleButton
|
|
287
|
+
value={'devops'}
|
|
288
|
+
size="xs"
|
|
289
|
+
label="Devops"
|
|
290
|
+
tooltip="Devops is a role that grants visibilty similar to that of a super admin, but without giving all rights. For example devops users can see service logs and crtical alerts. You can think of it as a 'readonly' super admin"
|
|
291
|
+
/>
|
|
292
|
+
<ToggleButton value={'super_admin'} size="xs" label="Superadmin" />
|
|
289
293
|
</ToggleButtonGroup>
|
|
290
294
|
</td>
|
|
291
295
|
<td>
|
|
292
296
|
<div class="flex flex-row gap-x-1 justify-end">
|
|
293
297
|
<InstanceNameEditor
|
|
294
|
-
|
|
298
|
+
{login_type}
|
|
295
299
|
value={name}
|
|
296
300
|
{username}
|
|
297
301
|
{email}
|
|
@@ -340,7 +344,13 @@ async function updateName(name, email) {
|
|
|
340
344
|
</div>
|
|
341
345
|
</TabContent>
|
|
342
346
|
<TabContent value="" values={settingsKeys}>
|
|
343
|
-
<InstanceSettings
|
|
347
|
+
<InstanceSettings
|
|
348
|
+
bind:this={instanceSettings}
|
|
349
|
+
hideTabs
|
|
350
|
+
hideSave
|
|
351
|
+
{tab}
|
|
352
|
+
{closeDrawer}
|
|
353
|
+
/>
|
|
344
354
|
</TabContent>
|
|
345
355
|
</svelte:fragment>
|
|
346
356
|
</Tabs>
|