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.
Files changed (285) hide show
  1. package/package/components/ArgInput.svelte +12 -16
  2. package/package/components/ArgInput.svelte.d.ts +1 -0
  3. package/package/components/AssignableTags.svelte +3 -1
  4. package/package/components/AssignableTags.svelte.d.ts +1 -0
  5. package/package/components/AuthSettings.svelte +248 -0
  6. package/package/components/AuthSettings.svelte.d.ts +19 -0
  7. package/package/components/AutoscalingConfigEditor.svelte +2 -2
  8. package/package/components/CronInput.svelte +2 -2
  9. package/package/components/DeployWorkspace.svelte +1 -1
  10. package/package/components/Description.svelte +9 -0
  11. package/package/components/Description.svelte.d.ts +18 -0
  12. package/package/components/Dev.svelte +18 -3
  13. package/package/components/DisplayResult.svelte +7 -4
  14. package/package/components/DisplayResult.svelte.d.ts +1 -0
  15. package/package/components/DropdownV2.svelte +2 -1
  16. package/package/components/DropdownV2.svelte.d.ts +1 -0
  17. package/package/components/EditableSchemaForm.svelte +2 -2
  18. package/package/components/Editor.svelte +9 -6
  19. package/package/components/Editor.svelte.d.ts +4 -2
  20. package/package/components/EditorBar.svelte +51 -6
  21. package/package/components/ErrorOrRecoveryHandler.svelte +4 -3
  22. package/package/components/ExecutionDuration.svelte +2 -1
  23. package/package/components/FieldHeader.svelte +9 -1
  24. package/package/components/FieldHeader.svelte.d.ts +1 -0
  25. package/package/components/FlowBuilder.svelte +16 -3
  26. package/package/components/FlowGraphViewer.svelte +2 -0
  27. package/package/components/FlowPreviewContent.svelte +6 -15
  28. package/package/components/FlowStatusViewerInner.svelte +14 -10
  29. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -0
  30. package/package/components/HighlightCode.svelte +3 -0
  31. package/package/components/InputTransformSchemaForm.svelte +1 -1
  32. package/package/components/InstanceSetting.svelte +774 -0
  33. package/package/components/InstanceSetting.svelte.d.ts +27 -0
  34. package/package/components/InstanceSettings.svelte +68 -1005
  35. package/package/components/InstanceSettings.svelte.d.ts +0 -4
  36. package/package/components/Label.svelte +16 -6
  37. package/package/components/Label.svelte.d.ts +3 -0
  38. package/package/components/Login.svelte +17 -9
  39. package/package/components/OAuthSetting.svelte +4 -3
  40. package/package/components/OauthExtraParams.svelte +1 -1
  41. package/package/components/OauthScopes.svelte +2 -2
  42. package/package/components/ObjectStoreConfigSettings.svelte +141 -128
  43. package/package/components/QueueMetricsDrawer.svelte +5 -5
  44. package/package/components/ResourceEditor.svelte +4 -0
  45. package/package/components/ResourceEditor.svelte.d.ts +1 -0
  46. package/package/components/ResourceEditorDrawer.svelte +15 -3
  47. package/package/components/ResourceEditorDrawer.svelte.d.ts +2 -2
  48. package/package/components/ResourcePicker.svelte +16 -5
  49. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  50. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  51. package/package/components/RunPageSchedules.svelte +15 -10
  52. package/package/components/SavedInputs.svelte +1 -1
  53. package/package/components/ScheduleEditorInner.svelte +58 -27
  54. package/package/components/SchemaForm.svelte +7 -5
  55. package/package/components/SchemaForm.svelte.d.ts +1 -0
  56. package/package/components/ScriptBuilder.svelte +58 -5
  57. package/package/components/ScriptEditor.svelte +78 -40
  58. package/package/components/ScriptEditor.svelte.d.ts +17 -2
  59. package/package/components/ScriptPicker.svelte +41 -34
  60. package/package/components/ScriptPicker.svelte.d.ts +1 -0
  61. package/package/components/ScriptVersionHistory.svelte +1 -1
  62. package/package/components/Section.svelte +38 -35
  63. package/package/components/Section.svelte.d.ts +2 -0
  64. package/package/components/ServiceLogsInner.svelte +1 -1
  65. package/package/components/SimpleEditor.svelte +2 -0
  66. package/package/components/Subsection.svelte +52 -0
  67. package/package/components/Subsection.svelte.d.ts +27 -0
  68. package/package/components/SuperadminSettings.svelte +23 -13
  69. package/package/components/TemplateEditor.svelte +4 -3
  70. package/package/components/TestConnection.svelte +5 -0
  71. package/package/components/TestJobLoader.svelte +2 -1
  72. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  73. package/package/components/Toggle.svelte +2 -4
  74. package/package/components/UserSettings.svelte +1 -1
  75. package/package/components/WorkerGroup.svelte +4 -4
  76. package/package/components/WorkerTagPicker.svelte +4 -2
  77. package/package/components/WorkerTagPicker.svelte.d.ts +1 -0
  78. package/package/components/WorkerTagSelect.svelte +2 -0
  79. package/package/components/WorkerTagSelect.svelte.d.ts +1 -0
  80. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
  81. package/package/components/apps/components/display/dbtable/utils.js +26 -1
  82. package/package/components/apps/components/helpers/RunnableComponent.svelte +8 -2
  83. package/package/components/apps/components/inputs/AppDateInput.svelte +7 -1
  84. package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -1
  85. package/package/components/apps/editor/AppEditor.svelte +5 -34
  86. package/package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
  87. package/package/components/apps/editor/AppEditorBottomPanel.svelte +4 -7
  88. package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +1 -3
  89. package/package/components/apps/editor/AppEditorHeader.svelte +148 -58
  90. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
  91. package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
  92. package/package/components/apps/editor/RunnableJobPanel.svelte +6 -2
  93. package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +1 -0
  94. package/package/components/apps/editor/appUtils.d.ts +1 -0
  95. package/package/components/apps/editor/appUtils.js +17 -0
  96. package/package/components/apps/editor/component/components.d.ts +82 -81
  97. package/package/components/apps/editor/component/components.js +4 -3
  98. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +1 -1
  99. package/package/components/apps/editor/componentsPanel/GroupList.svelte +12 -2
  100. package/package/components/apps/editor/contextPanel/ContextPanel.svelte +1 -1
  101. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
  102. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -56
  103. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +1 -1
  104. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +3 -2
  105. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
  106. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +16 -9
  107. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +1 -0
  108. package/package/components/apps/inputType.d.ts +2 -2
  109. package/package/components/apps/types.d.ts +2 -0
  110. package/package/components/common/alert/ConnectionIndicator.svelte +30 -0
  111. package/package/components/common/alert/ConnectionIndicator.svelte.d.ts +20 -0
  112. package/package/components/common/alert/Notification.svelte +15 -0
  113. package/package/components/common/alert/Notification.svelte.d.ts +17 -0
  114. package/package/components/common/button/AnimatedButton.svelte +1 -1
  115. package/package/components/common/button/RefreshButton.svelte +30 -0
  116. package/package/components/common/button/RefreshButton.svelte.d.ts +18 -0
  117. package/package/components/common/fileDownload/FileDownload.svelte +4 -3
  118. package/package/components/common/fileDownload/FileDownload.svelte.d.ts +1 -0
  119. package/package/components/common/fileUpload/FileUpload.svelte +3 -3
  120. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  121. package/package/components/common/layout/List.svelte +35 -0
  122. package/package/components/common/layout/List.svelte.d.ts +21 -0
  123. package/package/components/common/layout/ListElement.svelte +3 -0
  124. package/package/components/common/layout/ListElement.svelte.d.ts +27 -0
  125. package/package/components/common/menu/MenuV2.svelte +3 -2
  126. package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
  127. package/package/components/common/modal/Modal.svelte +6 -4
  128. package/package/components/common/modal/Modal.svelte.d.ts +1 -0
  129. package/package/components/common/modal/Modal2.svelte +101 -0
  130. package/package/components/common/modal/Modal2.svelte.d.ts +28 -0
  131. package/package/components/common/popup/Popup.svelte +5 -1
  132. package/package/components/common/popup/Popup.svelte.d.ts +2 -0
  133. package/package/components/common/toggleButton-v2/ToggleButton.svelte +1 -1
  134. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  135. package/package/components/details/ClipboardPanel.svelte +12 -2
  136. package/package/components/details/ClipboardPanel.svelte.d.ts +2 -0
  137. package/package/components/details/CopyableCodeBlock.svelte +24 -0
  138. package/package/components/details/CopyableCodeBlock.svelte.d.ts +19 -0
  139. package/package/components/details/DetailPageLayout.svelte +3 -1
  140. package/package/components/details/EmailTriggerConfigSection.svelte +119 -0
  141. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +38 -0
  142. package/package/components/details/EmailTriggerPanel.svelte +27 -74
  143. package/package/components/details/EmailTriggerPanel.svelte.d.ts +7 -1
  144. package/package/components/flows/FlowEditor.svelte +1 -1
  145. package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
  146. package/package/components/flows/FlowHistoryInner.svelte +1 -1
  147. package/package/components/flows/content/BranchPredicateEditor.svelte +1 -1
  148. package/package/components/flows/content/FlowEditorPanel.svelte +30 -1
  149. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -0
  150. package/package/components/flows/content/FlowInput.svelte +2 -15
  151. package/package/components/flows/content/FlowInputs.svelte +1 -1
  152. package/package/components/flows/content/FlowInputsQuick.svelte +2 -2
  153. package/package/components/flows/content/FlowModuleComponent.svelte +9 -5
  154. package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
  155. package/package/components/flows/content/FlowModuleHeader.svelte +4 -1
  156. package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
  157. package/package/components/flows/content/FlowPathViewer.svelte +3 -1
  158. package/package/components/flows/content/FlowRetries.svelte +32 -5
  159. package/package/components/flows/content/FlowSettings.svelte +56 -48
  160. package/package/components/flows/flowStateUtils.d.ts +10 -1
  161. package/package/components/flows/flowStateUtils.js +23 -0
  162. package/package/components/flows/map/FlowModuleSchemaMap.svelte +9 -19
  163. package/package/components/flows/map/InsertModuleButton.svelte +3 -3
  164. package/package/components/flows/map/VirtualItem.svelte +29 -1
  165. package/package/components/flows/map/VirtualItem.svelte.d.ts +2 -0
  166. package/package/components/flows/pickers/TopLevelNode.svelte +2 -2
  167. package/package/components/flows/previousResults.js +8 -2
  168. package/package/components/flows/types.d.ts +1 -0
  169. package/package/components/graph/FlowGraphV2.svelte +5 -1
  170. package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
  171. package/package/components/graph/renderers/nodes/InputNode.svelte +2 -0
  172. package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +2 -0
  173. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
  174. package/package/components/icons/CSharpIcon.svelte +14 -0
  175. package/package/components/icons/CSharpIcon.svelte.d.ts +25 -0
  176. package/package/components/icons/GitIcon.svelte +5 -2
  177. package/package/components/icons/XeroIcon.svelte +24 -0
  178. package/package/components/icons/XeroIcon.svelte.d.ts +17 -0
  179. package/package/components/icons/index.d.ts +3 -1
  180. package/package/components/icons/index.js +4 -2
  181. package/package/components/instanceSettings.d.ts +3 -1
  182. package/package/components/instanceSettings.js +77 -69
  183. package/package/components/meltComponents/Popover.svelte +82 -0
  184. package/package/components/meltComponents/Popover.svelte.d.ts +21 -0
  185. package/package/components/propertyPicker/PropPicker.svelte +5 -3
  186. package/package/components/runs/JobLoader.svelte +5 -2
  187. package/package/components/runs/JobPreview.svelte +5 -5
  188. package/package/components/runs/RunRow.svelte +3 -4
  189. package/package/components/runs/RunsFilter.svelte +4 -4
  190. package/package/components/schema/EditableSchemaDrawer.svelte +4 -4
  191. package/package/components/schema/PropertyEditor.svelte +1 -1
  192. package/package/components/schema/SchemaFormDND.svelte +2 -0
  193. package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
  194. package/package/components/scriptEditor/LogPanel.svelte +176 -164
  195. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  196. package/package/components/search/GlobalSearchModal.svelte +3 -3
  197. package/package/components/sidebar/CriticalAlertModal.svelte +155 -9
  198. package/package/components/sidebar/CriticalAlertModalInner.svelte +65 -212
  199. package/package/components/sidebar/CriticalAlertModalInner.svelte.d.ts +2 -4
  200. package/package/components/sidebar/CriticalAlertTable.svelte +142 -0
  201. package/package/components/sidebar/CriticalAlertTable.svelte.d.ts +25 -0
  202. package/package/components/sidebar/OperatorMenu.svelte +30 -8
  203. package/package/components/sidebar/SideBarNotification.svelte +3 -6
  204. package/package/components/sidebar/SidebarContent.svelte +5 -5
  205. package/package/components/sidebar/WorkspaceMenu.svelte +9 -5
  206. package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +1 -0
  207. package/package/components/sidebar/changelogs.js +82 -17
  208. package/package/components/splitPanes/SplitPanesOrColumnOnMobile.svelte +21 -21
  209. package/package/components/table/AutoDataTable.svelte +1 -1
  210. package/package/components/table/Cell.svelte +5 -3
  211. package/package/components/table/Cell.svelte.d.ts +1 -0
  212. package/package/components/table/DataTable.svelte +65 -58
  213. package/package/components/table/DataTable.svelte.d.ts +2 -0
  214. package/package/components/table/Head.svelte +1 -1
  215. package/package/components/table/Row.svelte +3 -1
  216. package/package/components/table/Row.svelte.d.ts +1 -0
  217. package/package/components/toast.js +3 -1
  218. package/package/components/triggers/CaptureButton.svelte +77 -0
  219. package/package/components/triggers/CaptureButton.svelte.d.ts +16 -0
  220. package/package/components/triggers/CaptureIcon.svelte +17 -0
  221. package/package/components/triggers/CaptureIcon.svelte.d.ts +23 -0
  222. package/package/components/triggers/CaptureSection.svelte +76 -0
  223. package/package/components/triggers/CaptureSection.svelte.d.ts +42 -0
  224. package/package/components/triggers/CaptureTable.svelte +224 -0
  225. package/package/components/triggers/CaptureTable.svelte.d.ts +43 -0
  226. package/package/components/triggers/CaptureWrapper.svelte +237 -0
  227. package/package/components/triggers/CaptureWrapper.svelte.d.ts +35 -0
  228. package/package/components/triggers/KafkaTriggerEditor.svelte +2 -2
  229. package/package/components/triggers/KafkaTriggerEditor.svelte.d.ts +2 -2
  230. package/package/components/triggers/KafkaTriggerEditorInner.svelte +47 -119
  231. package/package/components/triggers/KafkaTriggerEditorInner.svelte.d.ts +2 -2
  232. package/package/components/triggers/KafkaTriggersConfigSection.svelte +215 -0
  233. package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +36 -0
  234. package/package/components/triggers/KafkaTriggersPanel.svelte +73 -45
  235. package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +6 -0
  236. package/package/components/triggers/RouteEditor.svelte +2 -2
  237. package/package/components/triggers/RouteEditor.svelte.d.ts +2 -2
  238. package/package/components/triggers/RouteEditorConfigSection.svelte +162 -0
  239. package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +43 -0
  240. package/package/components/triggers/RouteEditorInner.svelte +98 -163
  241. package/package/components/triggers/RouteEditorInner.svelte.d.ts +2 -2
  242. package/package/components/triggers/RoutesPanel.svelte +69 -54
  243. package/package/components/triggers/RoutesPanel.svelte.d.ts +5 -0
  244. package/package/components/triggers/ScheduledPollPanel.svelte +5 -9
  245. package/package/components/triggers/TriggersEditor.svelte +119 -89
  246. package/package/components/triggers/TriggersEditor.svelte.d.ts +7 -0
  247. package/package/components/triggers/TriggersEditorSection.svelte +109 -0
  248. package/package/components/triggers/TriggersEditorSection.svelte.d.ts +29 -0
  249. package/package/components/triggers/TriggersWrapper.svelte +60 -0
  250. package/package/components/triggers/TriggersWrapper.svelte.d.ts +21 -0
  251. package/package/components/triggers/WebhooksConfigSection.svelte +382 -0
  252. package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +39 -0
  253. package/package/components/triggers/WebhooksPanel.svelte +32 -331
  254. package/package/components/triggers/WebhooksPanel.svelte.d.ts +7 -1
  255. package/package/components/triggers/WebsocketEditorConfigSection.svelte +176 -0
  256. package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +37 -0
  257. package/package/components/triggers/WebsocketTriggerEditor.svelte +2 -2
  258. package/package/components/triggers/WebsocketTriggerEditor.svelte.d.ts +2 -2
  259. package/package/components/triggers/WebsocketTriggerEditorInner.svelte +29 -150
  260. package/package/components/triggers/WebsocketTriggerEditorInner.svelte.d.ts +2 -2
  261. package/package/components/triggers/WebsocketTriggersPanel.svelte +70 -45
  262. package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +6 -0
  263. package/package/components/triggers.d.ts +6 -2
  264. package/package/components/triggers.js +16 -0
  265. package/package/components/wizards/AgGridWizard.svelte +4 -4
  266. package/package/editorUtils.d.ts +2 -0
  267. package/package/editorUtils.js +6 -3
  268. package/package/gen/core/OpenAPI.js +1 -1
  269. package/package/gen/schemas.gen.d.ts +17 -8
  270. package/package/gen/schemas.gen.js +17 -8
  271. package/package/gen/services.gen.d.ts +55 -5
  272. package/package/gen/services.gen.js +108 -5
  273. package/package/gen/types.gen.d.ts +180 -13
  274. package/package/hubPaths.json +6 -3
  275. package/package/infer.js +9 -0
  276. package/package/script_helpers.d.ts +5 -0
  277. package/package/script_helpers.js +68 -8
  278. package/package/scripts.d.ts +1 -1
  279. package/package/scripts.js +5 -1
  280. package/package/stores.d.ts +1 -0
  281. package/package/utils.d.ts +3 -1
  282. package/package/utils.js +20 -4
  283. package/package.json +11 -8
  284. package/package/components/flows/content/CapturePayload.svelte +0 -114
  285. package/package/components/flows/content/CapturePayload.svelte.d.ts +0 -17
