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.
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
@@ -1,19 +1,31 @@
1
- <script>import { Button } from '../common';
2
- import { enterpriseLicense, userStore, workspaceStore } from '../../stores';
1
+ <script>import { enterpriseLicense, userStore, workspaceStore } from '../../stores';
3
2
  import { KafkaTriggerService } from '../../gen';
4
- import Skeleton from '../common/skeleton/Skeleton.svelte';
5
3
  import { canWrite } from '../../utils';
6
4
  import Alert from '../common/alert/Alert.svelte';
7
- import { getContext } from 'svelte';
5
+ import { getContext, onMount } from 'svelte';
8
6
  import KafkaTriggerEditor from './KafkaTriggerEditor.svelte';
9
7
  import { isCloudHosted } from '../../cloud';
10
- import KafkaIcon from '../icons/KafkaIcon.svelte';
8
+ import TriggersEditorSection from './TriggersEditorSection.svelte';
9
+ import Section from '../Section.svelte';
10
+ import Skeleton from '../common/skeleton/Skeleton.svelte';
11
+ import Description from '../Description.svelte';
11
12
  export let isFlow;
12
13
  export let path;
13
14
  export let newItem = false;
15
+ export let isEditor = false;
16
+ export let canHavePreprocessor = false;
17
+ export let hasPreprocessor = false;
14
18
  let kafkaTriggerEditor;
15
19
  $: path && loadTriggers();
16
- const { triggersCount } = getContext('TriggerContext');
20
+ const { triggersCount, selectedTrigger, defaultValues } = getContext('TriggerContext');
21
+ onMount(() => {
22
+ if (defaultValues &&
23
+ $selectedTrigger === 'kafka' &&
24
+ Object.keys($defaultValues ?? {}).length > 0) {
25
+ kafkaTriggerEditor.openNew(isFlow, path, $defaultValues);
26
+ defaultValues.set(undefined);
27
+ }
28
+ });
17
29
  let kafkaTriggers = undefined;
