windmill-components 1.383.9 → 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 (189) 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 +5 -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 +24 -4
  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 +1 -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 +27 -2
  55. package/package/components/SimpleEditor.svelte.d.ts +5 -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 +3 -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/svelte-grid/Grid.svelte +6 -2
  108. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +1 -0
  109. package/package/components/apps/svelte-grid/MoveResize.svelte +11 -3
  110. package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
  111. package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
  112. package/package/components/apps/svelte-grid/utils/item.js +11 -4
  113. package/package/components/common/button/Button.svelte.d.ts +2 -2
  114. package/package/components/common/calendarPicker/CalendarPicker.svelte +6 -2
  115. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +2 -0
  116. package/package/components/common/drawer/ConditionalPortal.svelte +2 -1
  117. package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +1 -0
  118. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  119. package/package/components/common/popup/Popup.svelte +2 -1
  120. package/package/components/common/popup/Popup.svelte.d.ts +1 -0
  121. package/package/components/common/table/AppRow.svelte +11 -8
  122. package/package/components/common/table/AppRow.svelte.d.ts +1 -2
  123. package/package/components/common/table/FlowRow.svelte +3 -3
  124. package/package/components/common/table/FlowRow.svelte.d.ts +1 -2
  125. package/package/components/common/table/RawAppRow.svelte +3 -3
  126. package/package/components/common/table/RawAppRow.svelte.d.ts +1 -2
  127. package/package/components/common/table/ScriptRow.svelte +3 -3
  128. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -2
  129. package/package/components/copilot/CodeCompletionStatus.svelte +21 -46
  130. package/package/components/copilot/StepGen.svelte +2 -1
  131. package/package/components/custom_ui.d.ts +4 -1
  132. package/package/components/flows/CreateActionsApp.svelte +11 -8
  133. package/package/components/flows/CreateActionsFlow.svelte +11 -8
  134. package/package/components/flows/FlowEditor.svelte +1 -2
  135. package/package/components/flows/FlowEditor.svelte.d.ts +0 -1
  136. package/package/components/flows/FlowHistory.svelte +6 -3
  137. package/package/components/flows/content/FlowModuleScript.svelte +15 -11
  138. package/package/components/flows/content/FlowSettings.svelte +1 -4
  139. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -0
  140. package/package/components/flows/header/FlowYamlEditor.svelte +55 -0
  141. package/package/components/flows/header/FlowYamlEditor.svelte.d.ts +17 -0
  142. package/package/components/flows/map/InsertTriggerButton.svelte +1 -1
  143. package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +1 -0
  144. package/package/components/flows/map/VirtualItem.svelte +1 -1
  145. package/package/components/flows/pickers/PickHubScript.svelte +1 -0
  146. package/package/components/flows/types.d.ts +7 -6
  147. package/package/components/flows/utils.d.ts +9 -0
  148. package/package/components/flows/utils.js +21 -0
  149. package/package/components/graph/graphBuilder.js +1 -0
  150. package/package/components/graph/model.d.ts +1 -0
  151. package/package/components/graph/renderers/edges/BaseEdge.svelte +16 -0
  152. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
  153. package/package/components/graph/renderers/nodes/NoBranchNode.svelte +5 -1
  154. package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +1 -0
  155. package/package/components/home/Item.svelte +0 -17
  156. package/package/components/home/deploy_ui.d.ts +2 -0
  157. package/package/components/home/deploy_ui.js +21 -0
  158. package/package/components/icons/RustIcon.svelte +70 -0
  159. package/package/components/icons/RustIcon.svelte.d.ts +25 -0
  160. package/package/components/icons/rust-logo.svg +1 -0
  161. package/package/components/instanceSettings.js +2 -2
  162. package/package/components/monaco_keybindings.d.ts +3 -0
  163. package/package/components/monaco_keybindings.js +9 -0
  164. package/package/components/preview/FlowPreviewStatus.svelte +6 -2
  165. package/package/components/runs/JobLoader.svelte +12 -3
  166. package/package/components/runs/JobLoader.svelte.d.ts +1 -1
  167. package/package/components/runs/ManuelDatePicker.svelte +31 -44
  168. package/package/components/runs/ManuelDatePicker.svelte.d.ts +6 -2
  169. package/package/components/runs/RunsFilter.svelte +4 -1
  170. package/package/components/runs/RunsFilter.svelte.d.ts +1 -0
  171. package/package/components/search/GlobalSearchModal.svelte +36 -25
  172. package/package/components/wizards/TableActionsWizard.svelte +84 -0
  173. package/package/components/wizards/TableActionsWizard.svelte.d.ts +22 -0
  174. package/package/editorUtils.js +2 -0
  175. package/package/gen/core/OpenAPI.js +1 -1
  176. package/package/gen/schemas.gen.d.ts +8 -8
  177. package/package/gen/schemas.gen.js +8 -8
  178. package/package/gen/services.gen.d.ts +4 -0
  179. package/package/gen/services.gen.js +16 -0
  180. package/package/gen/types.gen.d.ts +20 -8
  181. package/package/infer.d.ts +1 -1
  182. package/package/infer.js +48 -7
  183. package/package/script_helpers.d.ts +1 -0
  184. package/package/script_helpers.js +39 -1
  185. package/package/scripts.d.ts +1 -1
  186. package/package/scripts.js +11 -3
  187. package/package/stores.d.ts +5 -1
  188. package/package/stores.js +7 -2
  189. package/package.json +13 -7