@@ -0,0 +1,35 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { ConnectionInfo } from '../common/alert/ConnectionIndicator.svelte';
3
+ import CaptureTable from './CaptureTable.svelte';
4
+ declare const __propDef: {
5
+ props: {
6
+ isFlow: boolean;
7
+ path: string;
8
+ hasPreprocessor: boolean;
9
+ canHavePreprocessor: boolean;
10
+ captureType?: any;
11
+ showCapture?: boolean | undefined;
12
+ data?: any;
13
+ connectionInfo?: ConnectionInfo | undefined;
14
+ args?: Record<string, any> | undefined;
15
+ captureTable?: CaptureTable | undefined;
16
+ setConfig?: (() => Promise<void>) | undefined;
17
+ handleCapture?: (() => Promise<void>) | undefined;
18
+ };
19
+ events: {
20
+ applyArgs: any;
21
+ updateSchema: any;
22
+ addPreprocessor: any;
23
+ } & {
24
+ [evt: string]: CustomEvent<any>;
25
+ };
26
+ slots: {};
27
+ };
28
+ export type CaptureWrapperProps = typeof __propDef.props;
29
+ export type CaptureWrapperEvents = typeof __propDef.events;
30
+ export type CaptureWrapperSlots = typeof __propDef.slots;
31
+ export default class CaptureWrapper extends SvelteComponent<CaptureWrapperProps, CaptureWrapperEvents, CaptureWrapperSlots> {
32
+ get setConfig(): () => Promise<void>;
33
+ get handleCapture(): () => Promise<void>;
34
+ }
35
+ export {};
@@ -6,10 +6,10 @@ export async function openEdit(ePath, isFlow) {
6
6
  await tick();
7
7
  drawer?.openEdit(ePath, isFlow);
8
8
  }