18
30
  export async function loadTriggers() {
19
31
  try {
@@ -30,6 +42,13 @@ export async function loadTriggers() {
30
42
  console.error('impossible to load kafka triggers', e);
31
43
  }
32
44
  }
45
+ let data = {
46
+ kafkaTriggers: [],
47
+ newItem
48
+ };
49
+ function saveTrigger(path, args) {
50
+ kafkaTriggerEditor?.openNew(isFlow, path, args);
51
+ }
33
52
  </script>
34
53
 
35
54
  <KafkaTriggerEditor
@@ -49,47 +68,56 @@ export async function loadTriggers() {
49
68
  </Alert>
50
69
  {:else}
51
70
  <div class="flex flex-col gap-4">
52
- {#if newItem}
53
- <Alert title="Triggers disabled" type="warning" size="xs">
54
- Deploy the {isFlow ? 'flow' : 'script'} to add kafka triggers.
55
- </Alert>
56
- {:else}
57
- <Button
58
- on:click={() => kafkaTriggerEditor?.openNew(isFlow, path)}
59
- variant="border"
60
- color="light"
61
- size="xs"
62
- startIcon={{ icon: KafkaIcon }}
63
- >
64
- New Kafka Trigger
65
- </Button>
71
+ <Description link="https://www.windmill.dev/docs/core_concepts/kafka_triggers">
72
+ Kafka triggers execute scripts and flows in response to messages published to Kafka topics.
73
+ </Description>
74
+ <TriggersEditorSection
75
+ on:saveTrigger={(e) => {
76
+ saveTrigger(path, e.detail.config)
77
+ }}
78
+ on:applyArgs
79
+ on:addPreprocessor
80
+ cloudDisabled={false}
81
+ triggerType="kafka"
82
+ {isFlow}
83
+ {data}
84
+ {path}
85
+ {isEditor}
86
+ {canHavePreprocessor}
87
+ {hasPreprocessor}
88
+ {newItem}
89
+ />
90
+
91
+ {#if !newItem}
66
92
  {#if kafkaTriggers}
67
- {#if kafkaTriggers.length == 0}
68
- <div class="text-xs text-secondary"> No kafka triggers </div>
69
- {:else}
70
- <div class="flex flex-col divide-y pt-2">
71
- {#each kafkaTriggers as kafkaTrigger (kafkaTrigger.path)}
72
- <div class="grid grid-cols-5 text-2xs items-center py-2">
73
- <div class="col-span-2 truncate">{kafkaTrigger.path}</div>
74
- <div class="col-span-2 truncate">
75
- {kafkaTrigger.kafka_resource_path}
76
- </div>
77
- <div class="flex justify-end">
78
- <button
79
- on:click={() => kafkaTriggerEditor?.openEdit(kafkaTrigger.path, isFlow)}
80
- class="px-2"
81
- >
82
- {#if kafkaTrigger.canWrite}
83
- Edit
84
- {:else}
85
- View
86
- {/if}
87
- </button>
93
+ <Section label="Kafka Triggers">
94
+ {#if kafkaTriggers.length == 0}
95
+ <div class="text-xs text-secondary text-center"> No kafka triggers </div>
96
+ {:else}
97
+ <div class="flex flex-col divide-y pt-2">
98
+ {#each kafkaTriggers as kafkaTrigger (kafkaTrigger.path)}
99
+ <div class="grid grid-cols-5 text-2xs items-center py-2">
100
+ <div class="col-span-2 truncate">{kafkaTrigger.path}</div>
101
+ <div class="col-span-2 truncate">
102
+ {kafkaTrigger.kafka_resource_path}
103
+ </div>
104
+ <div class="flex justify-end">
105
+ <button
106
+ on:click={() => kafkaTriggerEditor?.openEdit(kafkaTrigger.path, isFlow)}
107
+ class="px-2"
108
+ >
109
+ {#if kafkaTrigger.canWrite}
110
+ Edit
111
+ {:else}
112
+ View
113
+ {/if}
114
+ </button>
115
+ </div>
88
116
  </div>
89
- </div>
90
- {/each}
91
- </div>
92
- {/if}
117
+ {/each}
118
+ </div>
119
+ {/if}
120
+ </Section>
93
121
  {:else}
94
122
  <Skeleton layout={[[8]]} />
95
123
  {/if}
@@ -4,9 +4,15 @@ declare const __propDef: {
4
4
  isFlow: boolean;
5
5
  path: string;
6
6
  newItem?: boolean | undefined;
7
+ isEditor?: boolean | undefined;
8
+ canHavePreprocessor?: boolean | undefined;
9
+ hasPreprocessor?: boolean | undefined;
7
10
  loadTriggers?: (() => Promise<void>) | undefined;
8
11
  };
9
12
  events: {
13
+ applyArgs: any;
14
+ addPreprocessor: any;
15
+ } & {
10
16
  [evt: string]: CustomEvent<any>;
11
17
  };
12
18
  slots: {};
@@ -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
  export async function getTriggers() {
15
15
  return drawer?.getTriggers();
@@ -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
  getTriggers?: (() => Promise<any>) | undefined;
7
7
  };
8
8
  events: {
@@ -17,7 +17,7 @@ export type RouteEditorEvents = typeof __propDef.events;
17
17
  export type RouteEditorSlots = typeof __propDef.slots;
18
18
  export default class RouteEditor extends SvelteComponent<RouteEditorProps, RouteEditorEvents, RouteEditorSlots> {
19
19
  get openEdit(): (ePath: string, isFlow: boolean) => Promise<void>;
20
- get openNew(): (is_flow: boolean, initial_script_path?: string | undefined) => Promise<void>;
20
+ get openNew(): (is_flow: boolean, initial_script_path?: string | undefined, defaultValues?: Record<string, any> | undefined) => Promise<void>;
21
21
  get getTriggers(): () => Promise<any>;
22
22
  }
23
23
  export {};
@@ -0,0 +1,162 @@
1
+ <script>import { Alert, Badge } from '../common';
2
+ import Required from '../Required.svelte';
3
+ import Section from '../Section.svelte';
4
+ import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
5
+ import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
6
+ import { userStore, workspaceStore } from '../../stores';
7
+ import Label from '../Label.svelte';
8
+ import CopyableCodeBlock from '../details/CopyableCodeBlock.svelte';
9
+ import { bash } from 'svelte-highlight/languages';
10
+ import { HttpTriggerService } from '../../gen';
11
+ // import { page } from '$app/stores'
12
+ import { isCloudHosted } from '../../cloud';
13
+ import { base } from '../../base';
14
+ import CaptureSection from './CaptureSection.svelte';
15
+ import CaptureTable from './CaptureTable.svelte';
16
+ import ClipboardPanel from '../details/ClipboardPanel.svelte';
17
+ export let dirtyRoutePath = false;
18
+ export let route_path = '';
19
+ export let http_method = 'post';
20
+ export let can_write = false;
21
+ export let static_asset_config = undefined;
22
+ export let showCapture = false;
23
+ export let initialRoutePath = '';
24
+ export let headless = false;
25
+ export let captureInfo = undefined;
26
+ export let captureTable = undefined;
27
+ export let isValid = false;
28
+ let validateTimeout = undefined;
29
+ let routeError = '';
30
+ async function validateRoute(path, method) {
31
+ if (validateTimeout) {
32
+ clearTimeout(validateTimeout);
33
+ }
34
+ validateTimeout = setTimeout(async () => {
35
+ if (!/^[\w-:]+(\/[\w-:]+)*$/.test(path)) {
36
+ routeError = 'Endpoint not valid';
37
+ }
38
+ else if (initialRoutePath !== path && (await routeExists(path, method))) {
39
+ routeError = 'Endpoint already taken';
40
+ }
41
+ else {
42
+ routeError = '';
43
+ }
44
+ validateTimeout = undefined;
45
+ }, 500);
46
+ }
47
+ async function routeExists(route_path, method) {
48
+ return await HttpTriggerService.existsRoute({
49
+ workspace: $workspaceStore,
50
+ requestBody: {
51
+ route_path,
52
+ http_method: method
53
+ }
54
+ });
55
+ }
56
+ function getHttpRoute(route_path) {
57
+ return `${location.origin}${base}/api/r/${isCloudHosted() ? $workspaceStore + '/' : ''}${route_path}`;
58
+ }
59
+ $: validateRoute(route_path, http_method);
60
+ $: isValid = routeError === '';
61
+ $: fullRoute = getHttpRoute(route_path);
62
+ </script>
63
+
64
+ <div>
65
+ {#if showCapture && captureInfo}
66
+ <CaptureSection
67
+ captureType="http"
68
+ disabled={!isValid}
69
+ {captureInfo}
70
+ on:captureToggle
71
+ on:applyArgs
72
+ on:updateSchema
73
+ on:addPreprocessor
74
+ bind:captureTable
75
+ >
76
+ <Label label="URL">
77
+ <ClipboardPanel content={fullRoute} disabled={!captureInfo.active} />
78
+ </Label>
79
+
80
+ <Label label="Example cUrl">
81
+ <CopyableCodeBlock
82
+ disabled={!captureInfo.active}
83
+ code={`curl \\
84
+ -X POST ${fullRoute} \\
85
+ -H 'Content-Type: application/json' \\
86
+ -d '{"foo": 42}'`}
87
+ language={bash}
88
+ />
89
+ </Label>
90
+ </CaptureSection>
91
+ {/if}
92
+ <Section label="HTTP" {headless}>
93
+ {#if !($userStore?.is_admin || $userStore?.is_super_admin)}
94
+ <Alert type="info" title="Admin only" collapsible>
95
+ Route endpoints can only be edited by workspace admins
96
+ </Alert>
97
+ <div class="my-2" />
98
+ {/if}
99
+ <div class="flex flex-col w-full gap-4">
100
+ <label class="block grow w-full">
101
+ <div class="text-secondary text-sm flex items-center gap-1 w-full justify-between">
102
+ <div>
103
+ Path
104
+ <Required required={true} />
105
+ </div>
106
+ <div class="text-2xs text-tertiary"> ':myparam' for path params </div>
107
+ </div>
108
+ <!-- svelte-ignore a11y-autofocus -->
109
+ <input
110
+ type="text"
111
+ autocomplete="off"
112
+ bind:value={route_path}
113
+ disabled={!($userStore?.is_admin || $userStore?.is_super_admin) || !can_write}
114
+ class={routeError === ''
115
+ ? ''
116
+ : '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'}
117
+ on:input={() => {
118
+ dirtyRoutePath = true
119
+ }}
120
+ />
121
+ </label>
122
+
123
+ <ToggleButtonGroup
124
+ class="w-auto"
125
+ bind:selected={http_method}
126
+ disabled={!($userStore?.is_admin || $userStore?.is_super_admin) ||
127
+ !can_write ||
128
+ !!static_asset_config}
129
+ >
130
+ <ToggleButton label="GET" value="get" />
131
+ <ToggleButton label="POST" value="post" />
132
+ <ToggleButton label="PUT" value="put" />
133
+ <ToggleButton label="PATCH" value="patch" />
134
+ <ToggleButton label="DELETE" value="delete" />
135
+ </ToggleButtonGroup>
136
+ <div class="flex flex-col w-full mt-2">
137
+ <div class="flex justify-start w-full">
138
+ <Badge
139
+ color="gray"
140
+ class="center-center !bg-surface-secondary !text-tertiary !w-[90px] !h-[24px] rounded-r-none border"
141
+ >
142
+ Full endpoint
143
+ </Badge>
144
+ <input
145
+ type="text"
146
+ readonly
147
+ value={fullRoute}
148
+ size={fullRoute.length || 50}
149
+ class="font-mono !text-xs max-w-[calc(100%-70px)] !w-auto !h-[24px] !py-0 !border-l-0 !rounded-l-none"
150
+ on:focus={({ currentTarget }) => {
151
+ currentTarget.select()
152
+ }}
153
+ />
154
+ </div>
155
+
156
+ <div class="text-red-600 dark:text-red-400 text-2xs mt-1.5"
157
+ >{dirtyRoutePath ? routeError : ''}</div
158
+ >
159
+ </div>
160
+ </div>
161
+ </Section>
162
+ </div>
@@ -0,0 +1,43 @@
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
+ dirtyRoutePath?: boolean | undefined;
7
+ route_path?: string | undefined;
8
+ http_method?: "get" | "post" | "put" | "delete" | "patch" | undefined;
9
+ can_write?: boolean | undefined;
10
+ static_asset_config?: {
11
+ s3: string;
12
+ storage?: string;
13
+ filename?: string;
14
+ } | undefined;
15
+ showCapture?: boolean | undefined;
16
+ initialRoutePath?: string | undefined;
17
+ headless?: boolean | undefined;
18
+ captureInfo?: CaptureInfo | undefined;
19
+ captureTable?: CaptureTable | undefined;
20
+ isValid?: boolean | undefined;
21
+ };
22
+ events: {
23
+ captureToggle: CustomEvent<undefined>;
24
+ applyArgs: CustomEvent<{
25
+ kind: "main" | "preprocessor";
26
+ args: Record<string, any> | undefined;
27
+ }>;
28
+ updateSchema: CustomEvent<{
29
+ schema: any;
30
+ redirect: boolean;
31
+ }>;
32
+ addPreprocessor: CustomEvent<null>;
33
+ } & {
34
+ [evt: string]: CustomEvent<any>;
35
+ };
36
+ slots: {};
37
+ };
38
+ export type RouteEditorConfigSectionProps = typeof __propDef.props;
39
+ export type RouteEditorConfigSectionEvents = typeof __propDef.events;
40
+ export type RouteEditorConfigSectionSlots = typeof __propDef.slots;
41
+ export default class RouteEditorConfigSection extends SvelteComponent<RouteEditorConfigSectionProps, RouteEditorConfigSectionEvents, RouteEditorConfigSectionSlots> {
42
+ }
43
+ export {};