windmill-components 1.383.8 → 1.389.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 (195) hide show
  1. package/package/assets/app.css +25 -1
  2. package/package/components/ArgInput.svelte +2 -1
  3. package/package/components/ChangeInstanceUsername.svelte +9 -108
  4. package/package/components/ChangeInstanceUsernameInner.svelte +112 -0
  5. package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +21 -0
  6. package/package/components/DiffDrawer.svelte +27 -20
  7. package/package/components/DiffEditor.svelte +13 -1
  8. package/package/components/DisplayResult.svelte +39 -9
  9. package/package/components/DropdownV2.svelte +4 -26
  10. package/package/components/DropdownV2.svelte.d.ts +9 -1
  11. package/package/components/DropdownV2Inner.svelte +42 -0
  12. package/package/components/DropdownV2Inner.svelte.d.ts +40 -0
  13. package/package/components/Editor.svelte +142 -128
  14. package/package/components/Editor.svelte.d.ts +5 -4
  15. package/package/components/EditorBar.svelte +9 -11
  16. package/package/components/EditorSettings.svelte +44 -0
  17. package/package/components/EditorSettings.svelte.d.ts +17 -0
  18. package/package/components/EditorTheme.svelte +1 -1
  19. package/package/components/ErrorOrRecoveryHandler.svelte +27 -20
  20. package/package/components/FlowBuilder.svelte +17 -3
  21. package/package/components/FlowBuilder.svelte.d.ts +3 -0
  22. package/package/components/FlowGraphViewerStep.svelte +1 -1
  23. package/package/components/FlowStatusViewer.svelte +3 -1
  24. package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
  25. package/package/components/FlowStatusViewerInner.svelte +5 -2
  26. package/package/components/FlowViewerInner.svelte +3 -7
  27. package/package/components/FormatOnSave.svelte +12 -29
  28. package/package/components/GraphqlSchemaViewer.svelte +1 -1
  29. package/package/components/GraphqlSchemaViewer.svelte.d.ts +1 -1
  30. package/package/components/HighlightCode.svelte +3 -0
  31. package/package/components/InstanceNameEditor.svelte +64 -0
  32. package/package/components/InstanceNameEditor.svelte.d.ts +23 -0
  33. package/package/components/LightweightArgInput.svelte +6 -11
  34. package/package/components/LogViewer.svelte +37 -29
  35. package/package/components/LogViewer.svelte.d.ts +2 -0
  36. package/package/components/ObjectResourceInput.svelte +1 -1
  37. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  38. package/package/components/Path.svelte +3 -3
  39. package/package/components/QueueMetricsDrawer.svelte +6 -218
  40. package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -3
  41. package/package/components/QueueMetricsDrawerInner.svelte +211 -0
  42. package/package/components/QueueMetricsDrawerInner.svelte.d.ts +15 -0
  43. package/package/components/ResourceEditorDrawer.svelte +14 -11
  44. package/package/components/ResourceEditorDrawer.svelte.d.ts +1 -1
  45. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  46. package/package/components/S3FilePicker.svelte +20 -8
  47. package/package/components/ScheduleEditorInner.svelte +497 -469
  48. package/package/components/ScriptBuilder.svelte +12 -1
  49. package/package/components/ScriptBuilder.svelte.d.ts +3 -0
  50. package/package/components/ScriptEditor.svelte +2 -0
  51. package/package/components/ScriptEditor.svelte.d.ts +2 -1
  52. package/package/components/ServiceLogsInner.svelte +511 -0
  53. package/package/components/ServiceLogsInner.svelte.d.ts +20 -0
  54. package/package/components/SimpleEditor.svelte +75 -37
  55. package/package/components/SimpleEditor.svelte.d.ts +9 -3
  56. package/package/components/Summary.svelte +33 -31
  57. package/package/components/Summary.svelte.d.ts +1 -0
  58. package/package/components/SuperadminSettings.svelte +28 -10
  59. package/package/components/TemplateEditor.svelte +1 -1
  60. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  61. package/package/components/VimMode.svelte +16 -0
  62. package/package/components/VimMode.svelte.d.ts +14 -0
  63. package/package/components/WorkerTagPicker.svelte +4 -1
  64. package/package/components/WorkspaceGroup.svelte +139 -68
  65. package/package/components/WorkspaceGroup.svelte.d.ts +3 -0
  66. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +19 -2
  67. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
  68. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +2 -1
  69. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +2 -0
  70. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +2 -1
  71. package/package/components/apps/components/display/table/AppAggridTable.svelte +45 -3
  72. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +2 -1
  73. package/package/components/apps/components/display/table/AppAggridTableEe.svelte +2 -0
  74. package/package/components/apps/components/display/table/AppAggridTableEe.svelte.d.ts +2 -1
  75. package/package/components/apps/editor/AppEditor.svelte +239 -92
  76. package/package/components/apps/editor/AppEditorBottomPanel.svelte +22 -0
  77. package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +24 -0
  78. package/package/components/apps/editor/AppEditorHeader.svelte +44 -2
  79. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +9 -0
  80. package/package/components/apps/editor/AppExportButton.svelte +1 -1
  81. package/package/components/apps/editor/AppPreview.svelte +4 -0
  82. package/package/components/apps/editor/DeploymentHistory.svelte +7 -3
  83. package/package/components/apps/editor/GridEditor.svelte +4 -13
  84. package/package/components/apps/editor/RunnableJobPanel.svelte +25 -58
  85. package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +10 -1
  86. package/package/components/apps/editor/RunnalbeJobPanelInner.svelte +56 -0
  87. package/package/components/apps/editor/RunnalbeJobPanelInner.svelte.d.ts +18 -0
  88. package/package/components/apps/editor/SubGridEditor.svelte +3 -1
  89. package/package/components/apps/editor/component/Component.svelte +26 -4
  90. package/package/components/apps/editor/component/Component.svelte.d.ts +1 -0
  91. package/package/components/apps/editor/component/components.d.ts +5 -0
  92. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +2 -0
  93. package/package/components/apps/editor/componentsPanel/tailwindUtils.js +267 -1
  94. package/package/components/apps/editor/contextPanel/ContextPanel.svelte +9 -1
  95. package/package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +2 -0
  96. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -0
  97. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +4 -0
  98. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +7 -2
  99. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte.d.ts +5 -1
  100. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +14 -2
  101. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +1 -0
  102. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +25 -5
  103. package/package/components/apps/editor/settingsPanel/HideButton.svelte +47 -0
  104. package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +22 -0
  105. package/package/components/apps/editor/settingsPanel/TableActions.svelte +43 -4
  106. package/package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
  107. package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -1
  108. package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +1 -0
  109. package/package/components/apps/svelte-grid/Grid.svelte +6 -2
  110. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +1 -0
  111. package/package/components/apps/svelte-grid/MoveResize.svelte +11 -3
  112. package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
  113. package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
  114. package/package/components/apps/svelte-grid/utils/item.js +11 -4
  115. package/package/components/build_workers.d.ts +1 -1
  116. package/package/components/build_workers.js +16 -122
  117. package/package/components/common/button/Button.svelte.d.ts +2 -2
  118. package/package/components/common/calendarPicker/CalendarPicker.svelte +6 -2
  119. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +2 -0
  120. package/package/components/common/drawer/ConditionalPortal.svelte +2 -1
  121. package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +1 -0
  122. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  123. package/package/components/common/popup/Popup.svelte +2 -1
  124. package/package/components/common/popup/Popup.svelte.d.ts +1 -0
  125. package/package/components/common/table/AppRow.svelte +11 -8
  126. package/package/components/common/table/AppRow.svelte.d.ts +1 -2
  127. package/package/components/common/table/FlowRow.svelte +3 -3
  128. package/package/components/common/table/FlowRow.svelte.d.ts +1 -2
  129. package/package/components/common/table/RawAppRow.svelte +3 -3
  130. package/package/components/common/table/RawAppRow.svelte.d.ts +1 -2
  131. package/package/components/common/table/ScriptRow.svelte +3 -3
  132. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -2
  133. package/package/components/copilot/CodeCompletionStatus.svelte +21 -46
  134. package/package/components/copilot/StepGen.svelte +2 -1
  135. package/package/components/custom_ui.d.ts +4 -1
  136. package/package/components/flows/CreateActionsApp.svelte +11 -8
  137. package/package/components/flows/CreateActionsFlow.svelte +11 -8
  138. package/package/components/flows/FlowEditor.svelte +1 -2
  139. package/package/components/flows/FlowEditor.svelte.d.ts +0 -1
  140. package/package/components/flows/FlowHistory.svelte +6 -3
  141. package/package/components/flows/content/FlowModuleComponent.svelte +1 -0
  142. package/package/components/flows/content/FlowModuleScript.svelte +15 -11
  143. package/package/components/flows/content/FlowSettings.svelte +1 -4
  144. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -0
  145. package/package/components/flows/header/FlowYamlEditor.svelte +55 -0
  146. package/package/components/flows/header/FlowYamlEditor.svelte.d.ts +17 -0
  147. package/package/components/flows/map/InsertTriggerButton.svelte +1 -1
  148. package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +1 -0
  149. package/package/components/flows/map/VirtualItem.svelte +1 -1
  150. package/package/components/flows/pickers/PickHubScript.svelte +1 -0
  151. package/package/components/flows/types.d.ts +7 -6
  152. package/package/components/flows/utils.d.ts +9 -0
  153. package/package/components/flows/utils.js +21 -0
  154. package/package/components/graph/graphBuilder.js +1 -0
  155. package/package/components/graph/model.d.ts +1 -0
  156. package/package/components/graph/renderers/edges/BaseEdge.svelte +16 -0
  157. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
  158. package/package/components/graph/renderers/nodes/NoBranchNode.svelte +5 -1
  159. package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +1 -0
  160. package/package/components/home/Item.svelte +0 -17
  161. package/package/components/home/deploy_ui.d.ts +2 -0
  162. package/package/components/home/deploy_ui.js +21 -0
  163. package/package/components/icons/RustIcon.svelte +70 -0
  164. package/package/components/icons/RustIcon.svelte.d.ts +25 -0
  165. package/package/components/icons/rust-logo.svg +1 -0
  166. package/package/components/instanceSettings.js +2 -2
  167. package/package/components/monaco_keybindings.d.ts +3 -0
  168. package/package/components/monaco_keybindings.js +9 -0
  169. package/package/components/preview/FlowPreviewStatus.svelte +6 -2
  170. package/package/components/runs/JobLoader.svelte +12 -3
  171. package/package/components/runs/JobLoader.svelte.d.ts +1 -1
  172. package/package/components/runs/ManuelDatePicker.svelte +31 -44
  173. package/package/components/runs/ManuelDatePicker.svelte.d.ts +6 -2
  174. package/package/components/runs/RunsFilter.svelte +4 -1
  175. package/package/components/runs/RunsFilter.svelte.d.ts +1 -0
  176. package/package/components/search/GlobalSearchModal.svelte +36 -25
  177. package/package/components/vscode.js +1 -1
  178. package/package/components/wizards/TableActionsWizard.svelte +84 -0
  179. package/package/components/wizards/TableActionsWizard.svelte.d.ts +22 -0
  180. package/package/editorUtils.js +2 -0
  181. package/package/gen/core/OpenAPI.js +1 -1
  182. package/package/gen/schemas.gen.d.ts +8 -8
  183. package/package/gen/schemas.gen.js +8 -8
  184. package/package/gen/services.gen.d.ts +4 -0
  185. package/package/gen/services.gen.js +16 -0
  186. package/package/gen/types.gen.d.ts +20 -8
  187. package/package/infer.d.ts +1 -1
  188. package/package/infer.js +48 -7
  189. package/package/script_helpers.d.ts +1 -0
  190. package/package/script_helpers.js +39 -1
  191. package/package/scripts.d.ts +1 -1
  192. package/package/scripts.js +12 -4
  193. package/package/stores.d.ts +5 -1
  194. package/package/stores.js +7 -2
  195. package/package.json +18 -9
