windmill-components 1.434.1 → 1.444.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/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
|
@@ -10,11 +10,11 @@ import TestJobLoader from '../../TestJobLoader.svelte';
|
|
|
10
10
|
import Toggle from '../../Toggle.svelte';
|
|
11
11
|
import { AppService, DraftService } from '../../../gen';
|
|
12
12
|
import { redo, undo } from '../../../history';
|
|
13
|
-
import { enterpriseLicense, workspaceStore } from '../../../stores';
|
|
14
|
-
import { AlignHorizontalSpaceAround, BellOff, Bug,
|
|
13
|
+
import { enterpriseLicense, userStore, workspaceStore } from '../../../stores';
|
|
14
|
+
import { AlignHorizontalSpaceAround, BellOff, Bug, DiffIcon, Expand, FileJson, FileUp, FormInput, History, Laptop2, Loader2, MoreVertical, RefreshCw, Save, Smartphone, FileClock, Sun, Moon, SunMoon } from 'lucide-svelte';
|
|
15
15
|
import { createEventDispatcher, getContext } from 'svelte';
|
|
16
16
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
17
|
-
import { classNames, cleanValueProperties,
|
|
17
|
+
import { classNames, cleanValueProperties, truncateRev, orderedJsonStringify, replaceFalseWithUndefined, isFlowPreview } from '../../../utils';
|
|
18
18
|
import { BG_PREFIX, allItems, toStatic } from '../utils';
|
|
19
19
|
import AppExportButton from './AppExportButton.svelte';
|
|
20
20
|
import AppInputs from './AppInputs.svelte';
|
|
@@ -22,7 +22,7 @@ import PanelSection from './settingsPanel/common/PanelSection.svelte';
|
|
|
22
22
|
import PreviewToggle from './PreviewToggle.svelte';
|
|
23
23
|
import ToggleButtonGroup from '../../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
24
24
|
import ToggleButton from '../../common/toggleButton-v2/ToggleButton.svelte';
|
|
25
|
-
//
|
|
25
|
+
// import UnsavedConfirmationModal from '../../common/confirmationModal/UnsavedConfirmationModal.svelte'
|
|
26
26
|
import Tooltip from '../../Tooltip.svelte';
|
|
27
27
|
import { Sha256 } from '@aws-crypto/sha256-js';
|
|
28
28
|
import { sendUserToast } from '../../../toast';
|
|
@@ -48,6 +48,9 @@ import ToggleEnable from '../../common/toggleButton-v2/ToggleEnable.svelte';
|
|
|
48
48
|
import HideButton from './settingsPanel/HideButton.svelte';
|
|
49
49
|
import DeployOverrideConfirmationModal from '../../common/confirmationModal/DeployOverrideConfirmationModal.svelte';
|
|
50
50
|
import { computeS3FileInputPolicy, computeWorkspaceS3FileInputPolicy } from './appUtilsS3';
|
|
51
|
+
import { isCloudHosted } from '../../../cloud';
|
|
52
|
+
import { base } from '../../../base';
|
|
53
|
+
import ClipboardPanel from '../../details/ClipboardPanel.svelte';
|
|
51
54
|
async function hash(message) {
|
|
52
55
|
try {
|
|
53
56
|
const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array
|
|
@@ -260,14 +263,16 @@ async function createApp(path) {
|
|
|
260
263
|
path,
|
|
261
264
|
summary: $summary,
|
|
262
265
|
policy,
|
|
263
|
-
deployment_message: deploymentMsg
|
|
266
|
+
deployment_message: deploymentMsg,
|
|
267
|
+
custom_path: customPath
|
|
264
268
|
}
|
|
265
269
|
});
|
|
266
270
|
savedApp = {
|
|
267
271
|
summary: $summary,
|
|
268
272
|
value: structuredClone($app),
|
|
269
273
|
path: path,
|
|
270
|
-
policy: policy
|
|
274
|
+
policy: policy,
|
|
275
|
+
custom_path: customPath
|
|
271
276
|
};
|
|
272
277
|
closeSaveDrawer();
|
|
273
278
|
sendUserToast('App deployed successfully');
|
|
@@ -303,7 +308,8 @@ async function handleUpdateApp(npath) {
|
|
|
303
308
|
summary: $summary,
|
|
304
309
|
value: $app,
|
|
305
310
|
path: newEditedPath || savedApp.draft?.path || savedApp.path,
|
|
306
|
-
policy
|
|
311
|
+
policy,
|
|
312
|
+
custom_path: customPath
|
|
307
313
|
}))) {
|
|
308
314
|
await updateApp(npath);
|
|
309
315
|
}
|
|
@@ -344,14 +350,18 @@ async function updateApp(npath) {
|
|
|
344
350
|
summary: $summary,
|
|
345
351
|
policy,
|
|
346
352
|
path: npath,
|
|
347
|
-
deployment_message: deploymentMsg
|
|
353
|
+
deployment_message: deploymentMsg,
|
|
354
|
+
// custom_path requires admin so to accept update without it, we need to send as undefined when non-admin (when undefined, it will be ignored)
|
|
355
|
+
// it also means that customPath needs to be set to '' instead of undefined to unset it (when admin)
|
|
356
|
+
custom_path: $userStore?.is_admin || $userStore?.is_super_admin ? customPath ?? '' : undefined
|
|
348
357
|
}
|
|
349
358
|
});
|
|
350
359
|
savedApp = {
|
|
351
360
|
summary: $summary,
|
|
352
361
|
value: structuredClone($app),
|
|
353
362
|
path: npath,
|
|
354
|
-
policy
|
|
363
|
+
policy,
|
|
364
|
+
custom_path: customPath
|
|
355
365
|
};
|
|
356
366
|
const appHistory = await AppService.getAppHistoryByPath({
|
|
357
367
|
workspace: $workspaceStore,
|
|
@@ -408,7 +418,8 @@ async function saveInitialDraft() {
|
|
|
408
418
|
path: newEditedPath,
|
|
409
419
|
summary: $summary,
|
|
410
420
|
policy,
|
|
411
|
-
draft_only: true
|
|
421
|
+
draft_only: true,
|
|
422
|
+
custom_path: customPath
|
|
412
423
|
}
|
|
413
424
|
});
|
|
414
425
|
await DraftService.createDraft({
|
|
@@ -420,7 +431,8 @@ async function saveInitialDraft() {
|
|
|
420
431
|
value: $app,
|
|
421
432
|
path: newEditedPath,
|
|
422
433
|
summary: $summary,
|
|
423
|
-
policy
|
|
434
|
+
policy,
|
|
435
|
+
custom_path: customPath
|
|
424
436
|
}
|
|
425
437
|
}
|
|
426
438
|
});
|
|
@@ -434,8 +446,10 @@ async function saveInitialDraft() {
|
|
|
434
446
|
summary: $summary,
|
|
435
447
|
value: structuredClone($app),
|
|
436
448
|
path: newEditedPath,
|
|
437
|
-
policy
|
|
438
|
-
|
|
449
|
+
policy,
|
|
450
|
+
custom_path: customPath
|
|
451
|
+
},
|
|
452
|
+
custom_path: customPath
|
|
439
453
|
};
|
|
440
454
|
draftDrawerOpen = false;
|
|
441
455
|
dispatch('savedNewAppPath', newEditedPath);
|
|
@@ -488,7 +502,8 @@ async function saveDraft(forceSave = false) {
|
|
|
488
502
|
summary: $summary,
|
|
489
503
|
policy,
|
|
490
504
|
path: newEditedPath || path,
|
|
491
|
-
draft_only: true
|
|
505
|
+
draft_only: true,
|
|
506
|
+
custom_path: customPath
|
|
492
507
|
}
|
|
493
508
|
});
|
|
494
509
|
}
|
|
@@ -512,14 +527,16 @@ async function saveDraft(forceSave = false) {
|
|
|
512
527
|
value: structuredClone($app),
|
|
513
528
|
path: savedApp.draft_only ? newEditedPath || path : path,
|
|
514
529
|
policy,
|
|
515
|
-
draft_only: true
|
|
530
|
+
draft_only: true,
|
|
531
|
+
custom_path: customPath
|
|
516
532
|
}
|
|
517
533
|
: savedApp),
|
|
518
534
|
draft: {
|
|
519
535
|
summary: $summary,
|
|
520
536
|
value: structuredClone($app),
|
|
521
537
|
path: newEditedPath || path,
|
|
522
|
-
policy
|
|
538
|
+
policy,
|
|
539
|
+
custom_path: customPath
|
|
523
540
|
}
|
|
524
541
|
};
|
|
525
542
|
sendUserToast('Draft saved');
|
|
@@ -620,7 +637,7 @@ let dirtyPath = false;
|
|
|
620
637
|
let path = undefined;
|
|
621
638
|
let moreItems = [
|
|
622
639
|
{
|
|
623
|
-
displayName: 'Deployment
|
|
640
|
+
displayName: 'Deployment history',
|
|
624
641
|
icon: History,
|
|
625
642
|
action: () => {
|
|
626
643
|
historyBrowserDrawerOpen = true;
|
|
@@ -650,14 +667,14 @@ let moreItems = [
|
|
|
650
667
|
}
|
|
651
668
|
},
|
|
652
669
|
{
|
|
653
|
-
displayName: 'App
|
|
670
|
+
displayName: 'App inputs',
|
|
654
671
|
icon: FormInput,
|
|
655
672
|
action: () => {
|
|
656
673
|
inputsDrawerOpen = true;
|
|
657
674
|
}
|
|
658
675
|
},
|
|
659
676
|
{
|
|
660
|
-
displayName: 'Schedule
|
|
677
|
+
displayName: 'Schedule reports',
|
|
661
678
|
icon: FileClock,
|
|
662
679
|
action: () => {
|
|
663
680
|
appReportingDrawerOpen = true;
|
|
@@ -682,7 +699,8 @@ let moreItems = [
|
|
|
682
699
|
summary: $summary,
|
|
683
700
|
value: $app,
|
|
684
701
|
path: newEditedPath || savedApp.draft?.path || savedApp.path,
|
|
685
|
-
policy
|
|
702
|
+
policy,
|
|
703
|
+
custom_path: customPath
|
|
686
704
|
}
|
|
687
705
|
});
|
|
688
706
|
},
|
|
@@ -721,24 +739,55 @@ function setTheme(newDarkMode) {
|
|
|
721
739
|
}
|
|
722
740
|
let priorDarkMode = document.documentElement.classList.contains('dark');
|
|
723
741
|
setTheme($app?.darkMode);
|
|
742
|
+
let customPath = savedApp?.custom_path;
|
|
743
|
+
let dirtyCustomPath = false;
|
|
744
|
+
let customPathError = '';
|
|
745
|
+
$: fullCustomUrl = `${window.location.origin}${base}/a/${isCloudHosted() ? $workspaceStore + '/' : ''}${customPath}`;
|
|
746
|
+
async function appExists(customPath) {
|
|
747
|
+
return await AppService.customPathExists({
|
|
748
|
+
workspace: $workspaceStore,
|
|
749
|
+
customPath
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
let validateTimeout = undefined;
|
|
753
|
+
async function validateCustomPath(customPath) {
|
|
754
|
+
customPathError = '';
|
|
755
|
+
if (validateTimeout) {
|
|
756
|
+
clearTimeout(validateTimeout);
|
|
757
|
+
}
|
|
758
|
+
validateTimeout = setTimeout(async () => {
|
|
759
|
+
if (!/^[\w-]+(\/[\w-]+)*$/.test(customPath)) {
|
|
760
|
+
customPathError = 'Invalid path';
|
|
761
|
+
}
|
|
762
|
+
else if (customPath !== savedApp?.custom_path && (await appExists(customPath))) {
|
|
763
|
+
customPathError = 'Path already taken';
|
|
764
|
+
}
|
|
765
|
+
else {
|
|
766
|
+
customPathError = '';
|
|
767
|
+
}
|
|
768
|
+
validateTimeout = undefined;
|
|
769
|
+
}, 500);
|
|
770
|
+
}
|
|
771
|
+
$: customPath !== undefined && validateCustomPath(customPath);
|
|
724
772
|
</script>
|
|
725
773
|
|
|
726
774
|
<svelte:window on:keydown={onKeyDown} />
|
|
727
775
|
|
|
728
776
|
<TestJobLoader bind:this={testJobLoader} bind:isLoading={testIsLoading} bind:job />
|
|
729
|
-
<!-- <UnsavedConfirmationModal
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
777
|
+
<!-- <UnsavedConfirmationModal -->
|
|
778
|
+
<!-- {diffDrawer} -->
|
|
779
|
+
<!-- savedValue={savedApp} -->
|
|
780
|
+
<!-- modifiedValue={{ -->
|
|
781
|
+
<!-- summary: $summary, -->
|
|
782
|
+
<!-- value: $app, -->
|
|
783
|
+
<!-- path: newEditedPath || savedApp?.draft?.path || savedApp?.path, -->
|
|
784
|
+
<!-- policy, -->
|
|
785
|
+
<!-- custom_path: customPath -->
|
|
786
|
+
<!-- }} -->
|
|
787
|
+
<!-- additionalExitAction={() => { -->
|
|
788
|
+
<!-- setTheme(priorDarkMode) -->
|
|
789
|
+
<!-- }} -->
|
|
790
|
+
<!-- /> -->
|
|
742
791
|
|
|
743
792
|
<DeployOverrideConfirmationModal
|
|
744
793
|
bind:deployedBy
|
|
@@ -750,7 +799,8 @@ setTheme($app?.darkMode);
|
|
|
750
799
|
summary: $summary,
|
|
751
800
|
value: $app,
|
|
752
801
|
path: newEditedPath || savedApp?.draft?.path || savedApp?.path,
|
|
753
|
-
policy
|
|
802
|
+
policy,
|
|
803
|
+
custom_path: customPath
|
|
754
804
|
}}
|
|
755
805
|
/>
|
|
756
806
|
|
|
@@ -885,7 +935,8 @@ setTheme($app?.darkMode);
|
|
|
885
935
|
summary: $summary,
|
|
886
936
|
value: $app,
|
|
887
937
|
path: newEditedPath || savedApp.draft?.path || savedApp.path,
|
|
888
|
-
policy
|
|
938
|
+
policy,
|
|
939
|
+
custom_path: customPath
|
|
889
940
|
},
|
|
890
941
|
button: {
|
|
891
942
|
text: 'Looks good, deploy',
|
|
@@ -907,7 +958,7 @@ setTheme($app?.darkMode);
|
|
|
907
958
|
</Button>
|
|
908
959
|
<Button
|
|
909
960
|
startIcon={{ icon: Save }}
|
|
910
|
-
disabled={pathError != ''}
|
|
961
|
+
disabled={pathError != '' || customPathError != ''}
|
|
911
962
|
on:click={() => {
|
|
912
963
|
if ($appPath == '') {
|
|
913
964
|
createApp(newEditedPath)
|
|
@@ -957,29 +1008,68 @@ setTheme($app?.darkMode);
|
|
|
957
1008
|
</div>
|
|
958
1009
|
|
|
959
1010
|
<div class="my-6 box">
|
|
960
|
-
|
|
1011
|
+
<div class="text-secondary">
|
|
1012
|
+
<div>Public URL</div>
|
|
1013
|
+
</div>
|
|
961
1014
|
{#if secretUrl}
|
|
962
|
-
{@const
|
|
963
|
-
{
|
|
964
|
-
<a
|
|
965
|
-
on:click={(e) => {
|
|
966
|
-
e.preventDefault()
|
|
967
|
-
copyToClipboard(href)
|
|
968
|
-
}}
|
|
969
|
-
{href}
|
|
970
|
-
class="whitespace-nowrap text-ellipsis overflow-hidden mr-1 inline-flex gap-2"
|
|
971
|
-
>
|
|
972
|
-
{url}
|
|
973
|
-
<span class="text-gray-700 ml-2">
|
|
974
|
-
<Clipboard />
|
|
975
|
-
</span>
|
|
976
|
-
</a>
|
|
1015
|
+
{@const href = `${window.location.origin}${base}/public/${$workspaceStore}/${secretUrl}`}
|
|
1016
|
+
<ClipboardPanel content={href} size="md" />
|
|
977
1017
|
{:else}<Loader2 class="animate-spin" />
|
|
978
1018
|
{/if}
|
|
979
|
-
<div class="text-xs text-secondary"
|
|
980
|
-
|
|
981
|
-
of embedding app must be the same as the one of Windmill)
|
|
982
|
-
>
|
|
1019
|
+
<div class="text-xs text-secondary mt-1">
|
|
1020
|
+
Share this url directly or embed it using an iframe (if requiring login, top-level domain
|
|
1021
|
+
of embedding app must be the same as the one of Windmill)
|
|
1022
|
+
</div>
|
|
1023
|
+
|
|
1024
|
+
<div class="mt-4">
|
|
1025
|
+
{#if !$enterpriseLicense}
|
|
1026
|
+
<Alert title="EE Only" type="warning" size="xs">
|
|
1027
|
+
Custom path is an enterprise only feature.
|
|
1028
|
+
</Alert>
|
|
1029
|
+
<div class="mb-2" />
|
|
1030
|
+
{:else if !($userStore?.is_admin || $userStore?.is_super_admin)}
|
|
1031
|
+
<Alert type="warning" title="Admin only" size="xs">
|
|
1032
|
+
Custom path can only be set by workspace admins
|
|
1033
|
+
</Alert>
|
|
1034
|
+
<div class="mb-2" />
|
|
1035
|
+
{/if}
|
|
1036
|
+
<Toggle
|
|
1037
|
+
on:change={({ detail }) => {
|
|
1038
|
+
customPath = detail ? '' : undefined
|
|
1039
|
+
}}
|
|
1040
|
+
checked={customPath !== undefined}
|
|
1041
|
+
options={{
|
|
1042
|
+
right: 'Use a custom URL'
|
|
1043
|
+
}}
|
|
1044
|
+
disabled={!$enterpriseLicense || !($userStore?.is_admin || $userStore?.is_super_admin)}
|
|
1045
|
+
/>
|
|
1046
|
+
|
|
1047
|
+
{#if customPath !== undefined}
|
|
1048
|
+
<div class="text-secondary text-sm flex items-center gap-1 w-full justify-between">
|
|
1049
|
+
<div>Custom path</div>
|
|
1050
|
+
</div>
|
|
1051
|
+
<input
|
|
1052
|
+
disabled={!($userStore?.is_admin || $userStore?.is_super_admin)}
|
|
1053
|
+
type="text"
|
|
1054
|
+
autocomplete="off"
|
|
1055
|
+
bind:value={customPath}
|
|
1056
|
+
class={customPathError === ''
|
|
1057
|
+
? ''
|
|
1058
|
+
: 'border border-red-700 bg-red-100 border-opacity-30 focus:border-red-700 focus:border-opacity-30 focus-visible:ring-red-700 focus-visible:ring-opacity-25 focus-visible:border-red-700'}
|
|
1059
|
+
on:input={() => {
|
|
1060
|
+
dirtyCustomPath = true
|
|
1061
|
+
}}
|
|
1062
|
+
/>
|
|
1063
|
+
<div class="text-secondary text-sm flex items-center gap-1 mt-2 w-full justify-between">
|
|
1064
|
+
<div>Custom public URL</div>
|
|
1065
|
+
</div>
|
|
1066
|
+
<ClipboardPanel content={fullCustomUrl} size="md" />
|
|
1067
|
+
|
|
1068
|
+
<div class="text-red-600 dark:text-red-400 text-2xs mt-1.5"
|
|
1069
|
+
>{dirtyCustomPath ? customPathError : ''}
|
|
1070
|
+
</div>
|
|
1071
|
+
{/if}
|
|
1072
|
+
</div>
|
|
983
1073
|
</div>
|
|
984
1074
|
<Alert type="info" title="Only latest deployed app is publicly available">
|
|
985
1075
|
You will still need to deploy the app to make visible the latest changes
|
|
@@ -1149,7 +1239,7 @@ setTheme($app?.darkMode);
|
|
|
1149
1239
|
</div>
|
|
1150
1240
|
{/if}
|
|
1151
1241
|
|
|
1152
|
-
{#if job?.job_kind !== 'flow' && job?.job_kind
|
|
1242
|
+
{#if job?.job_kind !== 'flow' && !isFlowPreview(job?.job_kind)}
|
|
1153
1243
|
{@const jobResult = $jobsById[selectedJobId]}
|
|
1154
1244
|
<Splitpanes horizontal class="grow border w-full">
|
|
1155
1245
|
<Pane size={50} minSize={10}>
|
|
@@ -1208,7 +1298,7 @@ setTheme($app?.darkMode);
|
|
|
1208
1298
|
<FlowProgressBar {job} class="py-4" />
|
|
1209
1299
|
<div class="w-full mt-10 mb-20">
|
|
1210
1300
|
<FlowStatusViewer
|
|
1211
|
-
jobId={job
|
|
1301
|
+
jobId={job?.id ?? ''}
|
|
1212
1302
|
on:jobsLoaded={({ detail }) => {
|
|
1213
1303
|
job = detail
|
|
1214
1304
|
}}
|
|
@@ -113,7 +113,7 @@ loadVersions();
|
|
|
113
113
|
color="blue"
|
|
114
114
|
buttonType="button"
|
|
115
115
|
btnClasses="!p-1 !w-[34px] !ml-1"
|
|
116
|
-
aria-label="Save
|
|
116
|
+
aria-label="Save deployment message"
|
|
117
117
|
on:click={() => {
|
|
118
118
|
updateDeploymentMsg(selected?.id, selectedVersion?.version)
|
|
119
119
|
}}
|
|
@@ -5,10 +5,11 @@ export let float = true;
|
|
|
5
5
|
export let hidden = false;
|
|
6
6
|
export let testJob = undefined;
|
|
7
7
|
export let jobToWatch = undefined;
|
|
8
|
+
export let width = undefined;
|
|
8
9
|
const { runnableJobEditorPanel, selectedComponentInEditor } = getContext('AppEditorContext');
|
|
9
10
|
let testIsLoading = false;
|
|
10
11
|
let testJobLoader;
|
|
11
|
-
$: $runnableJobEditorPanel.focused &&
|
|
12
|
+
$: ($runnableJobEditorPanel.focused || !float) &&
|
|
12
13
|
$selectedComponentInEditor &&
|
|
13
14
|
$runnableJobEditorPanel.jobs &&
|
|
14
15
|
updateSelectedJob();
|
|
@@ -49,7 +50,10 @@ let resultDrawerOpen = false;
|
|
|
49
50
|
<RunnableJobPanelInner {testIsLoading} {frontendJob} {testJob} />
|
|
50
51
|
</div>
|
|
51
52
|
{:else}
|
|
52
|
-
<div
|
|
53
|
+
<div
|
|
54
|
+
class="flex flex-col min-w-0 grow h-full"
|
|
55
|
+
style={width !== undefined ? `width:${width}px;` : ''}
|
|
56
|
+
>
|
|
53
57
|
{#if $selectedComponentInEditor}
|
|
54
58
|
<RunnableJobPanelInner {testIsLoading} {frontendJob} {testJob} />
|
|
55
59
|
{:else if !hidden}
|
|
@@ -107,4 +107,5 @@ export type GridShadow = {
|
|
|
107
107
|
h: number;
|
|
108
108
|
};
|
|
109
109
|
export declare function areShadowsTheSame(shadow1: GridShadow | undefined, shadow2: GridShadow | undefined): boolean;
|
|
110
|
+
export declare function animateTo(start: number, end: number, onUpdate: (newValue: number) => void): void;
|
|
110
111
|
export {};
|
|
@@ -887,3 +887,20 @@ export function areShadowsTheSame(shadow1, shadow2) {
|
|
|
887
887
|
shadow1.w === shadow2.w &&
|
|
888
888
|
shadow1.h === shadow2.h);
|
|
889
889
|
}
|
|
890
|
+
export function animateTo(start, end, onUpdate) {
|
|
891
|
+
const duration = 400;
|
|
892
|
+
const startTime = performance.now();
|
|
893
|
+
function animate(time) {
|
|
894
|
+
const elapsed = time - startTime;
|
|
895
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
896
|
+
const currentValue = start + (end - start) * easeInOut(progress);
|
|
897
|
+
onUpdate(currentValue);
|
|
898
|
+
if (progress < 1) {
|
|
899
|
+
requestAnimationFrame(animate);
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
requestAnimationFrame(animate);
|
|
903
|
+
}
|
|
904
|
+
function easeInOut(t) {
|
|
905
|
+
return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
|
|
906
|
+
}
|