windmill-components 1.56.2 → 1.57.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 (224) hide show
  1. package/assets/app.css +5 -1
  2. package/components/ArgInput.svelte +6 -6
  3. package/components/CenteredModal.svelte +15 -14
  4. package/components/CenteredModal.svelte.d.ts +1 -0
  5. package/components/DisplayResult.svelte +1 -1
  6. package/components/Dropdown.svelte +4 -3
  7. package/components/Dropdown.svelte.d.ts +2 -0
  8. package/components/Editor.svelte +6 -4
  9. package/components/Editor.svelte.d.ts +2 -0
  10. package/components/EditorBar.svelte +15 -1
  11. package/components/FlowBuilder.svelte +18 -10
  12. package/components/FlowPreviewContent.svelte +1 -1
  13. package/components/GroupEditor.svelte +1 -0
  14. package/components/IconedResourceType.svelte +2 -2
  15. package/components/InputTransformForm.svelte +50 -40
  16. package/components/InputTransformForm.svelte.d.ts +1 -0
  17. package/components/ItemPicker.svelte +63 -57
  18. package/components/ItemPicker.svelte.d.ts +1 -2
  19. package/components/LogViewer.svelte +6 -5
  20. package/components/ModulePreview.svelte +20 -22
  21. package/components/MoveDrawer.svelte +40 -16
  22. package/components/MoveDrawer.svelte.d.ts +2 -2
  23. package/components/PageHeader.svelte +1 -1
  24. package/components/Path.svelte +5 -2
  25. package/components/Popover.svelte +14 -20
  26. package/components/Popover.svelte.d.ts +5 -0
  27. package/components/RadioButton.svelte +5 -3
  28. package/components/RadioButton.svelte.d.ts +2 -0
  29. package/components/ResourceEditor.svelte +2 -1
  30. package/components/ResourcePicker.svelte +1 -0
  31. package/components/RunChart.svelte +0 -1
  32. package/components/SchemaEditor.svelte +3 -0
  33. package/components/SchemaForm.svelte +86 -77
  34. package/components/SchemaForm.svelte.d.ts +4 -0
  35. package/components/ScriptBuilder.svelte +2 -1
  36. package/components/ScriptEditor.svelte +88 -77
  37. package/components/ShareModal.svelte.d.ts +2 -2
  38. package/components/SimpleEditor.svelte +17 -0
  39. package/components/Star.svelte +15 -9
  40. package/components/StringTypeNarrowing.svelte +30 -8
  41. package/components/TemplateEditor.svelte +21 -11
  42. package/components/TestJobLoader.svelte +94 -68
  43. package/components/TestJobLoader.svelte.d.ts +10 -8
  44. package/components/Toggle.svelte +30 -7
  45. package/components/Toggle.svelte.d.ts +4 -0
  46. package/components/Tooltip.svelte +1 -1
  47. package/components/VariableEditor.svelte +4 -3
  48. package/components/VariableEditor.svelte.d.ts +2 -2
  49. package/components/apps/components/DisplayComponent.svelte +1 -1
  50. package/components/apps/components/buttons/AppButton.svelte +16 -10
  51. package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
  52. package/components/apps/components/dataDisplay/AppBarChart.svelte +17 -8
  53. package/components/apps/components/dataDisplay/AppHtml.svelte +23 -0
  54. package/components/apps/components/dataDisplay/AppHtml.svelte.d.ts +23 -0
  55. package/components/apps/components/dataDisplay/AppPieChart.svelte +11 -7
  56. package/components/apps/components/dataDisplay/AppScatterChart.svelte +46 -0
  57. package/components/apps/components/dataDisplay/AppScatterChart.svelte.d.ts +21 -0
  58. package/components/apps/components/dataDisplay/AppText.svelte +44 -7
  59. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +1 -0
  60. package/components/apps/components/dataDisplay/AppTimeseries.svelte +57 -0
  61. package/components/apps/components/dataDisplay/AppTimeseries.svelte.d.ts +22 -0
  62. package/components/apps/components/form/AppForm.svelte +35 -18
  63. package/components/apps/components/helpers/AlignWrapper.svelte +2 -1
  64. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +1 -0
  65. package/components/apps/components/helpers/InputValue.svelte +20 -14
  66. package/components/apps/components/helpers/InputValue.svelte.d.ts +3 -0
  67. package/components/apps/components/helpers/NonRunnableComponent.svelte +7 -6
  68. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
  69. package/components/apps/components/helpers/RefreshButton.svelte +16 -11
  70. package/components/apps/components/helpers/RefreshButton.svelte.d.ts +2 -0
  71. package/components/apps/components/helpers/RunnableComponent.svelte +119 -102
  72. package/components/apps/components/helpers/RunnableWrapper.svelte +6 -1
  73. package/components/apps/components/selectInputs/AppCheckbox.svelte +4 -0
  74. package/components/apps/components/selectInputs/AppSelect.svelte +2 -0
  75. package/components/apps/components/table/AppTable.svelte +64 -35
  76. package/components/apps/components/table/AppTableFooter.svelte +2 -1
  77. package/components/apps/components/table/tableOptions.d.ts +2 -9
  78. package/components/apps/components/table/tableOptions.js +5 -2
  79. package/components/apps/components/textInputs/AppTextInput.svelte +7 -4
  80. package/components/apps/editor/AppEditor.svelte +136 -65
  81. package/components/apps/editor/AppEditor.svelte.d.ts +3 -0
  82. package/components/apps/editor/AppEditorHeader.svelte +349 -51
  83. package/components/apps/editor/AppEditorHeader.svelte.d.ts +2 -4
  84. package/components/apps/editor/AppExportButton.svelte +34 -0
  85. package/components/apps/editor/AppExportButton.svelte.d.ts +17 -0
  86. package/components/apps/editor/AppPreview.svelte +20 -7
  87. package/components/apps/editor/AppPreview.svelte.d.ts +6 -0
  88. package/components/apps/editor/AppPublishButton.svelte +53 -0
  89. package/components/apps/editor/AppPublishButton.svelte.d.ts +18 -0
  90. package/components/apps/editor/ComponentEditor.svelte +39 -8
  91. package/components/apps/editor/ComponentEditor.svelte.d.ts +1 -0
  92. package/components/apps/editor/ComponentHeader.svelte +38 -29
  93. package/components/apps/editor/ComponentHeader.svelte.d.ts +3 -1
  94. package/components/apps/editor/GridEditor.svelte +105 -67
  95. package/components/apps/editor/GridEditor.svelte.d.ts +6 -1
  96. package/components/apps/editor/RecomputeAllComponents.svelte +80 -19
  97. package/components/apps/editor/SettingsPanel.svelte +2 -2
  98. package/components/apps/editor/TablePanel.svelte +1 -0
  99. package/components/apps/editor/componentsPanel/ComponentList.svelte +30 -39
  100. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -1
  101. package/components/apps/editor/componentsPanel/componentStaticValues.js +3 -2
  102. package/components/apps/editor/componentsPanel/data.js +201 -91
  103. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -0
  104. package/components/apps/editor/contextPanel/ContextPanel.svelte +69 -47
  105. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -2
  106. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
  107. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +56 -20
  108. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -0
  109. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +5 -1
  110. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +2 -0
  111. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +72 -23
  112. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
  113. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +30 -22
  114. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +78 -77
  115. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +38 -33
  116. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +4 -4
  117. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +1 -11
  118. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +27 -9
  119. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +19 -24
  120. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +1 -0
  121. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +12 -5
  122. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -3
  123. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +59 -33
  124. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +5 -2
  125. package/components/apps/editor/settingsPanel/Recompute.svelte +2 -2
  126. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +21 -3
  127. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +1 -3
  128. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
  129. package/components/apps/editor/settingsPanel/TableActions.svelte +27 -18
  130. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +1 -0
  131. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +10 -2
  132. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +3 -0
  133. package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +6 -4
  134. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +24 -0
  135. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +17 -0
  136. package/components/apps/editor/settingsPanel/inputEditor/RowInputEditor.svelte +6 -0
  137. package/components/apps/editor/settingsPanel/inputEditor/RowInputEditor.svelte.d.ts +17 -0
  138. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +11 -21
  139. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
  140. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -2
  141. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +42 -13
  142. package/components/apps/editorUtils.d.ts +1 -0
  143. package/components/apps/editorUtils.js +11 -0
  144. package/components/apps/gridUtils.js +2 -1
  145. package/components/apps/inputType.d.ts +12 -6
  146. package/components/apps/rx.d.ts +3 -3
  147. package/components/apps/rx.js +9 -4
  148. package/components/apps/store.d.ts +2 -0
  149. package/components/apps/store.js +2 -0
  150. package/components/apps/types.d.ts +20 -4
  151. package/components/apps/utils.d.ts +2 -2
  152. package/components/apps/utils.js +25 -9
  153. package/components/common/button/Button.svelte +8 -8
  154. package/components/common/button/Button.svelte.d.ts +2 -0
  155. package/components/common/confirmationModal/ConfirmationModal.svelte +1 -0
  156. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -1
  157. package/components/common/popup/Popup.svelte +1 -1
  158. package/components/common/table/AppRow.svelte +31 -4
  159. package/components/common/table/AppRow.svelte.d.ts +4 -0
  160. package/components/common/table/FlowRow.svelte +9 -5
  161. package/components/common/table/Row.svelte +10 -8
  162. package/components/common/table/ScriptRow.svelte +15 -13
  163. package/components/common/tabs/Tabs.svelte +1 -1
  164. package/components/common/toggleButton/ToggleButton.svelte +2 -0
  165. package/components/common/toggleButton/ToggleButton.svelte.d.ts +1 -0
  166. package/components/flows/CreateActionsApp.svelte +43 -0
  167. package/components/flows/CreateActionsApp.svelte.d.ts +14 -0
  168. package/components/flows/CreateActionsFlow.svelte +6 -1
  169. package/components/flows/content/DynamicInputHelpBox.svelte +1 -1
  170. package/components/flows/content/FlowConstants.svelte +82 -0
  171. package/components/flows/content/FlowConstants.svelte.d.ts +14 -0
  172. package/components/flows/content/FlowEditorPanel.svelte +3 -0
  173. package/components/flows/content/FlowInputs.svelte +2 -2
  174. package/components/flows/content/FlowModuleComponent.svelte +4 -1
  175. package/components/flows/content/FlowModuleHeader.svelte +41 -89
  176. package/components/flows/content/FlowModuleHeader.svelte.d.ts +2 -2
  177. package/components/flows/content/FlowSettings.svelte +1 -1
  178. package/components/flows/flowStore.d.ts +1 -1
  179. package/components/flows/flowStore.js +8 -8
  180. package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  181. package/components/flows/header/FlowPreviewButtons.svelte +2 -1
  182. package/components/flows/map/FlowConstantsItem.svelte +13 -0
  183. package/components/flows/map/FlowConstantsItem.svelte.d.ts +14 -0
  184. package/components/flows/map/FlowInputsItem.svelte +1 -2
  185. package/components/flows/map/FlowModuleSchemaItem.svelte +34 -25
  186. package/components/flows/map/FlowModuleSchemaMap.svelte +9 -3
  187. package/components/flows/map/FlowSettingsItem.svelte +6 -8
  188. package/components/flows/pickers/PickHubScript.svelte +1 -1
  189. package/components/flows/propPicker/PropPickerWrapper.svelte +42 -31
  190. package/components/home/ItemsList.svelte +6 -4
  191. package/components/icons/ClickhouseIcon.svelte +22 -0
  192. package/components/icons/ClickhouseIcon.svelte.d.ts +17 -0
  193. package/components/icons/FaunadbIcon.svelte +19 -0
  194. package/components/icons/FaunadbIcon.svelte.d.ts +17 -0
  195. package/components/icons/OpenaiIcon.svelte +18 -0
  196. package/components/icons/OpenaiIcon.svelte.d.ts +17 -0
  197. package/components/icons/index.d.ts +7 -1
  198. package/components/icons/index.js +8 -2
  199. package/components/propertyPicker/ObjectViewer.svelte +11 -4
  200. package/components/propertyPicker/PropPicker.svelte +1 -1
  201. package/components/scriptEditor/LogPanel.svelte +26 -22
  202. package/components/sidebar/FavoriteMenu.svelte +23 -19
  203. package/components/sidebar/SidebarContent.svelte +16 -16
  204. package/components/sidebar/WorkspaceMenu.svelte +18 -17
  205. package/components/splitPanes/SplitPanesWrapper.svelte +1 -5
  206. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +0 -1
  207. package/editorUtils.js +2 -0
  208. package/gen/core/OpenAPI.js +1 -1
  209. package/gen/models/Policy.d.ts +1 -0
  210. package/gen/services/AppService.d.ts +18 -0
  211. package/gen/services/AppService.js +30 -0
  212. package/gen/services/GranularAclService.d.ts +3 -3
  213. package/gen/services/ResourceService.d.ts +15 -0
  214. package/gen/services/ResourceService.js +17 -0
  215. package/infer.js +4 -0
  216. package/logout.d.ts +1 -0
  217. package/logout.js +5 -3
  218. package/package.json +502 -489
  219. package/stores.d.ts +1 -0
  220. package/stores.js +13 -5
  221. package/utils.d.ts +1 -1
  222. package/utils.js +17 -10
  223. package/components/apps/CreateApp.svelte +0 -68
  224. package/components/apps/CreateApp.svelte.d.ts +0 -14