@@ -93,7 +93,9 @@ const updateMatrix = ({ detail }) => {
93
93
  ...shadows[id]
94
94
  }
95
95
  };
96
- sortedItems = moveItem(activeItem, sortedItems, getComputedCols);
96
+ let { items, overlap } = moveItem(activeItem, sortedItems, getComputedCols);
97
+ sortedItems = items;
98
+ overlapped = overlap ? id : undefined;
97
99
  }
98
100
  }
99
101
  for (let id of nselectedIds ?? []) {
@@ -140,6 +142,7 @@ export function handleInitMove({ detail }) {
140
142
  }
141
143
  });
142
144
  }
145
+ let overlapped = undefined;
143
146
  </script>
144
147
 
145
148
  <div class="svlt-grid-container" style="height: {containerHeight}px" bind:this={container}>
@@ -169,9 +172,10 @@ export function handleInitMove({ detail }) {
169
172
  {sensor}
170
173
  container={scroller}
171
174
  nativeContainer={container}
175
+ {overlapped}
172
176
  >
173
177
  {#if item[getComputedCols]}
174
- <slot dataItem={item} hidden={false} />
178
+ <slot dataItem={item} hidden={false} {overlapped} />
175
179
  {/if}
176
180
  </MoveResize>
177
181
  {/if}
@@ -32,6 +32,7 @@ declare class __sveltets_Render<T> {
32
32
  default: {
33
33
  dataItem: FilledItem<T>;
34
34
  hidden: boolean;
35
+ overlapped: undefined;
35
36
  };
36
37
  };
37
38
  }
@@ -1,5 +1,6 @@
1
1
  <script>import { createEventDispatcher, getContext, onMount } from 'svelte';
2
2
  import { writable } from 'svelte/store';
3
+ import { twMerge } from 'tailwind-merge';
3
4
  const dispatch = createEventDispatcher();
4
5
  export let sensor;
5
6
  export let width;
@@ -17,6 +18,7 @@ export let cols;
17
18
  export let nativeContainer;
18
19
  export let onTop;
19
20
  export let shadow = undefined;
21
+ export let overlapped = undefined;
20
22
  const ctx = getContext('AppEditorContext');
21
23
  const { mode } = getContext('AppViewerContext');
22
24
  const scale = ctx ? ctx.scale : writable(100);
@@ -313,7 +315,10 @@ const resizePointerUp = (e) => {
313
315
 
314
316
  {#if xPerPx > 0 && (active || trans) && shadow}
315
317
  <div
316
- class="svlt-grid-shadow shadow-active"
318
+ class={twMerge(
319
+ 'svlt-grid-shadow shadow-active',
320
+ overlapped ? 'svlte-grid-shadow-forbidden' : ''
321
+ )}
317
322
  style="width: {shadow.w * xPerPx - gapX * 2}px; height: {shadow.h * yPerPx -
318
323
  gapY * 2}px; transform: translate({shadow.x * xPerPx + gapX}px, {shadow.y * yPerPx +
319
324
  gapY}px); "
@@ -399,9 +404,12 @@ const resizePointerUp = (e) => {
399
404
 
400
405
  .svlt-grid-shadow {
401
406
  position: absolute;
402
- background: red;
403
407
  will-change: transform;
404
- background: pink;
405
408
  backface-visibility: hidden;
406
409
  -webkit-backface-visibility: hidden;
410
+ background: #93c4fdd0;
411
+ }
412
+
413
+ .svlte-grid-shadow-forbidden {
414
+ background: rgba(255, 99, 71, 0.2) !important;
407
415
  }</style>
@@ -22,6 +22,7 @@ declare const __propDef: {
22
22
  w: number;
23
23
  h: number;
24
24
  } | undefined;
25
+ overlapped?: string | undefined;
25
26
  inActivate?: (() => void) | undefined;
26
27
  initmove?: (() => void) | undefined;
27
28
  updateMove?: ((newCoordDiff: any, clientY: any) => void) | undefined;
@@ -5,7 +5,10 @@ export declare function findFreeSpaceForItem<T>(matrix: FilledItem<T>[][], item:
5
5
  x: number;
6
6
  y: number;
7
7
  };
8
- export declare function moveItem(active: any, items: any, cols: any): any;
8
+ export declare function moveItem(active: any, items: any, cols: any): {
9
+ items: any;
10
+ overlap: boolean;
11
+ };
9
12
  export declare function normalize(items: any, col: any): any;
10
13
  export declare function adjust<T>(items: FilledItem<T>[], col: any): FilledItem<T>[];
11
14
  export declare function getUndefinedItems(items: any, col: any, breakpoints: any): any;
@@ -105,8 +105,12 @@ export function moveItem(active, items, cols) {
105
105
  // Getting whenever of these items is fixed
106
106
  const fixed = closeObj.find((value) => value[cols].fixed);
107
107
  // If found fixed, reset the active to its original position
108
- if (fixed)
109
- return items;
108
+ if (fixed) {
109
+ return {
110
+ items: items,
111
+ overlap: closeBlocks.length > 0
112
+ };
113
+ }
110
114
  // Update items
111
115
  items = updateItem(items, active, item, cols);
112
116
  // Create matrix of items expect close elements
@@ -130,7 +134,10 @@ export function moveItem(active, items, cols) {
130
134
  matrix = makeMatrixFromItemsIgnore(tempItems, getIgnoreItems, getRowsCount(tempItems, cols), cols);
131
135
  });
132
136
  // Return result
133
- return tempItems;
137
+ return {
138
+ items: tempItems,
139
+ overlap: false
140
+ };
134
141
  }
135
142
  // Helper function
136
143
  export function normalize(items, col) {
@@ -138,7 +145,7 @@ export function normalize(items, col) {
138
145
  result.forEach((value) => {
139
146
  const getItem = value[col];
140
147
  if (!getItem.static) {
141
- result = moveItem(getItem, result, col);
148
+ result = moveItem(getItem, result, col).items;
142
149
  }
143
150
  });
144
151
  return result;
@@ -35,12 +35,12 @@ declare const __propDef: {
35
35
  } | undefined;
36
36
  dropdownItems?: {
37
37
  label: string;
38
- onClick?: (() => void) | undefined;
38
+ onClick?: ((e?: Event) => void) | undefined;
39
39
  href?: string | undefined;
40
40
  icon?: any;
41
41
  }[] | (() => {
42
42
  label: string;
43
- onClick?: (() => void) | undefined;
43
+ onClick?: ((e?: Event) => void) | undefined;
44
44
  href?: string | undefined;
45
45
  icon?: any;
46
46
  }[]) | undefined;
@@ -6,12 +6,13 @@ export let date;
6
6
  export let label;
7
7
  export let useDropdown = false;
8
8
  export let clearable = false;
9
+ export let target = undefined;
9
10
  const dispatch = createEventDispatcher();
10
11
  let input;
11
12
  export let placement = 'top-end';
12
13
  </script>
13
14
 
14
- <Popup floatingConfig={{ placement: placement, strategy: 'absolute' }}>
15
+ <Popup floatingConfig={{ placement: placement, strategy: 'absolute' }} {target}>
15
16
  <svelte:fragment slot="button">
16
17
  <button
17
18
  title="Open calendar picker"
@@ -26,9 +27,12 @@ export let placement = 'top-end';
26
27
  </svelte:fragment>
27
28
 
28
29
  <!-- svelte-ignore a11y-label-has-associated-control -->
30
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
29
31
  <label class="block text-primary">
30
32
  <div class="pb-1 text-sm text-secondary">{label}</div>
31
- <div class="flex w-full">
33
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
34
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
35
+ <div on:click|stopPropagation class="flex w-full">
32
36
  <DateTimeInput
33
37
  {clearable}
34
38
  {useDropdown}
@@ -6,9 +6,11 @@ declare const __propDef: {
6
6
  label: string;
7
7
  useDropdown?: boolean | undefined;
8
8
  clearable?: boolean | undefined;
9
+ target?: string | HTMLElement | undefined;
9
10
  placement?: Placement | undefined;
10
11
  };
11
12
  events: {
13
+ click: MouseEvent;
12
14
  change: CustomEvent<any>;
13
15
  clear: CustomEvent<any>;
14
16
  } & {
@@ -1,9 +1,10 @@
1
1
  <script>import Portal from '../../Portal.svelte';
2
2
  export let condition = false;
3
+ export let target = undefined;
3
4
  </script>
4
5
 
5
6
  {#if condition}
6
- <Portal><slot /></Portal>
7
+ <Portal {target}><slot /></Portal>
7
8
  {:else}
8
9
  <slot />
9
10
  {/if}
@@ -2,6 +2,7 @@ import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  condition?: boolean | undefined;
5
+ target?: string | HTMLElement | undefined;
5
6
  };
6
7
  events: {
7
8
  [evt: string]: CustomEvent<any>;
@@ -13,6 +13,7 @@ import MSSqlServerIcon from '../../icons/MSSqlServerIcon.svelte';
13
13
  import BunIcon from '../../icons/BunIcon.svelte';
14
14
  import DenoIcon from '../../icons/DenoIcon.svelte';
15
15
  import PHPIcon from '../../icons/PHPIcon.svelte';
16
+ import RustIcon from '../../icons/RustIcon.svelte';
16
17
  export let lang;
17
18
  export let width = 30;
18
19
  export let height = 30;
@@ -32,7 +33,8 @@ const languageLabel = {
32
33
  mysql: 'MySQL',
33
34
  mssql: 'MS SQL Server',
34
35
  bun: 'TypeScript',
35
- php: 'PHP'
36
+ php: 'PHP',
37
+ rust: 'Rust'
36
38
  };
37
39
  const langToComponent = {
38
40
  go: GoIcon,
@@ -54,7 +56,8 @@ const langToComponent = {
54
56
  postgresql: PostgresIcon,
55
57
  nativets: RestIcon,
56
58
  graphql: GraphqlIcon,
57
- php: PHPIcon
59
+ php: PHPIcon,
60
+ rust: RustIcon
58
61
  };
59
62
  let subIconScale = width === 30 ? 0.6 : 0.8;
60
63
  </script>
@@ -9,6 +9,7 @@ export let containerClasses = 'rounded-lg shadow-md border p-4 bg-surface';
9
9
  const [floatingRef, floatingContent] = createFloatingActions(floatingConfig);
10
10
  export let blockOpen = false;
11
11
  export let shouldUsePortal = true;
12
+ export let target = undefined;
12
13
  </script>
13
14
 
14
15
  <Popover on:close class="leading-none">
@@ -17,7 +18,7 @@ export let shouldUsePortal = true;
17
18
  <slot name="button" />
18
19
  </div>
19
20
  </PopoverButton>
20
- <ConditionalPortal condition={shouldUsePortal}>
21
+ <ConditionalPortal condition={shouldUsePortal} {target}>
21
22
  <div use:floatingContent class="z5000">
22
23
  <Transition
23
24
  show={blockOpen || undefined}
@@ -6,6 +6,7 @@ declare const __propDef: {
6
6
  containerClasses?: string | undefined;
7
7
  blockOpen?: boolean | undefined;
8
8
  shouldUsePortal?: boolean | undefined;
9
+ target?: string | HTMLElement | undefined;
9
10
  };
10
11
  events: {
11
12
  close: CustomEvent<any>;
@@ -8,13 +8,13 @@ import Button from '../button/Button.svelte';
8
8
  import Row from './Row.svelte';
9
9
  import DraftBadge from '../../DraftBadge.svelte';
10
10
  import Badge from '../badge/Badge.svelte';
11
- import { ExternalLink, Eye, File, FileJson, FileUp, GitFork, Globe, History, Pen, Share, Trash, Clipboard } from 'lucide-svelte';
11
+ import { ExternalLink, Eye, File, FileJson, FileUp, GitFork, Globe, History, Pen, Share, Trash, Clipboard, Loader2 } from 'lucide-svelte';
12
12
  import { goto as gotoUrl } from '$app/navigation';
13
13
  import { page } from '$app/stores';
14
14
  import { DELETE, copyToClipboard } from '../../../utils';
15
15
  import AppDeploymentHistory from '../../apps/editor/AppDeploymentHistory.svelte';
16
- import AppJsonEditor from '../../apps/editor/AppJsonEditor.svelte';
17
16
  import { isDeployable } from '../../../utils_deployable';
17
+ import { getDeployUiSettings } from '../../home/deploy_ui';
18
18
  export let app;
19
19
  export let marked;
20
20
  export let starred;
@@ -24,17 +24,20 @@ export let deploymentDrawer;
24
24
  export let deleteConfirmedCallback;
25
25
  export let depth = 0;
26
26
  export let menuOpen = false;
27
- export let deployUiSettings = undefined;
28
27
  const dispatch = createEventDispatcher();
29
- let appExport;
28
+ let appExport = undefined;
30
29
  let appDeploymentHistory = undefined;
31
30
  async function loadAppJson() {
32
- appExport.open(app.path);
31
+ appExport?.open(app.path);
33
32
  }
34
33
  </script>
35
34
 
36
35
  {#if menuOpen}
37
- <AppJsonEditor on:change bind:this={appExport} />
36
+ {#await import('../../apps/editor/AppJsonEditor.svelte')}
37
+ <Loader2 class="animate-spin" />
38
+ {:then Module}
39
+ <Module.default on:change bind:this={appExport} />
40
+ {/await}
38
41
  <AppDeploymentHistory bind:this={appDeploymentHistory} appPath={app.path} />
39
42
  {/if}
40
43
 
@@ -94,7 +97,7 @@ async function loadAppJson() {
94
97
  {/if}
95
98
  </span>
96
99
  <Dropdown
97
- items={() => {
100
+ items={async () => {
98
101
  let { draft_only, canWrite, summary, execution_mode, path, has_draft } = app
99
102
 
100
103
  if (draft_only) {
@@ -144,7 +147,7 @@ async function loadAppJson() {
144
147
  disabled: !canWrite,
145
148
  hide: $userStore?.operator
146
149
  },
147
- ...(isDeployable('app', path, deployUiSettings)
150
+ ...(isDeployable('app', path, await getDeployUiSettings())
148
151
  ? [
149
152
  {
150
153
  displayName: 'Deploy to staging/prod',
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type MoveDrawer from '../../MoveDrawer.svelte';
3
3
  import type ShareModal from '../../ShareModal.svelte';
4
- import { type ListableApp, type WorkspaceDeployUISettings } from '../../../gen';
4
+ import { type ListableApp } from '../../../gen';
5
5
  import type DeployWorkspaceDrawer from '../../DeployWorkspaceDrawer.svelte';
6
6
  declare const __propDef: {
7
7
  props: {
@@ -18,7 +18,6 @@ declare const __propDef: {
18
18
  deleteConfirmedCallback: (() => void) | undefined;
19
19
  depth?: number | undefined;
20
20
  menuOpen?: boolean | undefined;
21
- deployUiSettings?: WorkspaceDeployUISettings | undefined;
22
21
  };
23
22
  events: {
24
23
  change: CustomEvent<any>;
@@ -15,6 +15,7 @@ import { DELETE, copyToClipboard, isOwner } from '../../../utils';
15
15
  import { isDeployable } from '../../../utils_deployable';
16
16
  import { Pen, GitFork, Trash, List, FileUp, Globe, Calendar, Share, Archive, Clipboard, Eye, HistoryIcon } from 'lucide-svelte';
17
17
  import FlowHistory from '../../flows/FlowHistory.svelte';
18
+ import { getDeployUiSettings } from '../../home/deploy_ui';
18
19
  export let flow;
19
20
  export let marked;
20
21
  export let starred;
@@ -25,7 +26,6 @@ export let deploymentDrawer;
25
26
  export let errorHandlerMuted;
26
27
  export let depth = 0;
27
28
  export let menuOpen = false;
28
- export let deployUiSettings = undefined;
29
29
  const dispatch = createEventDispatcher();
30
30
  async function archiveFlow(path, archived) {
31
31
  try {
@@ -115,7 +115,7 @@ let flowHistory;
115
115
  </span>
116
116
 
117
117
  <Dropdown
118
- items={() => {
118
+ items={async () => {
119
119
  let { draft_only, path, archived, has_draft } = flow
120
120
  let owner = isOwner(path, $userStore, $workspaceStore)
121
121
  if (draft_only) {
@@ -173,7 +173,7 @@ let flowHistory;
173
173
  copyToClipboard(path)
174
174
  }
175
175
  },
176
- ...(isDeployable('flow', path, deployUiSettings)
176
+ ...(isDeployable('flow', path, await getDeployUiSettings())
177
177
  ? [
178
178
  {
179
179
  displayName: 'Deploy to staging/prod',
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type MoveDrawer from '../../MoveDrawer.svelte';
3
3
  import type ShareModal from '../../ShareModal.svelte';
4
- import { type Flow, type WorkspaceDeployUISettings } from '../../../gen';
4
+ import { type Flow } from '../../../gen';
5
5
  import type DeployWorkspaceDrawer from '../../DeployWorkspaceDrawer.svelte';
6
6
  declare const __propDef: {
7
7
  props: {
@@ -19,7 +19,6 @@ declare const __propDef: {
19
19
  errorHandlerMuted: boolean;
20
20
  depth?: number | undefined;
21
21
  menuOpen?: boolean | undefined;
22
- deployUiSettings?: WorkspaceDeployUISettings | undefined;
23
22
  };
24
23
  events: {
25
24
  change: CustomEvent<any>;
@@ -12,6 +12,7 @@ import FileInput from '../fileInput/FileInput.svelte';
12
12
  import { goto } from '../../../navigation';
13
13
  import { FileUp, Globe, Pen, Share, Trash } from 'lucide-svelte';
14
14
  import { isDeployable } from '../../../utils_deployable';
15
+ import { getDeployUiSettings } from '../../home/deploy_ui';
15
16
  export let app;
16
17
  export let marked;
17
18
  export let starred;
@@ -21,7 +22,6 @@ export let deleteConfirmedCallback;
21
22
  export let deploymentDrawer;
22
23
  export let depth = 0;
23
24
  export let menuOpen = false;
24
- export let deployUiSettings = undefined;
25
25
  let updateAppDrawer;
26
26
  const dispatch = createEventDispatcher();
27
27
  </script>
@@ -81,7 +81,7 @@ const dispatch = createEventDispatcher();
81
81
  {/if}
82
82
  </span>
83
83
  <Dropdown
84
- items={() => {
84
+ items={async () => {
85
85
  let { summary, path, canWrite } = app
86
86
 
87
87
  return [
@@ -93,7 +93,7 @@ const dispatch = createEventDispatcher();
93
93
  },
94
94
  disabled: !canWrite
95
95
  },
96
- ...(isDeployable('app', path, deployUiSettings)
96
+ ...(isDeployable('app', path, await getDeployUiSettings())
97
97
  ? [
98
98
  {
99
99
  displayName: 'Deploy to prod/staging',
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type MoveDrawer from '../../MoveDrawer.svelte';
3
3
  import type ShareModal from '../../ShareModal.svelte';
4
- import { type ListableRawApp, type WorkspaceDeployUISettings } from '../../../gen';
4
+ import { type ListableRawApp } from '../../../gen';
5
5
  import type DeployWorkspaceDrawer from '../../DeployWorkspaceDrawer.svelte';
6
6
  declare const __propDef: {
7
7
  props: {
@@ -16,7 +16,6 @@ declare const __propDef: {
16
16
  deploymentDrawer: DeployWorkspaceDrawer;
17
17
  depth?: number | undefined;
18
18
  menuOpen?: boolean | undefined;
19
- deployUiSettings?: WorkspaceDeployUISettings | undefined;
20
19
  };
21
20
  events: {
22
21
  change: CustomEvent<any>;
@@ -19,6 +19,7 @@ import ScriptVersionHistory from '../../ScriptVersionHistory.svelte';
19
19
  import { Drawer, DrawerContent } from '..';
20
20
  import NoMainFuncBadge from '../../NoMainFuncBadge.svelte';
21
21
  import Tooltip from '../../Tooltip.svelte';
22
+ import { getDeployUiSettings } from '../../home/deploy_ui';
22
23
  export let script;
23
24
  export let marked;
24
25
  export let starred;
@@ -30,7 +31,6 @@ export let errorHandlerMuted;
30
31
  export let showCode;
31
32
  export let depth = 0;
32
33
  export let menuOpen = false;
33
- export let deployUiSettings = undefined;
34
34
  const dispatch = createEventDispatcher();
35
35
  async function archiveScript(path) {
36
36
  await ScriptService.archiveScriptByPath({ workspace: $workspaceStore, path });
@@ -135,7 +135,7 @@ let versionsDrawerOpen = false;
135
135
  {/if}
136
136
  </span>
137
137
  <Dropdown
138
- items={() => {
138
+ items={async () => {
139
139
  let owner = isOwner(script.path, $userStore, $workspaceStore)
140
140
  if (script.draft_only) {
141
141
  return [
@@ -188,7 +188,7 @@ let versionsDrawerOpen = false;
188
188
  disabled: !owner || script.archived,
189
189
  hide: $userStore?.operator
190
190
  },
191
- ...(isDeployable('script', script.path, deployUiSettings)
191
+ ...(isDeployable('script', script.path, await getDeployUiSettings())
192
192
  ? [
193
193
  {
194
194
  displayName: 'Deploy to staging/prod',
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type MoveDrawer from '../../MoveDrawer.svelte';
3
3
  import type ShareModal from '../../ShareModal.svelte';
4
- import { type Script, type WorkspaceDeployUISettings } from '../../../gen';
4
+ import { type Script } from '../../../gen';
5
5
  import type DeployWorkspaceDrawer from '../../DeployWorkspaceDrawer.svelte';
6
6
  declare const __propDef: {
7
7
  props: {
@@ -19,7 +19,6 @@ declare const __propDef: {
19
19
  showCode: (path: string, summary: string) => void;
20
20
  depth?: number | undefined;
21
21
  menuOpen?: boolean | undefined;
22
- deployUiSettings?: WorkspaceDeployUISettings | undefined;
23
22
  };
24
23
  events: {
25
24
  change: CustomEvent<any>;
@@ -1,53 +1,28 @@
1
- <script>import { SparklesIcon } from 'lucide-svelte';
2
- import Button from '../common/button/Button.svelte';
3
- import { codeCompletionLoading, copilotInfo, codeCompletionSessionEnabled } from '../../stores';
4
- import Popover from '../Popover.svelte';
5
- import { getLocalSetting, storeLocalSetting } from '../../utils';
6
- import SparklesOffIcon from '../icons/SparklesOffIcon.svelte';
7
- const SETTING_NAME = 'codeCompletionSessionEnabled';
8
- function loadSetting() {
9
- $codeCompletionSessionEnabled = (getLocalSetting(SETTING_NAME) ?? 'true') == 'true';
10
- }
1
+ <script>import { codeCompletionSessionEnabled, copilotInfo, FORMAT_ON_SAVE_SETTING_NAME } from '../../stores';
2
+ import { storeLocalSetting } from '../../utils';
3
+ import Toggle from '../Toggle.svelte';
11
4
  function storeSetting() {
12
- $codeCompletionSessionEnabled = !$codeCompletionSessionEnabled;
13
- storeLocalSetting(SETTING_NAME, $codeCompletionSessionEnabled.toString());
5
+ storeLocalSetting(FORMAT_ON_SAVE_SETTING_NAME, $codeCompletionSessionEnabled.toString());
14
6
  }
15
- loadSetting();
16
7
  </script>
17
8
 
18
9
  {#if $copilotInfo.exists_openai_resource_path && $copilotInfo.code_completion_enabled}
19
- <Popover>
20
- <svelte:fragment slot="text"
21
- >Code completion: {$codeCompletionSessionEnabled ? 'enabled' : 'disabled'} (applies only to you)</svelte:fragment
22
- >
23
- <Button
24
- color="light"
25
- size="xs"
26
- loading={$codeCompletionLoading}
27
- startIcon={$codeCompletionLoading
28
- ? undefined
29
- : {
30
- icon: $codeCompletionSessionEnabled ? SparklesIcon : SparklesOffIcon,
31
- classes: $codeCompletionSessionEnabled
32
- ? 'text-violet-800 dark:text-violet-400'
33
- : 'text-violet-800/50 dark:text-violet-400/50'
34
- }}
35
- on:click={() => {
36
- storeSetting()
37
- }}
38
- />
39
- </Popover>
10
+ <Toggle
11
+ size="xs"
12
+ bind:checked={$codeCompletionSessionEnabled}
13
+ on:change={() => {
14
+ storeSetting()
15
+ }}
16
+ options={{ right: 'AI code completion' }}
17
+ />
40
18
  {:else}
41
- <Popover>
42
- <svelte:fragment slot="text"
43
- >Code completion is disabled in the workspace settings</svelte:fragment
44
- >
45
- <Button
46
- color="light"
47
- startIcon={{
48
- icon: SparklesOffIcon
49
- }}
50
- btnClasses="text-violet-800/50 dark:text-violet-400/50"
51
- />
52
- </Popover>
19
+ <Toggle
20
+ disabled
21
+ size="xs"
22
+ checked={false}
23
+ on:change={() => {
24
+ storeSetting()
25
+ }}
26
+ options={{ right: 'AI code completion (disabled in workspace settings)' }}
27
+ />
53
28
  {/if}
@@ -27,7 +27,8 @@ $: prefilteredItems = scripts ?? [];
27
27
  async function loadScripts() {
28
28
  const loadedScripts = await ScriptService.listScripts({
29
29
  workspace: $workspaceStore,
30
- perPage: 300
30
+ perPage: 300,
31
+ kinds: trigger ? 'trigger' : 'script'
31
32
  });
32
33
  scripts = loadedScripts;
33
34
  }
@@ -8,6 +8,7 @@ export type FlowBuilderWhitelabelCustomUi = {
8
8
  tutorials?: boolean;
9
9
  diff?: boolean;
10
10
  extraDeployOptions?: boolean;
11
+ editableSummary?: boolean;
11
12
  };
12
13
  settingsPanel?: boolean;
13
14
  settingsTabs?: {
@@ -41,8 +42,9 @@ export type EditorBarUi = {
41
42
  assistants?: boolean;
42
43
  multiplayer?: boolean;
43
44
  autoformatting?: boolean;
45
+ vimMode?: boolean;
44
46
  aiGen?: boolean;
45
- aiFix?: boolean;
47
+ aiCompletion?: boolean;
46
48
  library?: boolean;
47
49
  useVsCode?: boolean;
48
50
  };
@@ -54,6 +56,7 @@ export type ScriptBuilderWhitelabelCustomUi = {
54
56
  path?: boolean;
55
57
  settings?: boolean;
56
58
  extraDeployOptions?: boolean;
59
+ editableSummary?: boolean;
57
60
  };
58
61
  editorBar?: EditorBarUi;
59
62
  };
@@ -3,8 +3,7 @@ import { base } from '../../base';
3
3
  import { Button, FileInput } from '../common';
4
4
  import Drawer from '../common/drawer/Drawer.svelte';
5
5
  import DrawerContent from '../common/drawer/DrawerContent.svelte';
6
- import SimpleEditor from '../SimpleEditor.svelte';
7
- import { LayoutDashboard, Plus } from 'lucide-svelte';
6
+ import { LayoutDashboard, Loader2, Plus } from 'lucide-svelte';
8
7
  import { importStore } from '../apps/store';
9
8
  import { RawAppService } from '../../gen';
10
9
  import { workspaceStore } from '../../stores';
@@ -79,12 +78,16 @@ async function importRawApp() {
79
78
  title={'Import low-code app from ' + (importType === 'yaml' ? 'YAML' : 'JSON')}
80
79
  on:close={() => drawer?.toggleDrawer?.()}
81
80
  >
82
- <SimpleEditor
83
- bind:code={pendingRaw}
84
- lang={importType}
85
- class="h-full"
86
- fixedOverflowWidgets={false}
87
- />
81
+ {#await import('../SimpleEditor.svelte')}
82
+ <Loader2 class="animate-spin" />
83
+ {:then Module}
84
+ <Module.default
85
+ bind:code={pendingRaw}
86
+ lang={importType}
87
+ class="h-full"
88
+ fixedOverflowWidgets={false}
89
+ />
90
+ {/await}
88
91
  <svelte:fragment slot="actions">
89
92
  <Button size="sm" on:click={importRaw}>Import</Button>
90
93
  </svelte:fragment>