windmill-components 1.339.2 → 1.352.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 (231) hide show
  1. package/package/assets/app.css +0 -12
  2. package/package/ata/index.js +1 -0
  3. package/package/autosize.js +1 -1
  4. package/package/common.d.ts +6 -2
  5. package/package/common.js +2 -1
  6. package/package/components/AppConnectDrawer.svelte +1 -1
  7. package/package/components/AppConnectInner.svelte +9 -15
  8. package/package/components/ArgEnum.svelte +4 -1
  9. package/package/components/ArgEnum.svelte.d.ts +3 -1
  10. package/package/components/ArgInput.svelte +184 -141
  11. package/package/components/ArgInput.svelte.d.ts +7 -7
  12. package/package/components/ArrayTypeNarrowing.svelte +29 -27
  13. package/package/components/CenteredPage.svelte +2 -2
  14. package/package/components/DefaultTagsInner.svelte +1 -1
  15. package/package/components/Dev.svelte +2 -1
  16. package/package/components/DiffDrawer.svelte +1 -2
  17. package/package/components/DisplayResult.svelte +293 -233
  18. package/package/components/DurationMs.svelte +11 -3
  19. package/package/components/DurationMs.svelte.d.ts +2 -0
  20. package/package/components/EditableSchemaForm.svelte +447 -103
  21. package/package/components/EditableSchemaForm.svelte.d.ts +16 -6
  22. package/package/components/Editor.svelte +3 -1
  23. package/package/components/EditorBar.svelte +2 -2
  24. package/package/components/FlowBuilder.svelte +14 -6
  25. package/package/components/FlowGraphViewer.svelte +1 -1
  26. package/package/components/FlowGraphViewerStep.svelte +37 -9
  27. package/package/components/FlowGraphViewerStep.svelte.d.ts +2 -7
  28. package/package/components/FlowJobResult.svelte +1 -3
  29. package/package/components/FlowMetadata.svelte +1 -1
  30. package/package/components/FlowPreviewContent.svelte +5 -3
  31. package/package/components/FlowStatusViewer.svelte +4 -0
  32. package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
  33. package/package/components/FlowStatusViewerInner.svelte +50 -17
  34. package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -0
  35. package/package/components/FlowTimeline.svelte +13 -0
  36. package/package/components/FlowTimeline.svelte.d.ts +2 -0
  37. package/package/components/FlowViewer.svelte +0 -5
  38. package/package/components/FolderEditor.svelte +25 -0
  39. package/package/components/FolderEditor.svelte.d.ts +2 -0
  40. package/package/components/GroupEditor.svelte +36 -91
  41. package/package/components/GroupInfo.svelte +1 -1
  42. package/package/components/InputTransformForm.svelte +16 -1
  43. package/package/components/InputTransformForm.svelte.d.ts +2 -0
  44. package/package/components/InputTransformSchemaForm.svelte +6 -0
  45. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
  46. package/package/components/InstanceSettings.svelte +36 -3
  47. package/package/components/InstanceSettings.svelte.d.ts +2 -0
  48. package/package/components/JobStatus.svelte +2 -2
  49. package/package/components/LightweightArgInput.svelte +66 -14
  50. package/package/components/LightweightArgInput.svelte.d.ts +3 -2
  51. package/package/components/LightweightSchemaForm.svelte +24 -15
  52. package/package/components/ModulePreviewForm.svelte +1 -0
  53. package/package/components/NumberTypeNarrowing.svelte +71 -44
  54. package/package/components/ObjectResourceInput.svelte +2 -0
  55. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  56. package/package/components/ObjectTypeNarrowing.svelte +0 -1
  57. package/package/components/ParqetCsvTableRenderer.svelte +181 -0
  58. package/package/components/ParqetCsvTableRenderer.svelte.d.ts +21 -0
  59. package/package/components/Path.svelte +2 -2
  60. package/package/components/PersistentScriptDrawer.svelte +6 -3
  61. package/package/components/Range.svelte +88 -286
  62. package/package/components/Range.svelte.d.ts +9 -23
  63. package/package/components/ResourceEditor.svelte +138 -141
  64. package/package/components/ResourceEditor.svelte.d.ts +9 -2
  65. package/package/components/ResourceEditorDrawer.svelte +45 -0
  66. package/package/components/ResourceEditorDrawer.svelte.d.ts +21 -0
  67. package/package/components/ResourcePicker.svelte +5 -2
  68. package/package/components/ResourceTypePicker.svelte +88 -36
  69. package/package/components/RunChart.svelte +55 -5
  70. package/package/components/RunChart.svelte.d.ts +1 -0
  71. package/package/components/RunForm.svelte +1 -1
  72. package/package/components/S3FilePicker.svelte +20 -8
  73. package/package/components/S3FilePicker.svelte.d.ts +2 -0
  74. package/package/components/ScheduleEditorInner.svelte +40 -37
  75. package/package/components/SchemaForm.svelte +192 -103
  76. package/package/components/SchemaForm.svelte.d.ts +16 -2
  77. package/package/components/ScriptBuilder.svelte +13 -8
  78. package/package/components/ScriptSchedules.svelte +11 -8
  79. package/package/components/ScriptSchema.svelte +3 -21
  80. package/package/components/ScriptVersionHistory.svelte +1 -1
  81. package/package/components/StringTypeNarrowing.svelte +217 -174
  82. package/package/components/StringTypeNarrowing.svelte.d.ts +5 -1
  83. package/package/components/Toggle.svelte +6 -3
  84. package/package/components/Toggle.svelte.d.ts +1 -0
  85. package/package/components/UserSettings.svelte +24 -1
  86. package/package/components/WorkspaceGroup.svelte +11 -13
  87. package/package/components/apps/components/buttons/AppButton.svelte +2 -0
  88. package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
  89. package/package/components/apps/components/display/AppFlowStatusComponent.svelte +13 -70
  90. package/package/components/apps/components/display/AppFlowStatusComponent.svelte.d.ts +1 -9
  91. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +21 -8
  92. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +1 -3
  93. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +19 -7
  94. package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +1 -3
  95. package/package/components/apps/components/display/AppLogsComponent.svelte +13 -70
  96. package/package/components/apps/components/display/AppLogsComponent.svelte.d.ts +1 -9
  97. package/package/components/apps/components/display/charts/AppAgCharts.svelte +25 -15
  98. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +2 -0
  99. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +1 -1
  100. package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
  101. package/package/components/apps/components/helpers/RunnableComponent.svelte +18 -8
  102. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
  103. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -0
  104. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
  105. package/package/components/apps/components/helpers/eval.js +1 -36
  106. package/package/components/apps/components/inputs/AppFileInput.svelte +3 -1
  107. package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
  108. package/package/components/apps/components/inputs/AppS3FileInput.svelte +3 -1
  109. package/package/components/apps/components/inputs/AppS3FileInput.svelte.d.ts +1 -0
  110. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +3 -1
  111. package/package/components/apps/components/layout/AppConditionalWrapper.svelte.d.ts +1 -0
  112. package/package/components/apps/components/layout/AppStepper.svelte +5 -1
  113. package/package/components/apps/components/layout/AppStepper.svelte.d.ts +2 -0
  114. package/package/components/apps/components/layout/AppTabs.svelte +3 -1
  115. package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
  116. package/package/components/apps/editor/AppEditorHeader.svelte +6 -7
  117. package/package/components/apps/editor/SettingsPanel.svelte +13 -3
  118. package/package/components/apps/editor/component/Component.svelte +8 -16
  119. package/package/components/apps/editor/component/components.d.ts +11 -2
  120. package/package/components/apps/editor/component/components.js +2 -1
  121. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -1
  122. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +5 -34
  123. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +3 -41
  124. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte +33 -0
  125. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte.d.ts +19 -0
  126. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +103 -0
  127. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte.d.ts +18 -0
  128. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +21 -45
  129. package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -23
  130. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +5 -1
  131. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +0 -2
  132. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
  133. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +7 -1
  134. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +7 -14
  135. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
  136. package/package/components/common/button/ButtonDropdown.svelte +1 -0
  137. package/package/components/common/drawer/Disposable.svelte +3 -2
  138. package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
  139. package/package/components/common/drawer/Drawer.svelte +12 -2
  140. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  141. package/package/components/common/fileDownload/FileDownload.svelte +4 -2
  142. package/package/components/common/fileUpload/FileUpload.svelte +4 -3
  143. package/package/components/common/modal/Modal.svelte +4 -1
  144. package/package/components/common/modal/Modal.svelte.d.ts +1 -0
  145. package/package/components/common/popup/Popup.svelte +1 -1
  146. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -1
  147. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  148. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte +79 -0
  149. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +18 -0
  150. package/package/components/flows/content/FlowEditorPanel.svelte +16 -2
  151. package/package/components/flows/content/FlowInput.svelte +63 -53
  152. package/package/components/flows/content/FlowModuleComponent.svelte +26 -3
  153. package/package/components/flows/content/FlowModuleScript.svelte +40 -1
  154. package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
  155. package/package/components/flows/content/FlowModuleSuspend.svelte +99 -59
  156. package/package/components/flows/content/FlowModuleWrapper.svelte +16 -1
  157. package/package/components/flows/content/FlowSchedules.svelte +11 -8
  158. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -4
  159. package/package/components/flows/flowStateUtils.js +4 -1
  160. package/package/components/flows/map/FlowModuleSchemaItem.svelte +16 -1
  161. package/package/components/flows/map/FlowModuleSchemaMap.svelte +6 -1
  162. package/package/components/flows/types.d.ts +4 -0
  163. package/package/components/flows/utils.d.ts +5 -1
  164. package/package/components/flows/utils.js +36 -0
  165. package/package/components/graph/FlowGraph.svelte +5 -2
  166. package/package/components/graph/FlowGraph.svelte.d.ts +2 -0
  167. package/package/components/graph/svelvet/container/models/index.d.ts +0 -5
  168. package/package/components/graph/svelvet/container/models/index.js +1 -1
  169. package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -5
  170. package/package/components/graph/util.d.ts +1 -37
  171. package/package/components/graph/util.js +0 -34
  172. package/package/components/instanceSettings.js +2 -1
  173. package/package/components/jobs/JobPreview.svelte +1 -1
  174. package/package/components/multiselect/MultiSelect.svelte +4 -3
  175. package/package/components/multiselect/MultiSelect.svelte.d.ts +1 -0
  176. package/package/components/multiselect/MultiSelectWrapper.svelte +89 -0
  177. package/package/components/multiselect/MultiSelectWrapper.svelte.d.ts +20 -0
  178. package/package/components/propertyPicker/ObjectViewer.svelte +6 -2
  179. package/package/components/runs/JobPreview.svelte +5 -1
  180. package/package/components/runs/RunRow.svelte +22 -3
  181. package/package/components/runs/RunRow.svelte.d.ts +2 -1
  182. package/package/components/runs/RunsTable.svelte +22 -9
  183. package/package/components/runs/RunsTable.svelte.d.ts +2 -1
  184. package/package/components/schema/AddProperty.svelte +149 -0
  185. package/package/components/schema/AddProperty.svelte.d.ts +23 -0
  186. package/package/components/schema/AddPropertyForm.svelte +33 -0
  187. package/package/components/schema/AddPropertyForm.svelte.d.ts +16 -0
  188. package/package/components/schema/EditableSchemaDrawer.svelte +198 -0
  189. package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +21 -0
  190. package/package/components/schema/EditableSchemaWrapper.svelte +31 -0
  191. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +22 -0
  192. package/package/components/schema/FlowPropertyEditor.svelte +393 -0
  193. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +47 -0
  194. package/package/components/schema/PropertyEditor.svelte +185 -0
  195. package/package/components/schema/PropertyEditor.svelte.d.ts +46 -0
  196. package/package/components/schema/SchemaFormDND.svelte +75 -0
  197. package/package/components/schema/SchemaFormDND.svelte.d.ts +28 -0
  198. package/package/components/table/AutoDataTable.svelte +90 -104
  199. package/package/components/table/Cell.svelte +4 -1
  200. package/package/components/table/Cell.svelte.d.ts +1 -0
  201. package/package/components/table/DownloadCsv.svelte +30 -0
  202. package/package/components/table/DownloadCsv.svelte.d.ts +17 -0
  203. package/package/components/table/tableUtils.d.ts +8 -0
  204. package/package/components/table/tableUtils.js +37 -0
  205. package/package/consts.js +3 -1
  206. package/package/deno_fetch.d.ts.txt +6 -0
  207. package/package/gen/core/OpenAPI.js +1 -1
  208. package/package/gen/schemas.gen.d.ts +76 -0
  209. package/package/gen/schemas.gen.js +76 -0
  210. package/package/gen/services.gen.d.ts +100 -5
  211. package/package/gen/services.gen.js +216 -16
  212. package/package/gen/types.gen.d.ts +378 -5
  213. package/package/inferArgSig.d.ts +10 -0
  214. package/package/inferArgSig.js +59 -2
  215. package/package/scripts.d.ts +2 -0
  216. package/package/scripts.js +6 -3
  217. package/package/utils.d.ts +4 -3
  218. package/package/utils.js +9 -4
  219. package/package/workspace_settings.d.ts +15 -0
  220. package/package/workspace_settings.js +81 -0
  221. package/package.json +16 -7
  222. package/package/components/ParqetTableRenderer.svelte +0 -117
  223. package/package/components/ParqetTableRenderer.svelte.d.ts +0 -18
  224. package/package/components/PropertyRow.svelte +0 -88
  225. package/package/components/PropertyRow.svelte.d.ts +0 -23
  226. package/package/components/SchemaEditor.svelte +0 -346
  227. package/package/components/SchemaEditor.svelte.d.ts +0 -25
  228. package/package/components/SchemaModal.svelte +0 -443
  229. package/package/components/SchemaModal.svelte.d.ts +0 -33
  230. package/package/components/apps/editor/settingsPanel/Recompute.svelte +0 -55
  231. package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +0 -20