@@ -1,14 +1,13 @@
1
- <script>import DisplayResult from '../../DisplayResult.svelte';
2
- import LogViewer from '../../LogViewer.svelte';
3
- import { getContext } from 'svelte';
4
- import { Splitpanes, Pane } from 'svelte-splitpanes';
1
+ <script>import { getContext } from 'svelte';
5
2
  import TestJobLoader from '../../TestJobLoader.svelte';
6
- import { Loader2 } from 'lucide-svelte';
3
+ import RunnalbeJobPanelInner from './RunnalbeJobPanelInner.svelte';
4
+ export let float = true;
5
+ export let hidden = false;
6
+ export let testJob = undefined;
7
+ export let jobToWatch = undefined;
7
8
  const { runnableJobEditorPanel, selectedComponentInEditor } = getContext('AppEditorContext');
8
- let testJob = undefined;
9
9
  let testIsLoading = false;
10
10
  let testJobLoader;
11
- let jobToWatch = undefined;
12
11
  $: $runnableJobEditorPanel.focused &&
13
12
  $selectedComponentInEditor &&
14
13
  $runnableJobEditorPanel.jobs &&
@@ -39,57 +38,25 @@ let resultDrawerOpen = false;
39
38
 
40
39
  <TestJobLoader bind:this={testJobLoader} bind:isLoading={testIsLoading} bind:job={testJob} />
