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
@@ -16,12 +16,21 @@ declare const __propDef: {
16
16
  draft_only?: boolean | undefined;
17
17
  } | undefined;
18
18
  version?: number | undefined;
19
+ leftPanelHidden?: boolean | undefined;
20
+ rightPanelHidden?: boolean | undefined;
21
+ bottomPanelHidden?: boolean | undefined;
19
22
  toggleTutorial?: (() => void) | undefined;
20
23
  openTroubleshootPanel?: (() => void) | undefined;
21
24
  };
22
25
  events: {
23
26
  keydown: KeyboardEvent;
24
27
  restore: CustomEvent<any>;
28
+ showLeftPanel: CustomEvent<any>;
29
+ hideLeftPanel: CustomEvent<any>;
30
+ showBottomPanel: CustomEvent<any>;
31
+ hideBottomPanel: CustomEvent<any>;
32
+ showRightPanel: CustomEvent<any>;
33
+ hideRightPanel: CustomEvent<any>;
25
34
  } & {
26
35
  [evt: string]: CustomEvent<any>;
27
36
  };
@@ -40,7 +40,7 @@ export function open(app_l) {
40
40
  variant="border"
41
41
  size="sm"
42
42
  startIcon={{ icon: Clipboard }}
43
- btnClasses="absolute top-2 right-2 w-min"
43
+ btnClasses="absolute top-2 right-2 w-min z-20"
44
44
  >
45
45
  Copy content
46
46
  </Button>
@@ -177,6 +177,10 @@ let appHeight = 0;
177
177
  $: maxRow = maxHeight($appStore.grid, appHeight, $breakpoint);
178
178
  </script>
179
179
 
180
+ <svelte:head>
181
+ <link rel="stylesheet" href="/tailwind_full.css" />
182
+ </svelte:head>
183
+
180
184
  <DarkModeObserver on:change={onThemeChange} />
181
185
 
182
186
  <svelte:window on:hashchange={hashchange} on:resize={resizeWindow} />
@@ -3,11 +3,10 @@ import PanelSection from './settingsPanel/common/PanelSection.svelte';
3
3
  import { classNames, displayDate, emptyString } from '../../../utils';
4
4
  import { AppService } from '../../../gen';
5
5
  import { workspaceStore } from '../../../stores';
6
- import AppPreview from './AppPreview.svelte';
7
6
  import { Skeleton } from '../../common';
8
7
  import Button from '../../common/button/Button.svelte';
9
8
  import { createEventDispatcher } from 'svelte';
10
- import { Pencil, ArrowRight, X } from 'lucide-svelte';
9
+ import { Pencil, ArrowRight, X, Loader2 } from 'lucide-svelte';
11
10
  export let appPath;
12
11
  let loading = false;
13
12
  let versions = [];
@@ -165,7 +164,12 @@ loadVersions();
165
164
  </Button>
166
165
  </div>
167
166
  </div>
168
- <AppPreview noBackend app={selected.value} context={{}} />
167
+
168
+ {#await import('./AppPreview.svelte')}
169
+ <Loader2 class="animate-spin" />
170
+ {:then Module}
171
+ <Module.default noBackend app={selected.value} context={{}} />
172
+ {/await}
169
173
  {:else}
170
174
  <Skeleton layout={[[40]]} />
171
175
  {/if}
@@ -17,7 +17,7 @@ import Tooltip from '../../Tooltip.svelte';
17
17
  import { Loader2 } from 'lucide-svelte';
18
18
  import Popover from '../../Popover.svelte';
19
19
  export let policy;
20
- const { selectedComponent, app, mode, connectingInput, summary, focusedGrid, parentWidth, breakpoint, allIdsInPath, bgRuns } = getContext('AppViewerContext');
20
+ const { selectedComponent, app, connectingInput, summary, focusedGrid, parentWidth, breakpoint, allIdsInPath, bgRuns } = getContext('AppViewerContext');
21
21
  const { history, scale, componentActive } = getContext('AppEditorContext');
22
22
  let previousSelectedIds = undefined;
23
23
  $: if (!deepEqual(previousSelectedIds, $selectedComponent)) {
@@ -105,14 +105,7 @@ function handleFillHeight(id) {
105
105
  }}
106
106
  bind:clientWidth={$parentWidth}
107
107
  >
108
- <div
109
- class={twMerge(
110
- !$focusedGrid && $mode !== 'preview' ? 'outline-dashed' : '',
111
- 'subgrid overflow-visible z-100',
112
- 'outline-[#999999] dark:outline-[#aaaaaa] outline-dotted outline-offset-2 outline-1 '
113
- )}
114
- style={`transform: scale(${$scale / 100});`}
115
- >
108
+ <div class="subgrid overflow-visible z-100" style={`transform: scale(${$scale / 100});`}>
116
109
  <Grid
117
110
  allIdsInPath={$allIdsInPath}
118
111
  selectedIds={$selectedComponent}
@@ -123,6 +116,7 @@ function handleFillHeight(id) {
123
116
  }}
124
117
  let:dataItem
125
118
  let:hidden
119
+ let:overlapped
126
120
  cols={columnConfiguration}
127
121
  >
128
122
  <ComponentWrapper
@@ -163,6 +157,7 @@ function handleFillHeight(id) {
163
157
  on:fillHeight={() => {
164
158
  handleFillHeight(dataItem.id)
165
159
  }}
160
+ overlapped={overlapped !== undefined}
166
161
  />
167
162
  </GridEditorMenu>
168
163
  </ComponentWrapper>
@@ -180,10 +175,6 @@ function handleFillHeight(id) {
180
175
  {/if}
181
176
 
182
177
  <style global>
183
- :global(.svlt-grid-shadow) {
184
- /* Back shadow */
185
- background: #93c4fdd0 !important;
186
- }
187
178
  :global(.svlt-grid-active) {
188
179
  opacity: 1 !important;
189
180
  }</style>
@@ -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