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.
- package/package/assets/app.css +25 -1
- package/package/components/ArgInput.svelte +2 -1
- package/package/components/ChangeInstanceUsername.svelte +9 -108
- package/package/components/ChangeInstanceUsernameInner.svelte +112 -0
- package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +21 -0
- package/package/components/DiffDrawer.svelte +27 -20
- package/package/components/DiffEditor.svelte +13 -1
- package/package/components/DisplayResult.svelte +39 -9
- package/package/components/DropdownV2.svelte +4 -26
- package/package/components/DropdownV2.svelte.d.ts +9 -1
- package/package/components/DropdownV2Inner.svelte +42 -0
- package/package/components/DropdownV2Inner.svelte.d.ts +40 -0
- package/package/components/Editor.svelte +142 -128
- package/package/components/Editor.svelte.d.ts +5 -4
- package/package/components/EditorBar.svelte +9 -11
- package/package/components/EditorSettings.svelte +44 -0
- package/package/components/EditorSettings.svelte.d.ts +17 -0
- package/package/components/EditorTheme.svelte +1 -1
- package/package/components/ErrorOrRecoveryHandler.svelte +27 -20
- package/package/components/FlowBuilder.svelte +17 -3
- package/package/components/FlowBuilder.svelte.d.ts +3 -0
- package/package/components/FlowGraphViewerStep.svelte +1 -1
- package/package/components/FlowStatusViewer.svelte +3 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +5 -2
- package/package/components/FlowViewerInner.svelte +3 -7
- package/package/components/FormatOnSave.svelte +12 -29
- package/package/components/GraphqlSchemaViewer.svelte +1 -1
- package/package/components/GraphqlSchemaViewer.svelte.d.ts +1 -1
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/InstanceNameEditor.svelte +64 -0
- package/package/components/InstanceNameEditor.svelte.d.ts +23 -0
- package/package/components/LightweightArgInput.svelte +6 -11
- package/package/components/LogViewer.svelte +37 -29
- package/package/components/LogViewer.svelte.d.ts +2 -0
- package/package/components/ObjectResourceInput.svelte +1 -1
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/Path.svelte +3 -3
- package/package/components/QueueMetricsDrawer.svelte +6 -218
- package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -3
- package/package/components/QueueMetricsDrawerInner.svelte +211 -0
- package/package/components/QueueMetricsDrawerInner.svelte.d.ts +15 -0
- package/package/components/ResourceEditorDrawer.svelte +14 -11
- package/package/components/ResourceEditorDrawer.svelte.d.ts +1 -1
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/S3FilePicker.svelte +20 -8
- package/package/components/ScheduleEditorInner.svelte +497 -469
- package/package/components/ScriptBuilder.svelte +12 -1
- package/package/components/ScriptBuilder.svelte.d.ts +3 -0
- package/package/components/ScriptEditor.svelte +2 -0
- package/package/components/ScriptEditor.svelte.d.ts +2 -1
- package/package/components/ServiceLogsInner.svelte +511 -0
- package/package/components/ServiceLogsInner.svelte.d.ts +20 -0
- package/package/components/SimpleEditor.svelte +75 -37
- package/package/components/SimpleEditor.svelte.d.ts +9 -3
- package/package/components/Summary.svelte +33 -31
- package/package/components/Summary.svelte.d.ts +1 -0
- package/package/components/SuperadminSettings.svelte +28 -10
- package/package/components/TemplateEditor.svelte +1 -1
- package/package/components/TestJobLoader.svelte.d.ts +1 -1
- package/package/components/VimMode.svelte +16 -0
- package/package/components/VimMode.svelte.d.ts +14 -0
- package/package/components/WorkerTagPicker.svelte +4 -1
- package/package/components/WorkspaceGroup.svelte +139 -68
- package/package/components/WorkspaceGroup.svelte.d.ts +3 -0
- package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +19 -2
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +2 -0
- package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTable.svelte +45 -3
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +2 -1
- package/package/components/apps/components/display/table/AppAggridTableEe.svelte +2 -0
- package/package/components/apps/components/display/table/AppAggridTableEe.svelte.d.ts +2 -1
- package/package/components/apps/editor/AppEditor.svelte +239 -92
- package/package/components/apps/editor/AppEditorBottomPanel.svelte +22 -0
- package/package/components/apps/editor/AppEditorBottomPanel.svelte.d.ts +24 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +44 -2
- package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +9 -0
- package/package/components/apps/editor/AppExportButton.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +4 -0
- package/package/components/apps/editor/DeploymentHistory.svelte +7 -3
- package/package/components/apps/editor/GridEditor.svelte +4 -13
- package/package/components/apps/editor/RunnableJobPanel.svelte +25 -58
- package/package/components/apps/editor/RunnableJobPanel.svelte.d.ts +10 -1
- package/package/components/apps/editor/RunnalbeJobPanelInner.svelte +56 -0
- package/package/components/apps/editor/RunnalbeJobPanelInner.svelte.d.ts +18 -0
- package/package/components/apps/editor/SubGridEditor.svelte +3 -1
- package/package/components/apps/editor/component/Component.svelte +26 -4
- package/package/components/apps/editor/component/Component.svelte.d.ts +1 -0
- package/package/components/apps/editor/component/components.d.ts +5 -0
- package/package/components/apps/editor/componentsPanel/CssProperty.svelte +2 -0
- package/package/components/apps/editor/componentsPanel/tailwindUtils.js +267 -1
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +9 -1
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +2 -0
- package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +4 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +7 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte.d.ts +5 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +14 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte.d.ts +1 -0
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +25 -5
- package/package/components/apps/editor/settingsPanel/HideButton.svelte +47 -0
- package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +22 -0
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +43 -4
- package/package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/Grid.svelte +6 -2
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/MoveResize.svelte +11 -3
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
- package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
- package/package/components/apps/svelte-grid/utils/item.js +11 -4
- package/package/components/build_workers.d.ts +1 -1
- package/package/components/build_workers.js +16 -122
- package/package/components/common/button/Button.svelte.d.ts +2 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte +6 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +2 -0
- package/package/components/common/drawer/ConditionalPortal.svelte +2 -1
- package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +1 -0
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/popup/Popup.svelte +2 -1
- package/package/components/common/popup/Popup.svelte.d.ts +1 -0
- package/package/components/common/table/AppRow.svelte +11 -8
- package/package/components/common/table/AppRow.svelte.d.ts +1 -2
- package/package/components/common/table/FlowRow.svelte +3 -3
- package/package/components/common/table/FlowRow.svelte.d.ts +1 -2
- package/package/components/common/table/RawAppRow.svelte +3 -3
- package/package/components/common/table/RawAppRow.svelte.d.ts +1 -2
- package/package/components/common/table/ScriptRow.svelte +3 -3
- package/package/components/common/table/ScriptRow.svelte.d.ts +1 -2
- package/package/components/copilot/CodeCompletionStatus.svelte +21 -46
- package/package/components/copilot/StepGen.svelte +2 -1
- package/package/components/custom_ui.d.ts +4 -1
- package/package/components/flows/CreateActionsApp.svelte +11 -8
- package/package/components/flows/CreateActionsFlow.svelte +11 -8
- package/package/components/flows/FlowEditor.svelte +1 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +0 -1
- package/package/components/flows/FlowHistory.svelte +6 -3
- package/package/components/flows/content/FlowModuleComponent.svelte +1 -0
- package/package/components/flows/content/FlowModuleScript.svelte +15 -11
- package/package/components/flows/content/FlowSettings.svelte +1 -4
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -0
- package/package/components/flows/header/FlowYamlEditor.svelte +55 -0
- package/package/components/flows/header/FlowYamlEditor.svelte.d.ts +17 -0
- package/package/components/flows/map/InsertTriggerButton.svelte +1 -1
- package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +1 -0
- package/package/components/flows/map/VirtualItem.svelte +1 -1
- package/package/components/flows/pickers/PickHubScript.svelte +1 -0
- package/package/components/flows/types.d.ts +7 -6
- package/package/components/flows/utils.d.ts +9 -0
- package/package/components/flows/utils.js +21 -0
- package/package/components/graph/graphBuilder.js +1 -0
- package/package/components/graph/model.d.ts +1 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +16 -0
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte +5 -1
- package/package/components/graph/renderers/nodes/NoBranchNode.svelte.d.ts +1 -0
- package/package/components/home/Item.svelte +0 -17
- package/package/components/home/deploy_ui.d.ts +2 -0
- package/package/components/home/deploy_ui.js +21 -0
- package/package/components/icons/RustIcon.svelte +70 -0
- package/package/components/icons/RustIcon.svelte.d.ts +25 -0
- package/package/components/icons/rust-logo.svg +1 -0
- package/package/components/instanceSettings.js +2 -2
- package/package/components/monaco_keybindings.d.ts +3 -0
- package/package/components/monaco_keybindings.js +9 -0
- package/package/components/preview/FlowPreviewStatus.svelte +6 -2
- package/package/components/runs/JobLoader.svelte +12 -3
- package/package/components/runs/JobLoader.svelte.d.ts +1 -1
- package/package/components/runs/ManuelDatePicker.svelte +31 -44
- package/package/components/runs/ManuelDatePicker.svelte.d.ts +6 -2
- package/package/components/runs/RunsFilter.svelte +4 -1
- package/package/components/runs/RunsFilter.svelte.d.ts +1 -0
- package/package/components/search/GlobalSearchModal.svelte +36 -25
- package/package/components/vscode.js +1 -1
- package/package/components/wizards/TableActionsWizard.svelte +84 -0
- package/package/components/wizards/TableActionsWizard.svelte.d.ts +22 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +8 -8
- package/package/gen/schemas.gen.js +8 -8
- package/package/gen/services.gen.d.ts +4 -0
- package/package/gen/services.gen.js +16 -0
- package/package/gen/types.gen.d.ts +20 -8
- package/package/infer.d.ts +1 -1
- package/package/infer.js +48 -7
- package/package/script_helpers.d.ts +1 -0
- package/package/script_helpers.js +39 -1
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +12 -4
- package/package/stores.d.ts +5 -1
- package/package/stores.js +7 -2
- package/package.json +18 -9
|
@@ -14,7 +14,6 @@ import { classNames, encodeState, sendUserToast } from '../../../utils';
|
|
|
14
14
|
import AppPreview from './AppPreview.svelte';
|
|
15
15
|
import ComponentList from './componentsPanel/ComponentList.svelte';
|
|
16
16
|
import ContextPanel from './contextPanel/ContextPanel.svelte';
|
|
17
|
-
import InlineScriptsPanel from './inlineScriptsPanel/InlineScriptsPanel.svelte';
|
|
18
17
|
import { page } from '$app/stores';
|
|
19
18
|
import ItemPicker from '../../ItemPicker.svelte';
|
|
20
19
|
import VariableEditor from '../../VariableEditor.svelte';
|
|
@@ -34,6 +33,8 @@ import { getTheme } from './componentsPanel/themeUtils';
|
|
|
34
33
|
import StylePanel from './settingsPanel/StylePanel.svelte';
|
|
35
34
|
import RunnableJobPanel from './RunnableJobPanel.svelte';
|
|
36
35
|
import { goto, replaceState } from '$app/navigation';
|
|
36
|
+
import HideButton from './settingsPanel/HideButton.svelte';
|
|
37
|
+
import AppEditorBottomPanel from './AppEditorBottomPanel.svelte';
|
|
37
38
|
export let app;
|
|
38
39
|
export let path;
|
|
39
40
|
export let policy;
|
|
@@ -238,7 +239,7 @@ function onThemeChange() {
|
|
|
238
239
|
let runnablePanelSize = 30;
|
|
239
240
|
let gridPanelSize = 70;
|
|
240
241
|
let leftPanelSize = 22;
|
|
241
|
-
let centerPanelSize =
|
|
242
|
+
let centerPanelSize = 56;
|
|
242
243
|
let rightPanelSize = 22;
|
|
243
244
|
let tmpRunnablePanelSize = -1;
|
|
244
245
|
let tmpGridPanelSize = -1;
|
|
@@ -407,11 +408,96 @@ function setGridPanelSize(x) {
|
|
|
407
408
|
}
|
|
408
409
|
let runnableJobEnterTimeout = undefined;
|
|
409
410
|
let stillInJobEnter = false;
|
|
411
|
+
let storedLeftPanelSize = 0;
|
|
412
|
+
let storedRightPanelSize = 0;
|
|
413
|
+
let storedBottomPanelSize = 0;
|
|
414
|
+
let centerPanelWidth = 0;
|
|
415
|
+
function hideLeftPanel() {
|
|
416
|
+
storedLeftPanelSize = leftPanelSize;
|
|
417
|
+
leftPanelSize = 0;
|
|
418
|
+
centerPanelSize = centerPanelSize + storedLeftPanelSize;
|
|
419
|
+
}
|
|
420
|
+
function hideRightPanel() {
|
|
421
|
+
storedRightPanelSize = rightPanelSize;
|
|
422
|
+
rightPanelSize = 0;
|
|
423
|
+
centerPanelSize = centerPanelSize + storedRightPanelSize;
|
|
424
|
+
}
|
|
425
|
+
function hideBottomPanel() {
|
|
426
|
+
storedBottomPanelSize = runnablePanelSize;
|
|
427
|
+
gridPanelSize = 99;
|
|
428
|
+
runnablePanelSize = 0;
|
|
429
|
+
}
|
|
430
|
+
function showLeftPanel() {
|
|
431
|
+
leftPanelSize = storedLeftPanelSize;
|
|
432
|
+
centerPanelSize = centerPanelSize - storedLeftPanelSize;
|
|
433
|
+
storedLeftPanelSize = 0;
|
|
434
|
+
}
|
|
435
|
+
function showRightPanel() {
|
|
436
|
+
rightPanelSize = storedRightPanelSize;
|
|
437
|
+
centerPanelSize = centerPanelSize - storedRightPanelSize;
|
|
438
|
+
storedRightPanelSize = 0;
|
|
439
|
+
}
|
|
440
|
+
function showBottomPanel() {
|
|
441
|
+
runnablePanelSize = storedBottomPanelSize;
|
|
442
|
+
gridPanelSize = gridPanelSize - storedBottomPanelSize;
|
|
443
|
+
storedBottomPanelSize = 0;
|
|
444
|
+
}
|
|
445
|
+
function keydown(event) {
|
|
446
|
+
let classes = event.target?.['className'];
|
|
447
|
+
if ((typeof classes === 'string' && classes.includes('inputarea')) ||
|
|
448
|
+
['INPUT', 'TEXTAREA'].includes(document.activeElement?.tagName)) {
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
switch (event.key) {
|
|
452
|
+
case 'b': {
|
|
453
|
+
if (event.ctrlKey || event.metaKey) {
|
|
454
|
+
event.preventDefault();
|
|
455
|
+
if (leftPanelSize !== 0) {
|
|
456
|
+
hideLeftPanel();
|
|
457
|
+
}
|
|
458
|
+
else {
|
|
459
|
+
showLeftPanel();
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
break;
|
|
463
|
+
}
|
|
464
|
+
case 'u': {
|
|
465
|
+
if (event.ctrlKey || event.metaKey) {
|
|
466
|
+
event.preventDefault();
|
|
467
|
+
if (rightPanelSize !== 0) {
|
|
468
|
+
hideRightPanel();
|
|
469
|
+
}
|
|
470
|
+
else {
|
|
471
|
+
showRightPanel();
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
break;
|
|
475
|
+
}
|
|
476
|
+
case 'l': {
|
|
477
|
+
if (event.ctrlKey || event.metaKey) {
|
|
478
|
+
event.preventDefault();
|
|
479
|
+
if (runnablePanelSize !== 0) {
|
|
480
|
+
hideBottomPanel();
|
|
481
|
+
}
|
|
482
|
+
else {
|
|
483
|
+
showBottomPanel();
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
break;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
let testJob = undefined;
|
|
491
|
+
let jobToWatch = undefined;
|
|
410
492
|
</script>
|
|
411
493
|
|
|
494
|
+
<svelte:head>
|
|
495
|
+
<link rel="stylesheet" href="/tailwind_full.css" />
|
|
496
|
+
</svelte:head>
|
|
497
|
+
|
|
412
498
|
<DarkModeObserver on:change={onThemeChange} />
|
|
413
499
|
|
|
414
|
-
<svelte:window on:hashchange={hashchange} />
|
|
500
|
+
<svelte:window on:hashchange={hashchange} on:keydown={keydown} />
|
|
415
501
|
|
|
416
502
|
{#if !$userStore?.operator}
|
|
417
503
|
{#if $appStore}
|
|
@@ -423,6 +509,15 @@ let stillInJobEnter = false;
|
|
|
423
509
|
{diffDrawer}
|
|
424
510
|
bind:savedApp
|
|
425
511
|
{version}
|
|
512
|
+
leftPanelHidden={leftPanelSize === 0}
|
|
513
|
+
rightPanelHidden={rightPanelSize === 0}
|
|
514
|
+
bottomPanelHidden={runnablePanelSize === 0}
|
|
515
|
+
on:showLeftPanel={() => showLeftPanel()}
|
|
516
|
+
on:showRightPanel={() => showRightPanel()}
|
|
517
|
+
on:hideLeftPanel={() => hideLeftPanel()}
|
|
518
|
+
on:hideRightPanel={() => hideRightPanel()}
|
|
519
|
+
on:hideBottomPanel={() => hideBottomPanel()}
|
|
520
|
+
on:showBottomPanel={() => showBottomPanel()}
|
|
426
521
|
/>
|
|
427
522
|
{#if $mode === 'preview'}
|
|
428
523
|
<SplitPanesWrapper>
|
|
@@ -468,7 +563,7 @@ let stillInJobEnter = false;
|
|
|
468
563
|
<!-- {yTop} -->
|
|
469
564
|
|
|
470
565
|
<SecondaryMenu right={false} />
|
|
471
|
-
<ContextPanel />
|
|
566
|
+
<ContextPanel on:hidePanel={() => hideLeftPanel()} />
|
|
472
567
|
</div>
|
|
473
568
|
</Pane>
|
|
474
569
|
<Pane bind:size={centerPanelSize}>
|
|
@@ -485,7 +580,39 @@ let stillInJobEnter = false;
|
|
|
485
580
|
'wm-app-viewer h-full overflow-visible'
|
|
486
581
|
)}
|
|
487
582
|
style={$appStore.css?.['app']?.['viewer']?.style}
|
|
583
|
+
bind:clientWidth={centerPanelWidth}
|
|
488
584
|
>
|
|
585
|
+
{#if leftPanelSize === 0}
|
|
586
|
+
<div class="absolute top-0.5 left-0.5 z-50">
|
|
587
|
+
<HideButton
|
|
588
|
+
on:click={() => showLeftPanel()}
|
|
589
|
+
direction="right"
|
|
590
|
+
hidden
|
|
591
|
+
btnClasses="border bg-surface"
|
|
592
|
+
/>
|
|
593
|
+
</div>
|
|
594
|
+
{/if}
|
|
595
|
+
{#if rightPanelSize === 0}
|
|
596
|
+
<div class="absolute top-0.5 right-0.5 z-50">
|
|
597
|
+
<HideButton
|
|
598
|
+
on:click={() => showRightPanel()}
|
|
599
|
+
direction="left"
|
|
600
|
+
hidden
|
|
601
|
+
btnClasses="border bg-surface"
|
|
602
|
+
/>
|
|
603
|
+
</div>
|
|
604
|
+
{/if}
|
|
605
|
+
{#if runnablePanelSize === 0}
|
|
606
|
+
<div class="absolute bottom-0.5 right-0.5 z-50">
|
|
607
|
+
<HideButton
|
|
608
|
+
on:click={() => showBottomPanel()}
|
|
609
|
+
direction="bottom"
|
|
610
|
+
hidden
|
|
611
|
+
btnClasses="border bg-surface"
|
|
612
|
+
/>
|
|
613
|
+
</div>
|
|
614
|
+
{/if}
|
|
615
|
+
|
|
489
616
|
<div class="absolute bottom-2 left-2 z-50 border bg-surface">
|
|
490
617
|
<div class="flex flex-row gap-2 text-xs items-center h-8 px-1">
|
|
491
618
|
<Button
|
|
@@ -573,9 +700,7 @@ let stillInJobEnter = false;
|
|
|
573
700
|
</Pane>
|
|
574
701
|
{#if $connectingInput?.opened == false && !$componentActive}
|
|
575
702
|
<Pane bind:size={runnablePanelSize}>
|
|
576
|
-
|
|
577
|
-
<div
|
|
578
|
-
class="relative h-full w-full overflow-x-visible"
|
|
703
|
+
<AppEditorBottomPanel
|
|
579
704
|
on:mouseenter={() => {
|
|
580
705
|
runnableJobEnterTimeout && clearTimeout(runnableJobEnterTimeout)
|
|
581
706
|
stillInJobEnter = true
|
|
@@ -585,6 +710,7 @@ let stillInJobEnter = false;
|
|
|
585
710
|
}
|
|
586
711
|
}, 200)
|
|
587
712
|
}}
|
|
713
|
+
on:hidePanel={() => hideBottomPanel()}
|
|
588
714
|
on:mouseleave={() => {
|
|
589
715
|
stillInJobEnter = false
|
|
590
716
|
runnableJobEnterTimeout = setTimeout(
|
|
@@ -592,98 +718,119 @@ let stillInJobEnter = false;
|
|
|
592
718
|
200
|
|
593
719
|
)
|
|
594
720
|
}}
|
|
721
|
+
{rightPanelSize}
|
|
722
|
+
{centerPanelWidth}
|
|
723
|
+
{runnablePanelSize}
|
|
595
724
|
>
|
|
596
|
-
<
|
|
597
|
-
|
|
598
|
-
|
|
725
|
+
<RunnableJobPanel
|
|
726
|
+
float={rightPanelSize !== 0}
|
|
727
|
+
hidden={runnablePanelSize === 0}
|
|
728
|
+
bind:testJob
|
|
729
|
+
bind:jobToWatch
|
|
730
|
+
/>
|
|
731
|
+
</AppEditorBottomPanel>
|
|
599
732
|
</Pane>
|
|
600
733
|
{/if}
|
|
601
734
|
</Splitpanes>
|
|
602
735
|
</Pane>
|
|
603
|
-
|
|
604
|
-
<div
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
id="app-editor-component-library-tab"
|
|
619
|
-
>
|
|
620
|
-
<div class="m-1 center-center">
|
|
621
|
-
<Plus size={18} />
|
|
622
|
-
</div>
|
|
623
|
-
</Tab>
|
|
624
|
-
</Popover>
|
|
625
|
-
<Popover disappearTimeout={0} notClickable placement="bottom">
|
|
626
|
-
<svelte:fragment slot="text">Component settings</svelte:fragment>
|
|
627
|
-
<Tab
|
|
628
|
-
value="settings"
|
|
629
|
-
size="xs"
|
|
630
|
-
class="h-full"
|
|
631
|
-
on:pointerdown={() => {
|
|
632
|
-
if ($cssEditorOpen) {
|
|
633
|
-
$cssEditorOpen = false
|
|
634
|
-
selectedTab = 'settings'
|
|
635
|
-
}
|
|
636
|
-
}}
|
|
637
|
-
>
|
|
638
|
-
<div class="m-1 center-center">
|
|
639
|
-
<Component size={18} />
|
|
640
|
-
</div>
|
|
641
|
-
</Tab>
|
|
642
|
-
</Popover>
|
|
643
|
-
<Popover disappearTimeout={0} notClickable placement="bottom">
|
|
644
|
-
<svelte:fragment slot="text">Global styling</svelte:fragment>
|
|
645
|
-
<Tab
|
|
646
|
-
value="css"
|
|
647
|
-
size="xs"
|
|
648
|
-
class="h-full"
|
|
649
|
-
on:pointerdown={() => {
|
|
650
|
-
if (!$cssEditorOpen) {
|
|
651
|
-
$cssEditorOpen = true
|
|
652
|
-
selectedTab = 'css'
|
|
653
|
-
}
|
|
654
|
-
}}
|
|
655
|
-
>
|
|
656
|
-
<div class="m-1 center-center">
|
|
657
|
-
<Paintbrush size={18} />
|
|
658
|
-
</div>
|
|
659
|
-
</Tab>
|
|
660
|
-
</Popover>
|
|
661
|
-
<div slot="content" class="h-full overflow-y-auto">
|
|
662
|
-
<TabContent class="overflow-auto h-full" value="settings">
|
|
663
|
-
{#if $selectedComponent !== undefined}
|
|
664
|
-
<SettingsPanel
|
|
665
|
-
on:delete={() => {
|
|
666
|
-
befSelected = undefined
|
|
736
|
+
{#if rightPanelSize === 0}
|
|
737
|
+
<div class="relative flex flex-col h-full" />
|
|
738
|
+
{:else}
|
|
739
|
+
<Pane bind:size={rightPanelSize} minSize={15} maxSize={33}>
|
|
740
|
+
<div bind:clientWidth={$runnableJob.width} class="relative flex flex-col h-full">
|
|
741
|
+
<Tabs bind:selected={selectedTab} wrapperClass="!min-h-[42px]" class="!h-full">
|
|
742
|
+
<Popover disappearTimeout={0} notClickable placement="bottom">
|
|
743
|
+
<svelte:fragment slot="text">Component library</svelte:fragment>
|
|
744
|
+
<Tab
|
|
745
|
+
value="insert"
|
|
746
|
+
size="xs"
|
|
747
|
+
class="h-full"
|
|
748
|
+
on:pointerdown={() => {
|
|
749
|
+
if ($cssEditorOpen) {
|
|
750
|
+
$cssEditorOpen = false
|
|
667
751
|
selectedTab = 'insert'
|
|
668
|
-
}
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
<div class="
|
|
673
|
-
|
|
752
|
+
}
|
|
753
|
+
}}
|
|
754
|
+
id="app-editor-component-library-tab"
|
|
755
|
+
>
|
|
756
|
+
<div class="m-1 center-center">
|
|
757
|
+
<Plus size={18} />
|
|
674
758
|
</div>
|
|
675
|
-
|
|
676
|
-
</
|
|
677
|
-
<
|
|
678
|
-
<
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
759
|
+
</Tab>
|
|
760
|
+
</Popover>
|
|
761
|
+
<Popover disappearTimeout={0} notClickable placement="bottom">
|
|
762
|
+
<svelte:fragment slot="text">Component settings</svelte:fragment>
|
|
763
|
+
<Tab
|
|
764
|
+
value="settings"
|
|
765
|
+
size="xs"
|
|
766
|
+
class="h-full"
|
|
767
|
+
on:pointerdown={() => {
|
|
768
|
+
if ($cssEditorOpen) {
|
|
769
|
+
$cssEditorOpen = false
|
|
770
|
+
selectedTab = 'settings'
|
|
771
|
+
}
|
|
772
|
+
}}
|
|
773
|
+
>
|
|
774
|
+
<div class="m-1 center-center">
|
|
775
|
+
<Component size={18} />
|
|
776
|
+
</div>
|
|
777
|
+
</Tab>
|
|
778
|
+
</Popover>
|
|
779
|
+
<Popover disappearTimeout={0} notClickable placement="bottom">
|
|
780
|
+
<svelte:fragment slot="text">Global styling</svelte:fragment>
|
|
781
|
+
<Tab
|
|
782
|
+
value="css"
|
|
783
|
+
size="xs"
|
|
784
|
+
class="h-full"
|
|
785
|
+
on:pointerdown={() => {
|
|
786
|
+
if (!$cssEditorOpen) {
|
|
787
|
+
$cssEditorOpen = true
|
|
788
|
+
selectedTab = 'css'
|
|
789
|
+
}
|
|
790
|
+
}}
|
|
791
|
+
>
|
|
792
|
+
<div class="m-1 center-center">
|
|
793
|
+
<Paintbrush size={18} />
|
|
794
|
+
</div>
|
|
795
|
+
</Tab>
|
|
796
|
+
</Popover>
|
|
797
|
+
<div class="h-full w-full flex justify-end px-1">
|
|
798
|
+
<HideButton
|
|
799
|
+
on:click={() => {
|
|
800
|
+
storedRightPanelSize = rightPanelSize
|
|
801
|
+
rightPanelSize = 0
|
|
802
|
+
centerPanelSize = centerPanelSize + storedRightPanelSize
|
|
803
|
+
}}
|
|
804
|
+
direction="right"
|
|
805
|
+
/>
|
|
806
|
+
</div>
|
|
807
|
+
<div slot="content" class="h-full overflow-y-auto">
|
|
808
|
+
<TabContent class="overflow-auto h-full" value="settings">
|
|
809
|
+
{#if $selectedComponent !== undefined}
|
|
810
|
+
<SettingsPanel
|
|
811
|
+
on:delete={() => {
|
|
812
|
+
befSelected = undefined
|
|
813
|
+
selectedTab = 'insert'
|
|
814
|
+
}}
|
|
815
|
+
/>
|
|
816
|
+
<SecondaryMenu right />
|
|
817
|
+
{:else}
|
|
818
|
+
<div class="min-w-[150px] text-sm !text-secondary text-center py-8 px-2">
|
|
819
|
+
Select a component to see the settings for it
|
|
820
|
+
</div>
|
|
821
|
+
{/if}
|
|
822
|
+
</TabContent>
|
|
823
|
+
<TabContent value="insert">
|
|
824
|
+
<ComponentList />
|
|
825
|
+
</TabContent>
|
|
826
|
+
<TabContent value="css" class="h-full">
|
|
827
|
+
<CssSettings />
|
|
828
|
+
</TabContent>
|
|
829
|
+
</div>
|
|
830
|
+
</Tabs>
|
|
831
|
+
</div>
|
|
832
|
+
</Pane>
|
|
833
|
+
{/if}
|
|
687
834
|
</Splitpanes>
|
|
688
835
|
</SplitPanesWrapper>
|
|
689
836
|
{/if}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<script>import { twMerge } from 'tailwind-merge';
|
|
2
|
+
import InlineScriptsPanel from './inlineScriptsPanel/InlineScriptsPanel.svelte';
|
|
3
|
+
import RunnableJobPanel from './RunnableJobPanel.svelte';
|
|
4
|
+
export let rightPanelSize = 0;
|
|
5
|
+
export let centerPanelWidth = 0;
|
|
6
|
+
export let runnablePanelSize = 0;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
{#if rightPanelSize !== 0}
|
|
10
|
+
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
11
|
+
<div class={twMerge('relative h-full w-full overflow-x-visible')} on:mouseenter on:mouseleave>
|
|
12
|
+
<InlineScriptsPanel on:hidePanel />
|
|
13
|
+
<RunnableJobPanel hidden={runnablePanelSize === 0} />
|
|
14
|
+
<slot />
|
|
15
|
+
</div>
|
|
16
|
+
{:else}
|
|
17
|
+
<div class="flex flex-row relative w-full h-full">
|
|
18
|
+
<InlineScriptsPanel width={centerPanelWidth - 400} on:hidePanel />
|
|
19
|
+
|
|
20
|
+
<slot />
|
|
21
|
+
</div>
|
|
22
|
+
{/if}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
rightPanelSize?: number | undefined;
|
|
5
|
+
centerPanelWidth?: number | undefined;
|
|
6
|
+
runnablePanelSize?: number | undefined;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
mouseenter: MouseEvent;
|
|
10
|
+
mouseleave: MouseEvent;
|
|
11
|
+
hidePanel: CustomEvent<any>;
|
|
12
|
+
} & {
|
|
13
|
+
[evt: string]: CustomEvent<any>;
|
|
14
|
+
};
|
|
15
|
+
slots: {
|
|
16
|
+
default: {};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export type AppEditorBottomPanelProps = typeof __propDef.props;
|
|
20
|
+
export type AppEditorBottomPanelEvents = typeof __propDef.events;
|
|
21
|
+
export type AppEditorBottomPanelSlots = typeof __propDef.slots;
|
|
22
|
+
export default class AppEditorBottomPanel extends SvelteComponent<AppEditorBottomPanelProps, AppEditorBottomPanelEvents, AppEditorBottomPanelSlots> {
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -14,7 +14,7 @@ import { AppService, DraftService } from '../../../gen';
|
|
|
14
14
|
import { redo, undo } from '../../../history';
|
|
15
15
|
import { enterpriseLicense, workspaceStore } from '../../../stores';
|
|
16
16
|
import { AlignHorizontalSpaceAround, BellOff, Bug, Clipboard, DiffIcon, Expand, FileJson, FileUp, FormInput, History, Laptop2, Loader2, MoreVertical, RefreshCw, Save, Smartphone, FileClock } from 'lucide-svelte';
|
|
17
|
-
import { getContext } from 'svelte';
|
|
17
|
+
import { createEventDispatcher, getContext } from 'svelte';
|
|
18
18
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
19
19
|
import { classNames, cleanValueProperties, copyToClipboard, truncateRev, orderedJsonStringify } from '../../../utils';
|
|
20
20
|
import { BG_PREFIX, allItems, toStatic } from '../utils';
|
|
@@ -47,6 +47,7 @@ import { getDeleteInput } from '../components/display/dbtable/queries/delete';
|
|
|
47
47
|
import { collectOneOfFields } from './appUtils';
|
|
48
48
|
import Summary from '../../Summary.svelte';
|
|
49
49
|
import ToggleEnable from '../../common/toggleButton-v2/ToggleEnable.svelte';
|
|
50
|
+
import HideButton from './settingsPanel/HideButton.svelte';
|
|
50
51
|
async function hash(message) {
|
|
51
52
|
try {
|
|
52
53
|
const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array
|
|
@@ -69,7 +70,10 @@ export let fromHub = false;
|
|
|
69
70
|
export let diffDrawer = undefined;
|
|
70
71
|
export let savedApp = undefined;
|
|
71
72
|
export let version = undefined;
|
|
72
|
-
|
|
73
|
+
export let leftPanelHidden = false;
|
|
74
|
+
export let rightPanelHidden = false;
|
|
75
|
+
export let bottomPanelHidden = false;
|
|
76
|
+
const { app, summary, breakpoint, appPath, jobs, jobsById, staticExporter, errorByComponent, openDebugRun, mode } = getContext('AppViewerContext');
|
|
73
77
|
const { history, jobsDrawerOpen, refreshComponents } = getContext('AppEditorContext');
|
|
74
78
|
const loading = {
|
|
75
79
|
publish: false,
|
|
@@ -612,6 +616,7 @@ let appReportingDrawerOpen = false;
|
|
|
612
616
|
export function openTroubleshootPanel() {
|
|
613
617
|
debugAppDrawerOpen = true;
|
|
614
618
|
}
|
|
619
|
+
const dispatch = createEventDispatcher();
|
|
615
620
|
</script>
|
|
616
621
|
|
|
617
622
|
<svelte:window on:keydown={onKeyDown} />
|
|
@@ -1191,6 +1196,43 @@ export function openTroubleshootPanel() {
|
|
|
1191
1196
|
</div>
|
|
1192
1197
|
</div>
|
|
1193
1198
|
|
|
1199
|
+
{#if $mode !== 'preview'}
|
|
1200
|
+
<div class="flex gap-1">
|
|
1201
|
+
<HideButton
|
|
1202
|
+
direction="left"
|
|
1203
|
+
hidden={leftPanelHidden}
|
|
1204
|
+
on:click={() => {
|
|
1205
|
+
if (leftPanelHidden) {
|
|
1206
|
+
dispatch('showLeftPanel')
|
|
1207
|
+
} else {
|
|
1208
|
+
dispatch('hideLeftPanel')
|
|
1209
|
+
}
|
|
1210
|
+
}}
|
|
1211
|
+
/>
|
|
1212
|
+
<HideButton
|
|
1213
|
+
hidden={bottomPanelHidden}
|
|
1214
|
+
direction="bottom"
|
|
1215
|
+
on:click={() => {
|
|
1216
|
+
if (bottomPanelHidden) {
|
|
1217
|
+
dispatch('showBottomPanel')
|
|
1218
|
+
} else {
|
|
1219
|
+
dispatch('hideBottomPanel')
|
|
1220
|
+
}
|
|
1221
|
+
}}
|
|
1222
|
+
/>
|
|
1223
|
+
<HideButton
|
|
1224
|
+
hidden={rightPanelHidden}
|
|
1225
|
+
direction="right"
|
|
1226
|
+
on:click={() => {
|
|
1227
|
+
if (rightPanelHidden) {
|
|
1228
|
+
dispatch('showRightPanel')
|
|
1229
|
+
} else {
|
|
1230
|
+
dispatch('hideRightPanel')
|
|
1231
|
+
}
|
|
1232
|
+
}}
|
|
1233
|
+
/>
|
|
1234
|
+
</div>
|
|
1235
|
+
{/if}
|
|
1194
1236
|
{#if $enterpriseLicense && appPath != ''}
|
|
1195
1237
|
<Awareness />
|
|
1196
1238
|
{/if}
|
|
@@ -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
|
};
|
|
@@ -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
|
-
|
|
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,
|
|
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>
|