41
40
 
42
- {#if ($runnableJobEditorPanel.focused && $selectedComponentInEditor) || logDrawerOpen || resultDrawerOpen}
41
+ {#if ($runnableJobEditorPanel.focused && $selectedComponentInEditor) || logDrawerOpen || resultDrawerOpen || !float}
43
42
  {@const frontendJob = $runnableJobEditorPanel?.frontendJobs[$selectedComponentInEditor ?? '']}
44
43
  <!-- svelte-ignore a11y-no-static-element-interactions -->
45
- <div
46
- class="absolute z-[100] top-0 right-0 border-t h-full"
47
- style="width: {$runnableJobEditorPanel.width}px; transform: translateX({$runnableJobEditorPanel.width}px);"
48
- >
49
- <Splitpanes horizontal>
50
- <Pane size={frontendJob ? 30 : 50} minSize={10}>
51
- {#if frontendJob}
52
- <div class="p-2 bg-surface-secondary h-full w-full">
53
- <div class="text-sm text-tertiary pb-4">Frontend Job</div>
54
- <div class="text-2xs text-tertiary">Check your browser console to see the logs</div>
55
- </div>
56
- {:else}
57
- <LogViewer
58
- bind:drawerOpen={logDrawerOpen}
59
- small
60
- jobId={testJob?.id}
61
- duration={testJob?.['duration_ms']}
62
- mem={testJob?.['mem_peak']}
63
- content={testJob?.logs}
64
- isLoading={testIsLoading && testJob?.['running'] == false}
65
- tag={testJob?.tag}
66
- />
67
- {/if}
68
- </Pane>
69
- <Pane size={frontendJob ? 70 : 50} minSize={10} class="text-sm text-tertiary">
70
- {#if frontendJob}
71
- <div class="break-words relative h-full px-1">
72
- <DisplayResult bind:drawerOpen={resultDrawerOpen} result={frontendJob} />
73
- </div>
74
- {:else if testJob != undefined && 'result' in testJob && testJob.result != undefined}
75
- <div class="break-words relative h-full px-1">
76
- <DisplayResult
77
- bind:drawerOpen={resultDrawerOpen}
78
- workspaceId={testJob?.workspace_id}
79
- jobId={testJob?.id}
80
- result={testJob.result}
81
- /></div
82
- >
83
- {:else}
84
- <div class="px-1 pt-1">
85
- {#if testIsLoading}
86
- <Loader2 class="animate-spin" />
87
- {:else}
88
- Test to see the result here
89
- {/if}
90
- </div>
91
- {/if}
92
- </Pane>
93
- </Splitpanes>
94
- </div>
44
+ {#if float}
45
+ <div
46
+ class="absolute z-[100] top-0 right-0 border-t h-full"
47
+ style="width: {$runnableJobEditorPanel.width}px; transform: translateX({$runnableJobEditorPanel.width}px);"
48
+ >
49
+ <RunnalbeJobPanelInner {frontendJob} {testJob} />
50
+ </div>
51
+ {:else}
52
+ <div class="flex flex-col w-full">
53
+ {#if $selectedComponentInEditor}
54
+ <RunnalbeJobPanelInner {frontendJob} {testJob} />
55
+ {:else if !hidden}
56
+ <div class="text-sm text-secondary text-center py-8 px-2 border-l h-full">
57
+ Logs and results will be displayed here
58
+ </div>
59
+ {/if}
60
+ </div>
61
+ {/if}
95
62
  {/if}
@@ -1,6 +1,15 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import type { Job } from '../../../gen';
2
3
  declare const __propDef: {
3
- props: Record<string, never>;
4
+ props: {
5
+ float?: boolean | undefined;
6
+ hidden?: boolean | undefined;
7
+ testJob?: Job | undefined;
8
+ jobToWatch?: {
9
+ componentId: string;
10
+ job: string;
11
+ } | undefined;
12
+ };
4
13
  events: {
5
14
  [evt: string]: CustomEvent<any>;
6
15
  };
@@ -0,0 +1,56 @@
1
+ <script>import DisplayResult from '../../DisplayResult.svelte';
2
+ import LogViewer from '../../LogViewer.svelte';
3
+ import { Splitpanes, Pane } from 'svelte-splitpanes';
4
+ import { Loader2 } from 'lucide-svelte';
5
+ export let frontendJob = false;
6
+ export let testJob = undefined;
7
+ let testIsLoading = false;
8
+ let logDrawerOpen = false;
9
+ let resultDrawerOpen = false;
10
+ </script>
11
+
12
+ <Splitpanes horizontal>
13
+ <Pane size={frontendJob ? 30 : 50} minSize={10}>
14
+ {#if frontendJob}
15
+ <div class="p-2 bg-surface-secondary h-full w-full">
16
+ <div class="text-sm text-tertiary pb-4">Frontend Job</div>
17
+ <div class="text-2xs text-tertiary">Check your browser console to see the logs</div>
18
+ </div>
19
+ {:else}
20
+ <LogViewer
21
+ bind:drawerOpen={logDrawerOpen}
22
+ small
23
+ jobId={testJob?.id}
24
+ duration={testJob?.['duration_ms']}
25
+ mem={testJob?.['mem_peak']}
26
+ content={testJob?.logs}
27
+ isLoading={testIsLoading && testJob?.['running'] == false}
28
+ tag={testJob?.tag}
29
+ />
30
+ {/if}
31
+ </Pane>
32
+ <Pane size={frontendJob ? 70 : 50} minSize={10} class="text-sm text-tertiary">
33
+ {#if frontendJob}
34
+ <div class="break-words relative h-full px-1">
35
+ <DisplayResult bind:drawerOpen={resultDrawerOpen} result={frontendJob} />
36
+ </div>
37
+ {:else if testJob != undefined && 'result' in testJob && testJob.result != undefined}
38
+ <div class="break-words relative h-full px-1">
39
+ <DisplayResult
40
+ bind:drawerOpen={resultDrawerOpen}
41
+ workspaceId={testJob?.workspace_id}
42
+ jobId={testJob?.id}
43
+ result={testJob.result}
44
+ /></div
45
+ >
46
+ {:else}
47
+ <div class="px-1 pt-1">
48
+ {#if testIsLoading}
49
+ <Loader2 class="animate-spin" />
50
+ {:else}
51
+ Test to see the result here
52
+ {/if}
53
+ </div>
54
+ {/if}
55
+ </Pane>
56
+ </Splitpanes>
@@ -0,0 +1,18 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { Job } from '../../../gen';
3
+ declare const __propDef: {
4
+ props: {
5
+ frontendJob?: boolean | any;
6
+ testJob?: Job | any;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {};
12
+ };
13
+ export type RunnalbeJobPanelInnerProps = typeof __propDef.props;
14
+ export type RunnalbeJobPanelInnerEvents = typeof __propDef.events;
15
+ export type RunnalbeJobPanelInnerSlots = typeof __propDef.slots;
16
+ export default class RunnalbeJobPanelInner extends SvelteComponent<RunnalbeJobPanelInnerProps, RunnalbeJobPanelInnerEvents, RunnalbeJobPanelInnerSlots> {
17
+ }
18
+ export {};
@@ -70,7 +70,7 @@ $: maxRow = maxHeight($app.subgrids?.[subGridId] ?? [], containerHeight ?? 0, $b
70
70
  ? `animate-border border-dashed border-2 min-h-full ${
71
71
  isActive && !$selectedComponent?.includes(id)
72
72
  ? 'border-orange-600'
73
- : 'border-gray-600'
73
+ : 'dark:border-gray-600 border-gray-400'
74
74
  }`
75
75
  : ''}
76
76
  >
@@ -86,6 +86,7 @@ $: maxRow = maxHeight($app.subgrids?.[subGridId] ?? [], containerHeight ?? 0, $b
86
86
  selectedIds={$selectedComponent}
87
87
  let:dataItem
88
88
  let:hidden
89
+ let:overlapped
89
90
  cols={columnConfiguration}
90
91
  scroller={container}
91
92
  parentWidth={$parentWidth - 17}
@@ -103,6 +104,7 @@ $: maxRow = maxHeight($app.subgrids?.[subGridId] ?? [], containerHeight ?? 0, $b
103
104
  <GridEditorMenu id={dataItem.id}>
104
105
  <Component
105
106
  {hidden}
107
+ {overlapped}
106
108
  fullHeight={dataItem?.[$breakpoint === 'sm' ? 3 : 12]?.fullHeight}
107
109
  render={visible}
108
110
  component={dataItem.data}
@@ -76,14 +76,17 @@ import AppDateSelect from '../../components/inputs/AppDateSelect.svelte';
76
76
  import AppDisplayComponentByJobId from '../../components/display/AppRecomputeAll.svelte';
77
77
  import AppRecomputeAll from '../../components/display/AppRecomputeAll.svelte';
78
78
  import AppUserResource from '../../components/inputs/AppUserResource.svelte';
79
+ import { Anchor } from 'lucide-svelte';
79
80
  export let component;
80
81
  export let selected;
81
82
  export let locked = false;
82
83
  export let render;
83
84
  export let hidden;
84
85
  export let fullHeight;
85
- const { mode, app, hoverStore, connectingInput } = getContext('AppViewerContext');
86
+ export let overlapped = false;
87
+ const { mode, app, hoverStore, connectingInput, selectedComponent } = getContext('AppViewerContext');
86
88
  const editorContext = getContext('AppEditorContext');
89
+ const componentActive = editorContext?.componentActive;
87
90
  const movingcomponents = editorContext?.movingcomponents;
88
91
  $: ismoving =
89
92
  movingcomponents != undefined && $mode == 'dnd' && $movingcomponents?.includes(component.id);
@@ -117,10 +120,25 @@ function mouseOut() {
117
120
  }
118
121
  }}
119
122
  on:mouseout|stopPropagation={mouseOut}
120
- class="h-full flex flex-col w-full component {initializing
121
- ? 'overflow-hidden h-0'
122
- : ''} {hidden && $mode === 'preview' ? 'hidden' : ''} "
123
+ class={twMerge(
124
+ 'h-full flex flex-col w-full component relative',
125
+ initializing ? 'overflow-hidden h-0' : '',
126
+ hidden && $mode === 'preview' ? 'hidden' : ''
127
+ )}
123
128
  >
129
+ {#if locked && componentActive && $componentActive && $selectedComponent?.[0] !== component.id && overlapped}
130
+ <div
131
+ class={twMerge(
132
+ 'absolute inset-0 bg-locked center-center flex-col z-50',
133
+ overlapped ? 'bg-locked-hover' : ''
134
+ )}
135
+ >
136
+ <div class="bg-surface p-2 shadow-sm rounded-md flex center-center flex-col gap-2">
137
+ <Anchor size={24} class="text-primary " />
138
+ <div class="text-xs">Anchored: The component cannot be moved</div>
139
+ </div>
140
+ </div>
141
+ {/if}
124
142
  {#if $mode !== 'preview'}
125
143
  <ComponentHeader
126
144
  on:mouseover={() => {
@@ -349,6 +367,7 @@ function mouseOut() {
349
367
  componentInput={component.componentInput}
350
368
  customCss={component.customCss}
351
369
  actions={component.actions ?? []}
370
+ actionsOrder={component.actionsOrder ?? undefined}
352
371
  {render}
353
372
  />
354
373
  {:else if component.type === 'aggridcomponentee'}
@@ -360,6 +379,7 @@ function mouseOut() {
360
379
  componentInput={component.componentInput}
361
380
  customCss={component.customCss}
362
381
  actions={component.actions ?? []}
382
+ actionsOrder={component.actionsOrder ?? undefined}
363
383
  {render}
364
384
  />
365
385
  {:else if component.type === 'aggridinfinitecomponent'}
@@ -370,6 +390,7 @@ function mouseOut() {
370
390
  componentInput={component.componentInput}
371
391
  customCss={component.customCss}
372
392
  actions={component.actions ?? []}
393
+ actionsOrder={component.actionsOrder ?? undefined}
373
394
  {render}
374
395
  />
375
396
  {:else if component.type === 'aggridinfinitecomponentee'}
@@ -381,6 +402,7 @@ function mouseOut() {
381
402
  componentInput={component.componentInput}
382
403
  customCss={component.customCss}
383
404
  actions={component.actions ?? []}
405
+ actionsOrder={component.actionsOrder ?? undefined}
384
406
  {render}
385
407
  />
386
408
  {:else if component.type === 'textcomponent'}
@@ -8,6 +8,7 @@ declare const __propDef: {
8
8
  render: boolean;
9
9
  hidden: boolean;
10
10
  fullHeight: boolean;
11
+ overlapped?: boolean | undefined;
11
12
  };
12
13
  events: {
13
14
  lock: CustomEvent<any>;
@@ -70,17 +70,21 @@ export type TableComponent = BaseComponent<'tablecomponent'> & {
70
70
  };
71
71
  export type AggridComponent = BaseComponent<'aggridcomponent'> & {
72
72
  actions: TableAction[];
73
+ actionsOrder: RichConfiguration | undefined;
73
74
  };
74
75
  export type AggridComponentEe = BaseComponent<'aggridcomponentee'> & {
75
76
  license: string;
76
77
  actions: TableAction[];
78
+ actionsOrder: RichConfiguration | undefined;
77
79
  };
78
80
  export type AggridInfiniteComponent = BaseComponent<'aggridinfinitecomponent'> & {
79
81
  actions: TableAction[];
82
+ actionsOrder: RichConfiguration | undefined;
80
83
  };
81
84
  export type AggridInfiniteComponentEe = BaseComponent<'aggridinfinitecomponentee'> & {
82
85
  actions: TableAction[];
83
86
  license: string;
87
+ actionsOrder: RichConfiguration | undefined;
84
88
  };
85
89
  export type DisplayComponent = BaseComponent<'displaycomponent'>;
86
90
  export type JobIdDisplayComponent = BaseComponent<'jobiddisplaycomponent'>;
@@ -156,6 +160,7 @@ export type MenuComponent = BaseComponent<'menucomponent'> & {
156
160
  export type DBExplorerComponent = BaseComponent<'dbexplorercomponent'> & {
157
161
  columns: RichConfiguration;
158
162
  actions: TableAction[];
163
+ actionsOrder: RichConfiguration | undefined;
159
164
  };
160
165
  export type S3FileInputComponent = BaseComponent<'s3fileinputcomponent'> & {
161
166
  onFileChange?: string[];
@@ -14,6 +14,7 @@ import SimpleEditor from '../../../SimpleEditor.svelte';
14
14
  import ToggleButtonGroup from '../../../common/toggleButton-v2/ToggleButtonGroup.svelte';
15
15
  import ToggleButton from '../../../common/toggleButton-v2/ToggleButton.svelte';
16
16
  import Popover from '../../../Popover.svelte';
17
+ import { tailwindClasses } from './tailwindUtils';
17
18
  export let name;
18
19
  export let value = {};
19
20
  export let forceStyle = false;
@@ -191,6 +192,7 @@ let render = 0;
191
192
  <SimpleEditor
192
193
  class="h-24 border !rounded-none"
193
194
  lang="tailwindcss"
195
+ {tailwindClasses}
194
196
  bind:code={value.class}
195
197
  fixedOverflowWidgets={true}
196
198
  small
@@ -3589,6 +3589,267 @@ export const tailwindClasses = [
3589
3589
  'border-double',
3590
3590
  'border-hidden',
3591
3591
  'border-none',
3592
+ 'outline-0',
3593
+ 'outline-1',
3594
+ 'outline-2',
3595
+ 'outline-4',
3596
+ 'outline-8',
3597
+ 'outline-inherit',
3598
+ 'outline-current',
3599
+ 'outline-transparent',
3600
+ 'outline-black',
3601
+ 'outline-white',
3602
+ 'outline-slate-50',
3603
+ 'outline-slate-100',
3604
+ 'outline-slate-200',
3605
+ 'outline-slate-300',
3606
+ 'outline-slate-400',
3607
+ 'outline-slate-500',
3608
+ 'outline-slate-600',
3609
+ 'outline-slate-700',
3610
+ 'outline-slate-800',
3611
+ 'outline-slate-900',
3612
+ 'outline-slate-950',
3613
+ 'outline-gray-50',
3614
+ 'outline-gray-100',
3615
+ 'outline-gray-200',
3616
+ 'outline-gray-300',
3617
+ 'outline-gray-400',
3618
+ 'outline-gray-500',
3619
+ 'outline-gray-600',
3620
+ 'outline-gray-700',
3621
+ 'outline-gray-800',
3622
+ 'outline-gray-900',
3623
+ 'outline-gray-950',
3624
+ 'outline-zinc-50',
3625
+ 'outline-zinc-100',
3626
+ 'outline-zinc-200',
3627
+ 'outline-zinc-300',
3628
+ 'outline-zinc-400',
3629
+ 'outline-zinc-500',
3630
+ 'outline-zinc-600',
3631
+ 'outline-zinc-700',
3632
+ 'outline-zinc-800',
3633
+ 'outline-zinc-900',
3634
+ 'outline-zinc-950',
3635
+ 'outline-neutral-50',
3636
+ 'outline-neutral-100',
3637
+ 'outline-neutral-200',
3638
+ 'outline-neutral-300',
3639
+ 'outline-neutral-400',
3640
+ 'outline-neutral-500',
3641
+ 'outline-neutral-600',
3642
+ 'outline-neutral-700',
3643
+ 'outline-neutral-800',
3644
+ 'outline-neutral-900',
3645
+ 'outline-neutral-950',
3646
+ 'outline-stone-50',
3647
+ 'outline-stone-100',
3648
+ 'outline-stone-200',
3649
+ 'outline-stone-300',
3650
+ 'outline-stone-400',
3651
+ 'outline-stone-500',
3652
+ 'outline-stone-600',
3653
+ 'outline-stone-700',
3654
+ 'outline-stone-800',
3655
+ 'outline-stone-900',
3656
+ 'outline-stone-950',
3657
+ 'outline-red-50',
3658
+ 'outline-red-100',
3659
+ 'outline-red-200',
3660
+ 'outline-red-300',
3661
+ 'outline-red-400',
3662
+ 'outline-red-500',
3663
+ 'outline-red-600',
3664
+ 'outline-red-700',
3665
+ 'outline-red-800',
3666
+ 'outline-red-900',
3667
+ 'outline-red-950',
3668
+ 'outline-orange-50',
3669
+ 'outline-orange-100',
3670
+ 'outline-orange-200',
3671
+ 'outline-orange-300',
3672
+ 'outline-orange-400',
3673
+ 'outline-orange-500',
3674
+ 'outline-orange-600',
3675
+ 'outline-orange-700',
3676
+ 'outline-orange-800',
3677
+ 'outline-orange-900',
3678
+ 'outline-orange-950',
3679
+ 'outline-amber-50',
3680
+ 'outline-amber-100',
3681
+ 'outline-amber-200',
3682
+ 'outline-amber-300',
3683
+ 'outline-amber-400',
3684
+ 'outline-amber-500',
3685
+ 'outline-amber-600',
3686
+ 'outline-amber-700',
3687
+ 'outline-amber-800',
3688
+ 'outline-amber-900',
3689
+ 'outline-amber-950',
3690
+ 'outline-yellow-50',
3691
+ 'outline-yellow-100',
3692
+ 'outline-yellow-200',
3693
+ 'outline-yellow-300',
3694
+ 'outline-yellow-400',
3695
+ 'outline-yellow-500',
3696
+ 'outline-yellow-600',
3697
+ 'outline-yellow-700',
3698
+ 'outline-yellow-800',
3699
+ 'outline-yellow-900',
3700
+ 'outline-yellow-950',
3701
+ 'outline-lime-50',
3702
+ 'outline-lime-100',
3703
+ 'outline-lime-200',
3704
+ 'outline-lime-300',
3705
+ 'outline-lime-400',
3706
+ 'outline-lime-500',
3707
+ 'outline-lime-600',
3708
+ 'outline-lime-700',
3709
+ 'outline-lime-800',
3710
+ 'outline-lime-900',
3711
+ 'outline-lime-950',
3712
+ 'outline-green-50',
3713
+ 'outline-green-100',
3714
+ 'outline-green-200',
3715
+ 'outline-green-300',
3716
+ 'outline-green-400',
3717
+ 'outline-green-500',
3718
+ 'outline-green-600',
3719
+ 'outline-green-700',
3720
+ 'outline-green-800',
3721
+ 'outline-green-900',
3722
+ 'outline-green-950',
3723
+ 'outline-emerald-50',
3724
+ 'outline-emerald-100',
3725
+ 'outline-emerald-200',
3726
+ 'outline-emerald-300',
3727
+ 'outline-emerald-400',
3728
+ 'outline-emerald-500',
3729
+ 'outline-emerald-600',
3730
+ 'outline-emerald-700',
3731
+ 'outline-emerald-800',
3732
+ 'outline-emerald-900',
3733
+ 'outline-emerald-950',
3734
+ 'outline-teal-50',
3735
+ 'outline-teal-100',
3736
+ 'outline-teal-200',
3737
+ 'outline-teal-300',
3738
+ 'outline-teal-400',
3739
+ 'outline-teal-500',
3740
+ 'outline-teal-600',
3741
+ 'outline-teal-700',
3742
+ 'outline-teal-800',
3743
+ 'outline-teal-900',
3744
+ 'outline-teal-950',
3745
+ 'outline-cyan-50',
3746
+ 'outline-cyan-100',
3747
+ 'outline-cyan-200',
3748
+ 'outline-cyan-300',
3749
+ 'outline-cyan-400',
3750
+ 'outline-cyan-500',
3751
+ 'outline-cyan-600',
3752
+ 'outline-cyan-700',
3753
+ 'outline-cyan-800',
3754
+ 'outline-cyan-900',
3755
+ 'outline-cyan-950',
3756
+ 'outline-sky-50',
3757
+ 'outline-sky-100',
3758
+ 'outline-sky-200',
3759
+ 'outline-sky-300',
3760
+ 'outline-sky-400',
3761
+ 'outline-sky-500',
3762
+ 'outline-sky-600',
3763
+ 'outline-sky-700',
3764
+ 'outline-sky-800',
3765
+ 'outline-sky-900',
3766
+ 'outline-sky-950',
3767
+ 'outline-blue-50',
3768
+ 'outline-blue-100',
3769
+ 'outline-blue-200',
3770
+ 'outline-blue-300',
3771
+ 'outline-blue-400',
3772
+ 'outline-blue-500',
3773
+ 'outline-blue-600',
3774
+ 'outline-blue-700',
3775
+ 'outline-blue-800',
3776
+ 'outline-blue-900',
3777
+ 'outline-blue-950',
3778
+ 'outline-indigo-50',
3779
+ 'outline-indigo-100',
3780
+ 'outline-indigo-200',
3781
+ 'outline-indigo-300',
3782
+ 'outline-indigo-400',
3783
+ 'outline-indigo-500',
3784
+ 'outline-indigo-600',
3785
+ 'outline-indigo-700',
3786
+ 'outline-indigo-800',
3787
+ 'outline-indigo-900',
3788
+ 'outline-indigo-950',
3789
+ 'outline-violet-50',
3790
+ 'outline-violet-100',
3791
+ 'outline-violet-200',
3792
+ 'outline-violet-300',
3793
+ 'outline-violet-400',
3794
+ 'outline-violet-500',
3795
+ 'outline-violet-600',
3796
+ 'outline-violet-700',
3797
+ 'outline-violet-800',
3798
+ 'outline-violet-900',
3799
+ 'outline-violet-950',
3800
+ 'outline-purple-50',
3801
+ 'outline-purple-100',
3802
+ 'outline-purple-200',
3803
+ 'outline-purple-300',
3804
+ 'outline-purple-400',
3805
+ 'outline-purple-500',
3806
+ 'outline-purple-600',
3807
+ 'outline-purple-700',
3808
+ 'outline-purple-800',
3809
+ 'outline-purple-900',
3810
+ 'outline-purple-950',
3811
+ 'outline-fuchsia-50',
3812
+ 'outline-fuchsia-100',
3813
+ 'outline-fuchsia-200',
3814
+ 'outline-fuchsia-300',
3815
+ 'outline-fuchsia-400',
3816
+ 'outline-fuchsia-500',
3817
+ 'outline-fuchsia-600',
3818
+ 'outline-fuchsia-700',
3819
+ 'outline-fuchsia-800',
3820
+ 'outline-fuchsia-900',
3821
+ 'outline-fuchsia-950',
3822
+ 'outline-pink-50',
3823
+ 'outline-pink-100',
3824
+ 'outline-pink-200',
3825
+ 'outline-pink-300',
3826
+ 'outline-pink-400',
3827
+ 'outline-pink-500',
3828
+ 'outline-pink-600',
3829
+ 'outline-pink-700',
3830
+ 'outline-pink-800',
3831
+ 'outline-pink-900',
3832
+ 'outline-pink-950',
3833
+ 'outline-rose-50',
3834
+ 'outline-rose-100',
3835
+ 'outline-rose-200',
3836
+ 'outline-rose-300',
3837
+ 'outline-rose-400',
3838
+ 'outline-rose-500',
3839
+ 'outline-rose-600',
3840
+ 'outline-rose-700',
3841
+ 'outline-rose-800',
3842
+ 'outline-rose-900',
3843
+ 'outline-rose-950',
3844
+ 'outline-none',
3845
+ 'outline-dashed',
3846
+ 'outline-dotted',
3847
+ 'outline-double',
3848
+ 'outline-offset-0',
3849
+ 'outline-offset-1',
3850
+ 'outline-offset-2',
3851
+ 'outline-offset-4',
3852
+ 'outline-offset-8',
3592
3853
  'ring-0',
3593
3854
  'ring-1',
3594
3855
  'ring-2',
@@ -4470,5 +4731,10 @@ export const tailwindClasses = [
4470
4731
  'border-spacing-y-64',
4471
4732
  'border-spacing-y-72',
4472
4733
  'border-spacing-y-80',
4473
- 'border-spacing-y-96'
4734
+ 'border-spacing-y-96',
4735
+ 'shadow',
4736
+ 'border',
4737
+ 'ring',
4738
+ 'rounded',
4739
+ 'outline'
4474
4740
  ];
@@ -1,5 +1,5 @@
1
1
  <script>import { classNames } from '../../../../utils';
2
- import { getContext } from 'svelte';
2
+ import { createEventDispatcher, getContext } from 'svelte';
3
3
  import { connectInput } from '../appUtils';
4
4
  import PanelSection from '../settingsPanel/common/PanelSection.svelte';
5
5
  import ComponentOutput from './ComponentOutput.svelte';
@@ -8,14 +8,22 @@ import BackgroundScriptsOutput from './components/BackgroundScriptsOutput.svelte
8
8
  import OutputHeader from './components/OutputHeader.svelte';
9
9
  import { ClearableInput } from '../../../common';
10
10
  import DocLink from '../settingsPanel/DocLink.svelte';
11
+ import HideButton from '../settingsPanel/HideButton.svelte';
11
12
  const { connectingInput, app } = getContext('AppViewerContext');
12
13
  const { search } = getContext('ContextPanel');
14
+ const dispatch = createEventDispatcher();
13
15
  let hasState = false;
14
16
  </script>
15
17
 
16
18
  <PanelSection noPadding titlePadding="px-2 pt-2" title="Outputs">
17
19
  <svelte:fragment slot="action">
18
20
  <div class="p-0.5">
21
+ <HideButton
22
+ on:click={() => {
23
+ dispatch('hidePanel')
24
+ }}
25
+ direction="left"
26
+ />
19
27
  <DocLink docLink="https://www.windmill.dev/docs/apps/outputs" />
20
28
  </div>
21
29
  </svelte:fragment>
@@ -2,6 +2,8 @@ import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: Record<string, never>;
4
4
  events: {
5
+ hidePanel: CustomEvent<any>;
6
+ } & {
5
7
  [evt: string]: CustomEvent<any>;
6
8
  };
7
9
  slots: {};
@@ -25,6 +25,7 @@ export let cache_ttl;
25
25
  size="xs2"
26
26
  iconOnly
27
27
  startIcon={{ icon: Database }}
28
+ title="Cache settings"
28
29
  />
29
30
  </svelte:fragment>
30
31
  <div class="block text-primary">