9
- export async function openNew(is_flow, initial_script_path) {
9
+ export async function openNew(is_flow, initial_script_path, defaultValues) {
10
10
  open = true;
11
11
  await tick();
12
- drawer?.openNew(is_flow, initial_script_path);
12
+ drawer?.openNew(is_flow, initial_script_path, defaultValues);
13
13
  }
14
14
  let drawer;
15
15
  </script>
@@ -2,7 +2,7 @@ import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  openEdit?: ((ePath: string, isFlow: boolean) => Promise<void>) | undefined;
5
- openNew?: ((is_flow: boolean, initial_script_path?: string) => Promise<void>) | undefined;
5
+ openNew?: ((is_flow: boolean, initial_script_path?: string, defaultValues?: Record<string, any>) => Promise<void>) | undefined;
6
6
  };
7
7
  events: {
8
8
  update: CustomEvent<any>;
@@ -16,6 +16,6 @@ export type KafkaTriggerEditorEvents = typeof __propDef.events;
16
16
  export type KafkaTriggerEditorSlots = typeof __propDef.slots;
17
17
  export default class KafkaTriggerEditor extends SvelteComponent<KafkaTriggerEditorProps, KafkaTriggerEditorEvents, KafkaTriggerEditorSlots> {
18
18
  get openEdit(): (ePath: string, isFlow: boolean) => Promise<void>;
19
- get openNew(): (is_flow: boolean, initial_script_path?: string | undefined) => Promise<void>;
19
+ get openNew(): (is_flow: boolean, initial_script_path?: string | undefined, defaultValues?: Record<string, any> | undefined) => Promise<void>;
20
20
  }
21
21
  export {};
@@ -9,11 +9,10 @@ import { usedTriggerKinds, userStore, workspaceStore } from '../../stores';
9
9
  import { canWrite, emptyString, sendUserToast } from '../../utils';
10
10
  import { createEventDispatcher } from 'svelte';
11
11
  import Section from '../Section.svelte';
12
- import { Loader2, Save, X, Plus } from 'lucide-svelte';
12
+ import { Loader2, Save } from 'lucide-svelte';
13
13
  import Label from '../Label.svelte';
14
14
  import Toggle from '../Toggle.svelte';
15
- import { fade } from 'svelte/transition';
16
- import ResourcePicker from '../ResourcePicker.svelte';
15
+ import KafkaTriggersConfigSection from './KafkaTriggersConfigSection.svelte';
17
16
  let drawer;
18
17
  let is_flow = false;
19
18
  let initialPath = '';
@@ -24,14 +23,12 @@ let initialScriptPath = '';
24
23
  let fixedScriptPath = '';
25
24
  let path = '';
26
25
  let pathError = '';
27
- let kafka_resource_path = '';
28
- let group_id = '';
29
- let topics = [''];
30
- let dirtyGroupId = false;
31
26
  let enabled = false;
32
27
  let dirtyPath = false;
33
28
  let can_write = true;
34
29
  let drawerLoading = true;
30
+ let defaultValues = undefined;
31
+ let args = {};
35
32
  const dispatch = createEventDispatcher();
36
33
  $: is_flow = itemKind === 'flow';
37
34
  export async function openEdit(ePath, isFlow) {
@@ -42,7 +39,6 @@ export async function openEdit(ePath, isFlow) {
42
39
  itemKind = isFlow ? 'flow' : 'script';
43
40
  edit = true;
44
41
  dirtyPath = false;
45
- dirtyGroupId = false;
46
42
  await loadTrigger();
47
43
  }
48
44
  catch (err) {
@@ -52,23 +48,23 @@ export async function openEdit(ePath, isFlow) {
52
48
  drawerLoading = false;
53
49
  }
54
50
  }
55
- export async function openNew(nis_flow, fixedScriptPath_) {
51
+ export async function openNew(nis_flow, fixedScriptPath_, nDefaultValues) {
56
52
  drawerLoading = true;
57
53
  try {
58
54
  drawer?.openDrawer();
59
55
  is_flow = nis_flow;
60
56
  edit = false;
61
57
  itemKind = nis_flow ? 'flow' : 'script';
62
- kafka_resource_path = '';
63
- group_id = '';
64
- topics = [''];
65
- dirtyGroupId = false;
58
+ args.kafka_resource_path = nDefaultValues?.kafka_resource_path ?? '';
59
+ args.group_id = nDefaultValues?.group_id ?? '';
60
+ args.topics = nDefaultValues?.topics ?? [''];
66
61
  initialScriptPath = '';
67
62
  fixedScriptPath = fixedScriptPath_ ?? '';
68
63
  script_path = fixedScriptPath;
69
64
  path = '';
70
65
  initialPath = '';
71
66
  dirtyPath = false;
67
+ defaultValues = nDefaultValues;
72
68
  }
73
69
  finally {
74
70
  drawerLoading = false;
@@ -83,9 +79,9 @@ async function loadTrigger() {
83
79
  initialScriptPath = s.script_path;
84
80
  is_flow = s.is_flow;
85
81
  path = s.path;
86
- kafka_resource_path = s.kafka_resource_path;
87
- group_id = s.group_id;
88
- topics = s.topics;
82
+ args.kafka_resource_path = s.kafka_resource_path;
83
+ args.group_id = s.group_id;
84
+ args.topics = s.topics;
89
85
  enabled = s.enabled;
90
86
  can_write = canWrite(s.path, s.extra_perms, $userStore);
91
87
  }
@@ -98,9 +94,9 @@ async function updateTrigger() {
98
94
  path,
99
95
  script_path,
100
96
  is_flow,
101
- kafka_resource_path,
102
- group_id,
103
- topics
97
+ kafka_resource_path: args.kafka_resource_path,
98
+ group_id: args.group_id,
99
+ topics: args.topics
104
100
  }
105
101
  });
106
102
  sendUserToast(`Kafka trigger ${path} updated`);
@@ -113,9 +109,9 @@ async function updateTrigger() {
113
109
  script_path,
114
110
  is_flow,
115
111
  enabled: true,
116
- kafka_resource_path,
117
- group_id,
118
- topics
112
+ kafka_resource_path: args.kafka_resource_path,
113
+ group_id: args.group_id,
114
+ topics: args.topics
119
115
  }
120
116
  });
121
117
  sendUserToast(`Kafka trigger ${path} created`);
@@ -126,11 +122,18 @@ async function updateTrigger() {
126
122
  dispatch('update');
127
123
  drawer.closeDrawer();
128
124
  }
129
- $: topicsError = topics.some((b) => /[^[a-zA-Z0-9-_.]/.test(b)) ? 'Invalid topics' : '';
130
- $: groupIdError = /[^a-zA-Z0-9-_.]/.test(group_id) ? 'Invalid group ID' : '';
131
- $: !dirtyGroupId &&
132
- path &&
133
- (group_id = `windmill_consumer-${$workspaceStore}-${path.replaceAll('/', '__')}`);
125
+ function useDefaultValues() {
126
+ if (args.kafka_resource_path && args.kafka_resource_path != '') {
127
+ return false;
128
+ }
129
+ if (!defaultValues) {
130
+ return false;
131
+ }
132
+ return (defaultValues.brokers &&
133
+ defaultValues.brokers.length > 0 &&
134
+ defaultValues.brokers.some((broker) => broker.trim() !== ''));
135
+ }
136
+ let isValid = false;
134
137
  </script>
135
138
 
136
139
  <Drawer size="800px" bind:this={drawer}>
@@ -143,7 +146,7 @@ $: !dirtyGroupId &&
143
146
  on:close={drawer.closeDrawer}
144
147
  >
145
148
  <svelte:fragment slot="actions">
146
- {#if !drawerLoading && can_write}
149
+ {#if !drawerLoading}
147
150
  {#if edit}
148
151
  <div class="mr-8 center-center -mt-1">
149
152
  <Toggle
@@ -161,21 +164,15 @@ $: !dirtyGroupId &&
161
164
  />
162
165
  </div>
163
166
  {/if}
164
- <Button
165
- startIcon={{ icon: Save }}
166
- disabled={pathError != '' ||
167
- emptyString(script_path) ||
168
- emptyString(kafka_resource_path) ||
169
- topics.length < 1 ||
170
- topics.some((t) => emptyString(t)) ||
171
- topicsError != '' ||
172
- emptyString(group_id) ||
173
- groupIdError != '' ||
174
- !can_write}
175
- on:click={updateTrigger}
176
- >
177
- Save
178
- </Button>
167
+ {#if can_write}
168
+ <Button
169
+ startIcon={{ icon: Save }}
170
+ disabled={pathError != '' || emptyString(script_path) || !can_write || !isValid}
171
+ on:click={updateTrigger}
172
+ >
173
+ Save
174
+ </Button>
175
+ {/if}
179
176
  {/if}
180
177
  </svelte:fragment>
181
178
  {#if drawerLoading}
@@ -204,81 +201,11 @@ $: !dirtyGroupId &&
204
201
  </Label>
205
202
  </div>
206
203
 
207
- <Section label="Kafka">
208
- <div class="flex flex-col w-full gap-4">
209
- <div class="block grow w-full">
210
- <div class="text-secondary text-sm mb-1">
211
- Resource
212
- <Required required={true} />
213
- </div>
214
- <ResourcePicker resourceType="kafka" bind:value={kafka_resource_path} />
215
- </div>
216
- <label class="block grow w-full">
217
- <div class="text-secondary text-sm flex items-center gap-1 w-full justify-between">
218
- <div>
219
- Topics
220
- <Required required={true} />
221
- </div>
222
- </div>
223
-
224
- <div class="flex flex-col gap-4 mt-1">
225
- {#each topics as v, i}
226
- <div class="flex w-full gap-2 items-center">
227
- <input type="text" bind:value={v} />
228
-
229
- <button
230
- transition:fade|local={{ duration: 100 }}
231
- class="rounded-full p-1 bg-surface-secondary duration-200 hover:bg-surface-hover"
232
- aria-label="Clear"
233
- on:click={() => {
234
- topics = topics.filter((_, index) => index !== i)
235
- }}
236
- class:hidden={topics.length === 1}
237
- >
238
- <X size={14} />
239
- </button>
240
- </div>
241
- {/each}
242
-
243
- <div class="flex items-baseline">
244
- <Button
245
- variant="border"
246
- color="light"
247
- size="xs"
248
- on:click={() => {
249
- if (topics == undefined || !Array.isArray(topics)) {
250
- topics = []
251
- }
252
- topics = topics.concat('')
253
- }}
254
- startIcon={{ icon: Plus }}
255
- >
256
- Add topic
257
- </Button>
258
- </div>
259
- </div>
260
- <div class="text-red-600 dark:text-red-400 text-2xs mt-1.5">
261
- {topicsError}
262
- </div>
263
- </label>
264
-
265
- <label class="block grow w-full">
266
- <div class="text-secondary text-sm flex items-center gap-1 w-full justify-between">
267
- <div>
268
- Group ID
269
- <Required required={true} />
270
- </div>
271
- </div>
272
- <div class="mt-1">
273
- <input type="text" bind:value={group_id} on:focus={() => (dirtyGroupId = true)} />
274
- </div>
275
-
276
- <div class="text-red-600 dark:text-red-400 text-2xs mt-1.5">
277
- {groupIdError}
278
- </div>
279
- </label>
280
- </div>
281
- </Section>
204
+ <KafkaTriggersConfigSection
205
+ bind:args
206
+ bind:isValid
207
+ defaultValues={useDefaultValues() ? defaultValues : undefined}
208
+ />
282
209
 
283
210
  <Section label="Runnable">
284
211
  <p class="text-xs mb-1 text-tertiary">
@@ -292,7 +219,8 @@ $: !dirtyGroupId &&
292
219
  allowFlow={true}
293
220
  bind:itemKind
294
221
  bind:scriptPath={script_path}
295
- allowRefresh
222
+ allowRefresh={can_write}
223
+ allowEdit={!$userStore?.operator}
296
224
  />
297
225
  </div>
298
226
  </Section>
@@ -2,7 +2,7 @@ import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  openEdit?: ((ePath: string, isFlow: boolean) => Promise<void>) | undefined;
5
- openNew?: ((nis_flow: boolean, fixedScriptPath_?: string) => Promise<void>) | undefined;
5
+ openNew?: ((nis_flow: boolean, fixedScriptPath_?: string, nDefaultValues?: Record<string, any>) => Promise<void>) | undefined;
6
6
  };
7
7
  events: {
8
8
  update: CustomEvent<any>;
@@ -16,6 +16,6 @@ export type KafkaTriggerEditorInnerEvents = typeof __propDef.events;
16
16
  export type KafkaTriggerEditorInnerSlots = typeof __propDef.slots;
17
17
  export default class KafkaTriggerEditorInner extends SvelteComponent<KafkaTriggerEditorInnerProps, KafkaTriggerEditorInnerEvents, KafkaTriggerEditorInnerSlots> {
18
18
  get openEdit(): (ePath: string, isFlow: boolean) => Promise<void>;
19
- get openNew(): (nis_flow: boolean, fixedScriptPath_?: string | undefined) => Promise<void>;
19
+ get openNew(): (nis_flow: boolean, fixedScriptPath_?: string | undefined, nDefaultValues?: Record<string, any> | undefined) => Promise<void>;
20
20
  }
21
21
  export {};
@@ -0,0 +1,215 @@
1
+ <script>import ResourcePicker from '../ResourcePicker.svelte';
2
+ import { Boxes } from 'lucide-svelte';
3
+ import Section from '../Section.svelte';
4
+ import Subsection from '../Subsection.svelte';
5
+ import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
6
+ import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
7
+ import SchemaForm from '../SchemaForm.svelte';
8
+ import CaptureSection, {} from './CaptureSection.svelte';
9
+ import CaptureTable from './CaptureTable.svelte';
10
+ export let defaultValues = undefined;
11
+ export let headless = false;
12
+ export let args = {};
13
+ export let staticInputDisabled = true;
14
+ export let showCapture = false;
15
+ export let captureInfo = undefined;
16
+ export let captureTable = undefined;
17
+ export let isValid = false;
18
+ let selected = staticInputDisabled ? 'resource' : 'static';
19
+ const connnectionSchema = {
20
+ $schema: 'http://json-schema.org/draft-07/schema#',
21
+ type: 'object',
22
+ properties: {
23
+ brokers: {
24
+ type: 'array',
25
+ items: {
26
+ type: 'string'
27
+ },
28
+ nullable: false,
29
+ title: 'Brokers'
30
+ },
31
+ security: {
32
+ type: 'object',
33
+ title: 'Security',
34
+ oneOf: [
35
+ {
36
+ type: 'object',
37
+ title: 'PLAINTEXT',
38
+ properties: {
39
+ label: {
40
+ enum: ['PLAINTEXT'],
41
+ type: 'string'
42
+ }
43
+ }
44
+ },
45
+ {
46
+ type: 'object',
47
+ order: ['mechanism', 'username', 'password'],
48
+ title: 'SASL_PLAINTEXT',
49
+ required: ['mechanism', 'username', 'password'],
50
+ properties: {
51
+ label: {
52
+ enum: ['SASL_PLAINTEXT'],
53
+ type: 'string'
54
+ },
55
+ password: {
56
+ type: 'string',
57
+ password: true
58
+ },
59
+ username: {
60
+ type: 'string'
61
+ },
62
+ mechanism: {
63
+ enum: ['PLAIN', 'SCRAM-SHA-256', 'SCRAM-SHA-512'],
64
+ type: 'string',
65
+ disableCreate: true
66
+ }
67
+ }
68
+ },
69
+ {
70
+ type: 'object',
71
+ title: 'SSL',
72
+ properties: {
73
+ label: {
74
+ enum: ['SSL'],
75
+ type: 'string'
76
+ }
77
+ }
78
+ },
79
+ {
80
+ type: 'object',
81
+ order: ['mechanism', 'username', 'password'],
82
+ title: 'SASL_SSL',
83
+ required: ['mechanism', 'username', 'password'],
84
+ properties: {
85
+ label: {
86
+ enum: ['SASL_SSL'],
87
+ type: 'string'
88
+ },
89
+ password: {
90
+ type: 'string',
91
+ password: true
92
+ },
93
+ username: {
94
+ type: 'string'
95
+ },
96
+ mechanism: {
97
+ enum: ['PLAIN', 'SCRAM-SHA-256', 'SCRAM-SHA-512'],
98
+ type: 'string',
99
+ disableCreate: true
100
+ }
101
+ }
102
+ }
103
+ ]
104
+ }
105
+ },
106
+ required: ['brokers', 'security']
107
+ };
108
+ const argsSchema = {
109
+ $schema: 'http://json-schema.org/draft-07/schema#',
110
+ type: 'object',
111
+ properties: {
112
+ topics: {
113
+ type: 'array',
114
+ items: {
115
+ type: 'string'
116
+ },
117
+ nullable: false,
118
+ title: 'Topics'
119
+ },
120
+ group_id: {
121
+ type: 'string',
122
+ title: 'Group ID',
123
+ pattern: '^[a-zA-Z0-9-_.]+$',
124
+ customErrorMessage: 'Invalid group ID'
125
+ }
126
+ },
127
+ required: ['topics', 'group_id']
128
+ };
129
+ let connectionValid = false;
130
+ let otherArgsValid = false;
131
+ $: isValid =
132
+ (selected === 'resource'
133
+ ? !!args.kafka_resource_path
134
+ : connectionValid &&
135
+ args.brokers &&
136
+ args.brokers.length > 0 &&
137
+ args.brokers.every((b) => b.length > 0)) &&
138
+ otherArgsValid &&
139
+ args.topics &&
140
+ args.topics.length > 0 &&
141
+ args.topics.every((b) => /^[a-zA-Z0-9-_.]+$/.test(b));
142
+ $: args.kafka_resource_path && (selected = 'resource');
143
+ </script>
144
+
145
+ <div>
146
+ {#if showCapture && captureInfo}
147
+ <CaptureSection
148
+ captureType="kafka"
149
+ disabled={!isValid}
150
+ {captureInfo}
151
+ on:captureToggle
152
+ on:applyArgs
153
+ on:updateSchema
154
+ on:addPreprocessor
155
+ bind:captureTable
156
+ />
157
+ {/if}
158
+ <Section label="Kafka" {headless}>
159
+ <div class="flex flex-col w-full gap-4">
160
+ <div class="block grow w-full">
161
+ <Subsection label="Connection">
162
+ <svelte:fragment slot="header">
163
+ {#if !staticInputDisabled}
164
+ <ToggleButtonGroup
165
+ bind:selected
166
+ class="h-full"
167
+ on:selected={(ev) => {
168
+ if (ev.detail === 'static') {
169
+ delete args.kafka_resource_path
170
+ args.brokers = ['']
171
+ args.security = {
172
+ label: 'PLAINTEXT'
173
+ }
174
+ } else {
175
+ delete args.brokers
176
+ delete args.security
177
+ }
178
+ }}
179
+ >
180
+ <ToggleButton value="static" label="Static" small={true} />
181
+ <ToggleButton value="resource" label="Resource" icon={Boxes} small={true} />
182
+ </ToggleButtonGroup>
183
+ {/if}
184
+ </svelte:fragment>
185
+
186
+ {#if selected === 'resource'}
187
+ <ResourcePicker
188
+ resourceType="kafka"
189
+ bind:value={args.kafka_resource_path}
190
+ {defaultValues}
191
+ />
192
+ {:else}
193
+ <SchemaForm
194
+ schema={connnectionSchema}
195
+ bind:args
196
+ bind:isValid={connectionValid}
197
+ lightHeader={true}
198
+ />
199
+ {/if}
200
+ </Subsection>
201
+ </div>
202
+
203
+ <div class="block grow w-full">
204
+ <Subsection headless={true}>
205
+ <SchemaForm
206
+ schema={argsSchema}
207
+ bind:args
208
+ bind:isValid={otherArgsValid}
209
+ lightHeader={true}
210
+ />
211
+ </Subsection>
212
+ </div>
213
+ </div>
214
+ </Section>
215
+ </div>
@@ -0,0 +1,36 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import { type CaptureInfo } from './CaptureSection.svelte';
3
+ import CaptureTable from './CaptureTable.svelte';
4
+ declare const __propDef: {
5
+ props: {
6
+ defaultValues?: Record<string, any> | undefined;
7
+ headless?: boolean | undefined;
8
+ args?: Record<string, any> | undefined;
9
+ staticInputDisabled?: boolean | undefined;
10
+ showCapture?: boolean | undefined;
11
+ captureInfo?: CaptureInfo | undefined;
12
+ captureTable?: CaptureTable | undefined;
13
+ isValid?: boolean | undefined;
14
+ };
15
+ events: {
16
+ captureToggle: CustomEvent<undefined>;
17
+ applyArgs: CustomEvent<{
18
+ kind: "main" | "preprocessor";
19
+ args: Record<string, any> | undefined;
20
+ }>;
21
+ updateSchema: CustomEvent<{
22
+ schema: any;
23
+ redirect: boolean;
24
+ }>;
25
+ addPreprocessor: CustomEvent<null>;
26
+ } & {
27
+ [evt: string]: CustomEvent<any>;
28
+ };
29
+ slots: {};
30
+ };
31
+ export type KafkaTriggersConfigSectionProps = typeof __propDef.props;
32
+ export type KafkaTriggersConfigSectionEvents = typeof __propDef.events;
33
+ export type KafkaTriggersConfigSectionSlots = typeof __propDef.slots;
34
+ export default class KafkaTriggersConfigSection extends SvelteComponent<KafkaTriggersConfigSectionProps, KafkaTriggersConfigSectionEvents, KafkaTriggersConfigSectionSlots> {
35
+ }
36
+ export {};