@@ -1,443 +0,0 @@
1
- <script context="module">import { modalToSchema } from '../common';
2
- import Tab from './common/tabs/Tab.svelte';
3
- import TabContent from './common/tabs/TabContent.svelte';
4
- import Tabs from './common/tabs/Tabs.svelte';
5
- import SchemaEditor from './SchemaEditor.svelte';
6
- export const ARG_TYPES = [
7
- 'integer',
8
- 'number',
9
- 'string',
10
- 'boolean',
11
- 'object',
12
- 'array',
13
- 'S3'
14
- ];
15
- const argTypesLabels = {
16
- integer: 'Integer',
17
- number: 'Number',
18
- string: 'String',
19
- boolean: 'Boolean',
20
- object: 'Object',
21
- array: 'Array',
22
- S3: 'S3 Object'
23
- };
24
- export function schemaToModal(schema, name, required) {
25
- return {
26
- name,
27
- selectedType: schema.type,
28
- description: schema.description ?? '',
29
- pattern: schema.pattern,
30
- default: schema.default,
31
- contentEncoding: schema.contentEncoding,
32
- format: schema.format,
33
- enum_: schema.enum,
34
- min: schema.min,
35
- max: schema.max,
36
- currency: schema.currency,
37
- currencyLocale: schema.currencyLocale,
38
- multiselect: schema.multiselect,
39
- items: schema.items?.type
40
- ? { type: schema.items.type, enum: schema.items.enum }
41
- : undefined,
42
- required,
43
- schema: schema.type == 'object'
44
- ? {
45
- $schema: undefined,
46
- type: schema.type,
47
- properties: schema.properties ?? {},
48
- required: schema.required ?? []
49
- }
50
- : undefined,
51
- showExpr: schema.showExpr,
52
- password: schema.password,
53
- nullable: schema.nullable,
54
- dateFormat: schema.format,
55
- title: schema.title,
56
- placeholder: schema.placeholder
57
- };
58
- }
59
- export const DEFAULT_PROPERTY = {
60
- selectedType: 'string',
61
- description: '',
62
- name: '',
63
- required: false
64
- };
65
- </script>
66
-
67
- <script>import { createEventDispatcher } from 'svelte';
68
- import ArgInput from './ArgInput.svelte';
69
- import StringTypeNarrowing from './StringTypeNarrowing.svelte';
70
- import Required from './Required.svelte';
71
- import ObjectTypeNarrowing from './ObjectTypeNarrowing.svelte';
72
- import { Alert, Button } from './common';
73
- import Toggle from './Toggle.svelte';
74
- import DrawerContent from './common/drawer/DrawerContent.svelte';
75
- import Drawer from './common/drawer/Drawer.svelte';
76
- import ArrayTypeNarrowing from './ArrayTypeNarrowing.svelte';
77
- import LightweightSchemaForm from './LightweightSchemaForm.svelte';
78
- import NumberTypeNarrowing from './NumberTypeNarrowing.svelte';
79
- import SimpleEditor from './SimpleEditor.svelte';
80
- import Label from './Label.svelte';
81
- import { shouldDisplayPlaceholder } from '../utils';
82
- import ItemPicker from './ItemPicker.svelte';
83
- import { Plus } from 'lucide-svelte';
84
- import { VariableService } from '../gen';
85
- import { workspaceStore } from '../stores';
86
- export let error = '';
87
- export let editing = false;
88
- export let oldArgName = undefined;
89
- export let isFlowInput = false;
90
- export let propsNames = [];
91
- export let variableEditor = undefined;
92
- let itemPicker = undefined;
93
- const dispatch = createEventDispatcher();
94
- let drawer;
95
- let property = DEFAULT_PROPERTY;
96
- function handleKeyUp(event) {
97
- const key = event.key;
98
- if (key === 'Enter') {
99
- dispatch('save', property);
100
- }
101
- }
102
- export function openDrawer(nproperty) {
103
- drawer.openDrawer();
104
- error = '';
105
- property = nproperty;
106
- }
107
- export function closeDrawer() {
108
- drawer.closeDrawer();
109
- }
110
- function clearModal() {
111
- error = '';
112
- editing = false;
113
- oldArgName = undefined;
114
- property.name = DEFAULT_PROPERTY.name;
115
- property.default = DEFAULT_PROPERTY.default;
116
- property.description = DEFAULT_PROPERTY.description;
117
- property.required = DEFAULT_PROPERTY.required;
118
- property.selectedType = DEFAULT_PROPERTY.selectedType;
119
- property.format = undefined;
120
- property.schema = undefined;
121
- property.min = undefined;
122
- property.max = undefined;
123
- property.currency = undefined;
124
- property.currencyLocale = undefined;
125
- property.multiselect = undefined;
126
- property.items = undefined;
127
- property.showExpr = undefined;
128
- property.password = undefined;
129
- property.nullable = false;
130
- property.dateFormat = undefined;
131
- property.title = undefined;
132
- property.placeholder = undefined;
133
- drawer.closeDrawer();
134
- }
135
- $: if (property.name == '') {
136
- error = 'Name is required';
137
- }
138
- else {
139
- error = '';
140
- }
141
- let title = '';
142
- $: title = editing ? `Edit ${oldArgName} argument` : 'Add an argument';
143
- function getResourceTypesFromFormat(format) {
144
- if (format?.startsWith('resource-')) {
145
- return [format.split('-')[1]];
146
- }
147
- return [];
148
- }
149
- function shouldDisplayPlaceholderForProperty(property) {
150
- return shouldDisplayPlaceholder(property.selectedType, property.format, property.enum_, property.contentEncoding, property.pattern);
151
- }
152
- </script>
153
-
154
- <Drawer bind:this={drawer} placement="right">
155
- <DrawerContent on:close={clearModal} {title}>
156
- <div class="flex flex-col gap-6">
157
- <div>
158
- <label class="block">
159
- <div class="mb-1 font-semibold text-secondary">
160
- Name
161
- <Required required={true} />
162
- </div>
163
- <!-- svelte-ignore a11y-autofocus -->
164
- <input
165
- id="schema-modal-name"
166
- autofocus
167
- autocomplete="off"
168
- type="text"
169
- placeholder="Enter a name"
170
- bind:value={property.name}
171
- on:keyup={handleKeyUp}
172
- class={error === ''
173
- ? ''
174
- : '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'}
175
- />
176
- </label>
177
- <div class="text-red-600 text-2xs">{error}</div>
178
- </div>
179
-
180
- <label class="block">
181
- <div class="mb-1 font-semibold text-secondary">
182
- Description
183
- <Required required={false} />
184
- </div>
185
- <textarea placeholder="Enter a description" rows="3" bind:value={property.description} />
186
- </label>
187
-
188
- <label class="block">
189
- <div class="mb-1 font-semibold text-secondary"> Custom Title </div>
190
- <textarea placeholder="Enter a custom title" rows="1" bind:value={property.title} />
191
- </label>
192
- <div>
193
- <div class="mb-1 font-semibold text-secondary">Type<Required required={true} /></div>
194
- <div class="grid sm:grid-cols-3 md:grid-cols-4 gap-x-2 gap-y-1 items-center mb-2 w-full">
195
- {#each ARG_TYPES as argType}
196
- {@const isSelected =
197
- (argType === 'S3' && property.format === 'resource-s3_object') ||
198
- (argType === property.selectedType && property.format !== 'resource-s3_object')}
199
- <Button
200
- size="sm"
201
- variant="border"
202
- color={isSelected ? 'blue' : 'light'}
203
- btnClasses={isSelected ? '!border-2' : 'm-[1px]'}
204
- on:click={() => {
205
- const isS3 = argType == 'S3'
206
-
207
- if (isS3) {
208
- property.selectedType = 'object'
209
- property.format = 'resource-s3_object'
210
- } else {
211
- property.format = undefined
212
- property.selectedType = argType
213
- }
214
-
215
- property.contentEncoding = undefined
216
- property.enum_ = undefined
217
- property.pattern = undefined
218
- property.default = undefined
219
- property.min = undefined
220
- property.max = undefined
221
- property.currency = undefined
222
- property.currencyLocale = undefined
223
- property.multiselect = undefined
224
- property.password = undefined
225
- property.dateFormat = undefined
226
- if (argType == 'array') {
227
- property.items = { type: 'string' }
228
- } else {
229
- property.items = undefined
230
- }
231
- property.showExpr = undefined
232
- }}
233
- id={`schema-modal-type-${argType}`}
234
- >
235
- {argTypesLabels[argType]}
236
- </Button>
237
- {/each}
238
- <Button
239
- size="sm"
240
- variant="border"
241
- color={!property.selectedType ? 'blue' : 'light'}
242
- btnClasses={!property.selectedType ? '!border-2' : 'm-[1px]'}
243
- on:click={() => {
244
- property.selectedType = undefined
245
- }}
246
- >
247
- any
248
- </Button>
249
- </div>
250
- </div>
251
- <div>
252
- <div class="flex flex-row gap-x-4 items-center">
253
- <ArgInput
254
- {itemPicker}
255
- resourceTypes={getResourceTypesFromFormat(property.format)}
256
- label="Default"
257
- bind:value={property.default}
258
- type={property.password ? 'string' : property.selectedType}
259
- pattern={property.pattern}
260
- customErrorMessage={property.customErrorMessage}
261
- itemsType={property.items}
262
- contentEncoding={property.contentEncoding}
263
- format={property.format}
264
- extra={property.password ? {} : property}
265
- nullable={property.nullable}
266
- title={property.title}
267
- placeholder={property.placeholder}
268
- {variableEditor}
269
- />
270
- <div>
271
- <Toggle
272
- options={{ right: 'Required' }}
273
- size="xs"
274
- bind:checked={property.required}
275
- on:change={(event) => {
276
- if (event?.detail) {
277
- property.nullable = false
278
- }
279
- }}
280
- />
281
- {#if property?.selectedType === 'string'}
282
- <Toggle
283
- options={{
284
- right: 'Nullable',
285
- rightTooltip:
286
- 'If enabled, the default value will be null and not an empty string.'
287
- }}
288
- size="xs"
289
- bind:checked={property.nullable}
290
- disabled={property?.required}
291
- />
292
- {/if}
293
- </div>
294
- </div>
295
- {#if isFlowInput}
296
- <Alert type="info" title="Default not used by webhooks" size="xs" collapsible>
297
- If this flow is triggered by a webhook, the default value will not replace a missing
298
- value from the payload. It will only be used as the default value in the autogenerated
299
- UI. We recommend using default values in the signature of the steps where this value is
300
- used (using `x=default`) to have the desired behavior.
301
- </Alert>
302
- {/if}
303
- </div>
304
- <div>
305
- <div class="font-semibold text-secondary mb-1">Advanced</div>
306
- {#if property.selectedType == 'string'}
307
- <StringTypeNarrowing
308
- bind:customErrorMessage={property.customErrorMessage}
309
- bind:format={property.format}
310
- bind:pattern={property.pattern}
311
- bind:enum_={property.enum_}
312
- bind:contentEncoding={property.contentEncoding}
313
- bind:password={property.password}
314
- bind:dateFormat={property.dateFormat}
315
- noExtra
316
- />
317
- {:else if property.selectedType == 'array'}
318
- <ArrayTypeNarrowing bind:itemsType={property.items} />
319
- {:else if property.selectedType == 'number' || property.selectedType == 'integer'}
320
- <NumberTypeNarrowing
321
- bind:min={property.min}
322
- bind:max={property.max}
323
- bind:currency={property.currency}
324
- bind:currencyLocale={property.currencyLocale}
325
- />
326
- {:else if property.selectedType == 'object' && property.format !== 'resource-s3'}
327
- <Tabs selected="resource">
328
- <Tab value="resource">Resource</Tab>
329
- <Tab value="custom-object">Custom Object</Tab>
330
- <svelte:fragment slot="content">
331
- <div class="pt-2">
332
- <TabContent value="custom-object">
333
- <SchemaEditor bind:schema={property.schema} />
334
- </TabContent>
335
-
336
- <TabContent value="resource">
337
- <h3 class="mb-2 font-bold mt-4">Resource type</h3>
338
- <ObjectTypeNarrowing bind:format={property.format} />
339
- </TabContent>
340
- </div>
341
- </svelte:fragment>
342
- </Tabs>
343
- {/if}
344
- {#if property && shouldDisplayPlaceholderForProperty(property)}
345
- <Label label="Placeholder" class="pt-2">
346
- <textarea
347
- placeholder="Enter a placeholder"
348
- rows="1"
349
- bind:value={property.placeholder}
350
- />
351
- </Label>
352
- {/if}
353
-
354
- <div class="pt-2">
355
- <Toggle
356
- options={{ right: 'Show this field only when conditions are met' }}
357
- class="!justify-start"
358
- checked={Boolean(property.showExpr)}
359
- on:change={() => {
360
- property.showExpr = property.showExpr ? undefined : 'true //fields.foo == 42'
361
- }}
362
- />
363
- {#if property.showExpr != undefined}
364
- <div class="border">
365
- <SimpleEditor
366
- extraLib={`declare const fields: Record<${propsNames
367
- .filter((x) => x != property.name)
368
- .map((x) => `"${x}"`)
369
- .join(' | ')}, any>;\n`}
370
- lang="javascript"
371
- bind:code={property.showExpr}
372
- shouldBindKey={false}
373
- fixedOverflowWidgets={false}
374
- autoHeight
375
- />
376
- </div>
377
- <div class="flex flex-row-reverse text-2xs text-tertiary"
378
- ><div
379
- >Other fields are available under <code>fields</code> (e.g:
380
- <code>fields.foo == 42</code>)</div
381
- ></div
382
- >
383
- {/if}
384
- </div>
385
- </div>
386
- </div>
387
- <div class="font-semibold text-secondary mb-1 pt-4">Preview</div>
388
- <LightweightSchemaForm
389
- displayType={false}
390
- schema={{
391
- properties: {
392
- [property.name]: modalToSchema(property)
393
- },
394
- required: property.required ? [property.name] : []
395
- }}
396
- />
397
- <svelte:fragment slot="actions">
398
- <div class="h-10" />
399
- <Button
400
- color="dark"
401
- disabled={!property.name || error != ''}
402
- on:click={() => {
403
- dispatch('save', property)
404
- }}
405
- id="schema-modal-save"
406
- >
407
- Save
408
- </Button>
409
- </svelte:fragment>
410
- </DrawerContent>
411
- </Drawer>
412
-
413
- {#if isFlowInput}
414
- <ItemPicker
415
- bind:this={itemPicker}
416
- pickCallback={(path, _) => {
417
- if (property) {
418
- property.default = '$var:' + path
419
- }
420
- }}
421
- itemName="Variable"
422
- tooltip="Variables are dynamic values that have a key associated to them and can be retrieved during the execution of a Script or Flow."
423
- documentationLink="https://www.windmill.dev/docs/core_concepts/variables_and_secrets"
424
- extraField="path"
425
- loadItems={async () =>
426
- (await VariableService.listVariable({ workspace: $workspaceStore ?? '' })).map((x) => ({
427
- name: x.path,
428
- ...x
429
- }))}
430
- >
431
- <div slot="submission">
432
- <Button
433
- variant="border"
434
- color="blue"
435
- size="sm"
436
- startIcon={{ icon: Plus }}
437
- on:click={() => variableEditor?.initNew?.()}
438
- >
439
- New Variable
440
- </Button>
441
- </div>
442
- </ItemPicker>
443
- {/if}
@@ -1,33 +0,0 @@
1
- import { SvelteComponent } from "svelte";
2
- import { type SchemaProperty, type ModalSchemaProperty } from '../common';
3
- export declare const ARG_TYPES: readonly ["integer", "number", "string", "boolean", "object", "array", "S3"];
4
- export type ArgType = (typeof ARG_TYPES)[number];
5
- export declare function schemaToModal(schema: SchemaProperty, name: string, required: boolean): ModalSchemaProperty;
6
- export declare const DEFAULT_PROPERTY: ModalSchemaProperty;
7
- import type VariableEditor from './VariableEditor.svelte';
8
- declare const __propDef: {
9
- props: {
10
- error?: string | undefined;
11
- editing?: boolean | undefined;
12
- oldArgName?: string | undefined;
13
- isFlowInput?: boolean | undefined;
14
- propsNames?: string[] | undefined;
15
- variableEditor?: VariableEditor | undefined;
16
- openDrawer?: ((nproperty: ModalSchemaProperty) => void) | undefined;
17
- closeDrawer?: (() => void) | undefined;
18
- };
19
- events: {
20
- save: CustomEvent<any>;
21
- } & {
22
- [evt: string]: CustomEvent<any>;
23
- };
24
- slots: {};
25
- };
26
- export type SchemaModalProps = typeof __propDef.props;
27
- export type SchemaModalEvents = typeof __propDef.events;
28
- export type SchemaModalSlots = typeof __propDef.slots;
29
- export default class SchemaModal extends SvelteComponent<SchemaModalProps, SchemaModalEvents, SchemaModalSlots> {
30
- get openDrawer(): (nproperty: ModalSchemaProperty) => void;
31
- get closeDrawer(): () => void;
32
- }
33
- export {};
@@ -1,55 +0,0 @@
1
- <script>import Badge from '../../../common/badge/Badge.svelte';
2
- import { getContext } from 'svelte';
3
- import PanelSection from './common/PanelSection.svelte';
4
- import Toggle from '../../../Toggle.svelte';
5
- export let recomputeIds = undefined;
6
- export let ownId;
7
- export let title = 'Trigger runnables on success';
8
- export let tooltip = 'Select components to recompute after this runnable has successfully run';
9
- export let documentationLink = 'https://www.windmill.dev/docs/apps/app-runnable-panel#trigger-runnables-on-success';
10
- const { runnableComponents } = getContext('AppViewerContext');
11
- function onChange(checked, id) {
12
- if (checked) {
13
- recomputeIds = [...(recomputeIds ?? []), id];
14
- }
15
- else {
16
- recomputeIds = recomputeIds?.filter((x) => x !== id);
17
- }
18
- }
19
- </script>
20
-
21
- <PanelSection {title} {tooltip} {documentationLink}>
22
- {#if Object.keys($runnableComponents ?? {}).filter((id) => id !== ownId).length > 0}
23
- <table class="divide-y border w-full">
24
- <thead class="bg-surface-secondary">
25
- <tr>
26
- <th scope="col" class="px-2 py-2 text-left text-xs font-medium text-tertiary">
27
- Component
28
- </th>
29
- <th scope="col" class="px-4 py-2 text-left text-xs font-medium text-tertiary">
30
- Recompute
31
- </th>
32
- </tr>
33
- </thead>
34
- <tbody>
35
- {#each Object.keys($runnableComponents ?? {}).filter((id) => id !== ownId) as id}
36
- <tr>
37
- <td class="whitespace-nowrap px-2 text-xs">
38
- <Badge color="indigo">{id}</Badge>
39
- </td>
40
- <td class="relative whitespace-nowrap px-4">
41
- <Toggle
42
- class="windmillapp my-1"
43
- size="xs"
44
- on:change={(e) => onChange(e.detail, id)}
45
- checked={recomputeIds?.includes(id)}
46
- />
47
- </td>
48
- </tr>
49
- {/each}
50
- </tbody>
51
- </table>
52
- {:else}
53
- <div class="text-xs">No components to recompute. Create one and select it here.</div>
54
- {/if}
55
- </PanelSection>
@@ -1,20 +0,0 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- recomputeIds?: string[] | undefined;
5
- ownId: string;
6
- title?: string | undefined;
7
- tooltip?: string | undefined;
8
- documentationLink?: string | undefined;
9
- };
10
- events: {
11
- [evt: string]: CustomEvent<any>;
12
- };
13
- slots: {};
14
- };
15
- export type RecomputeProps = typeof __propDef.props;
16
- export type RecomputeEvents = typeof __propDef.events;
17
- export type RecomputeSlots = typeof __propDef.slots;
18
- export default class Recompute extends SvelteComponent<RecomputeProps, RecomputeEvents, RecomputeSlots> {
19
- }
20
- export {};