package/stores.d.ts CHANGED
@@ -32,4 +32,5 @@ export declare const hubScripts: import("svelte/store").Writable<{
32
32
  app: string;
33
33
  ask_id: number;
34
34
  }[] | undefined>;
35
+ export declare function switchWorkspace(workspace: string | undefined): void;
35
36
  export declare function clearStores(): void;
package/stores.js CHANGED
@@ -16,10 +16,6 @@ export const userWorkspaces = derived([usersWorkspaceStore, superadmin], ([store
16
16
  id: "admins",
17
17
  name: "Admins",
18
18
  username: "superadmin",
19
- }, {
20
- id: "starter",
21
- name: "Starter",
22
- username: "superadmin",
23
19
  }];
24
20
  }
25
21
  else {
@@ -30,7 +26,12 @@ export const hubScripts = writable(undefined);
30
26
  if (browser) {
31
27
  workspaceStore.subscribe(async (workspace) => {
32
28
  if (workspace) {
33
- localStorage.setItem("workspace", String(workspace));
29
+ try {
30
+ localStorage.setItem("workspace", String(workspace));
31
+ }
32
+ catch (e) {
33
+ console.error('Could not persist workspace to local storage', e);
34
+ }
34
35
  userStore.set(await getUserExt(workspace));
35
36
  }
36
37
  else {
@@ -38,7 +39,14 @@ if (browser) {
38
39
  }
39
40
  });
40
41
  }
42
+ export function switchWorkspace(workspace) {
43
+ localStorage.removeItem("flow");
44
+ localStorage.removeItem("app");
45
+ workspaceStore.set(workspace);
46
+ }
41
47
  export function clearStores() {
48
+ localStorage.removeItem("flow");
49
+ localStorage.removeItem("app");
42
50
  localStorage.removeItem("workspace");
43
51
  userStore.set(undefined);
44
52
  workspaceStore.set(undefined);
package/utils.d.ts CHANGED
@@ -71,7 +71,7 @@ export declare function isString(value: any): boolean;
71
71
  export declare function mapUserToUserExt(user: User): UserExt;
72
72
  export declare function schemaToTsType(schema: Schema): string;
73
73
  export declare function schemaToObject(schema: Schema, args: Record<string, any>): Object;
74
- export type InputCat = 'string' | 'number' | 'boolean' | 'list' | 'resource-object' | 'enum' | 'date' | 'base64' | 'resource-string' | 'object' | 'sql';
74
+ export type InputCat = 'string' | 'number' | 'boolean' | 'list' | 'resource-object' | 'enum' | 'date' | 'base64' | 'resource-string' | 'object' | 'sql' | 'yaml';
75
75
  export declare function setInputCat(type: string | undefined, format: string | undefined, itemsType: string | undefined, enum_: any, contentEncoding: string | undefined): InputCat;
76
76
  export declare function scriptPathToHref(path: string): string;
77
77
  export declare function getScriptByPath(path: string): Promise<{
package/utils.js CHANGED
@@ -147,10 +147,10 @@ export function removeItemAll(arr, value) {
147
147
  return arr;
148
148
  }
149
149
  export async function isOwner(path, user, workspace) {
150
- if (user.is_admin && (workspace != 'starter' || user.is_super_admin)) {
150
+ if (user.is_admin && ((workspace == 'starter' || workspace == 'admin') && user.is_super_admin)) {
151
151
  return true;
152
152
  }
153
- else if (workspace == 'starter') {
153
+ else if (workspace == 'starter' || workspace == 'admin') {
154
154
  return false;
155
155
  }
156
156
  else {
@@ -239,15 +239,19 @@ export async function setQuery(url, key, value) {
239
239
  url.searchParams.set(key, value);
240
240
  await goto(`?${url.searchParams.toString()}`);
241
241
  }
242
+ let debounced = undefined;
242
243
  export function setQueryWithoutLoad(url, key, value) {
243
- const nurl = new URL(url.toString());
244
- nurl.searchParams.set(key, value);
245
- try {
246
- history.replaceState(history.state, '', nurl.toString());
247
- }
248
- catch (e) {
249
- console.error(e);
250
- }
244
+ debounced && clearTimeout(debounced);
245
+ debounced = setTimeout(() => {
246
+ const nurl = new URL(url.toString());
247
+ nurl.searchParams.set(key, value);
248
+ try {
249
+ history.replaceState(history.state, '', nurl.toString());
250
+ }
251
+ catch (e) {
252
+ console.error(e);
253
+ }
254
+ }, 200);
251
255
  }
252
256
  export function groupBy(scripts, toGroup, dflts = []) {
253
257
  let r = {};
@@ -380,6 +384,9 @@ export function setInputCat(type, format, itemsType, enum_, contentEncoding) {
380
384
  else if (type == 'string' && format == 'sql') {
381
385
  return 'sql';
382
386
  }
387
+ else if (type == 'string' && format == 'yaml') {
388
+ return 'yaml';
389
+ }
383
390
  else if (type == 'string' && contentEncoding == 'base64') {
384
391
  return 'base64';
385
392
  }
@@ -1,68 +0,0 @@
1
- <script>import { faPlus } from '@fortawesome/free-solid-svg-icons';
2
- import { AppService, Policy } from '../../gen';
3
- import { userStore, workspaceStore } from '../../stores';
4
- import { sendUserToast } from '../../utils';
5
- import { Button, Drawer, DrawerContent } from '../common';
6
- let path = '';
7
- let initialPath = '';
8
- let pathError = '';
9
- import { goto } from '$app/navigation';
10
- import Path from '../Path.svelte';
11
- import { LayoutDashboard } from 'lucide-svelte';
12
- let drawerOpen = false;
13
- function closeDrawer() {
14
- drawerOpen = false;
15
- }
16
- async function createApp() {
17
- const appJson = {
18
- grid: [],
19
- title: 'New app',
20
- unusedInlineScripts: []
21
- };
22
- const policy = {
23
- triggerables: {},
24
- execution_mode: Policy.execution_mode.PUBLISHER,
25
- on_behalf_of: `u/${$userStore?.username}`
26
- };
27
- try {
28
- const appId = await AppService.createApp({
29
- workspace: $workspaceStore,
30
- requestBody: {
31
- value: appJson,
32
- path,
33
- summary: 'App summary',
34
- policy
35
- }
36
- });
37
- goto(`/apps/edit/${appId}`);
38
- }
39
- catch (e) {
40
- sendUserToast('Error creating app', e);
41
- }
42
- }
43
- </script>
44
-
45
- <Drawer bind:open={drawerOpen} size="800px">
46
- <DrawerContent title="Add an app" on:close={() => closeDrawer()}>
47
- <Path bind:error={pathError} bind:path {initialPath} namePlaceholder="my_app" kind="app">
48
- <div slot="ownerToolkit">
49
- App permissions depend on their path. Select the group <span class="font-mono">all</span>
50
- to share it, and <span class="font-mono">user</span> to keep it private.
51
- <a href="https://docs.windmill.dev/docs/reference/namespaces">docs</a>
52
- </div>
53
- </Path>
54
-
55
- <div slot="actions">
56
- <Button on:click={() => createApp()}>Create app</Button>
57
- </div>
58
- </DrawerContent>
59
- </Drawer>
60
-
61
- <Button
62
- size="sm"
63
- spacingSize="lg"
64
- startIcon={{ icon: faPlus }}
65
- on:click={() => (drawerOpen = true)}
66
- >
67
- New App (alpha) <LayoutDashboard class="ml-1.5" size={18} />
68
- </Button>
@@ -1,14 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {};
8
- };
9
- export type CreateAppProps = typeof __propDef.props;
10
- export type CreateAppEvents = typeof __propDef.events;
11
- export type CreateAppSlots = typeof __propDef.slots;
12
- export default class CreateApp extends SvelteComponentTyped<CreateAppProps, CreateAppEvents, CreateAppSlots> {
13
- }
14
- export {};