diff --git a/devframe b/devframe new file mode 160000 index 00000000..1efe9147 --- /dev/null +++ b/devframe @@ -0,0 +1 @@ +Subproject commit 1efe9147baa22c85f5019f34b297d67f21273463 diff --git a/packages/core/src/client/webcomponents/components/dock/DockEdge.vue b/packages/core/src/client/webcomponents/components/dock/DockEdge.vue index 25401fc6..dace5195 100644 --- a/packages/core/src/client/webcomponents/components/dock/DockEdge.vue +++ b/packages/core/src/client/webcomponents/components/dock/DockEdge.vue @@ -22,6 +22,11 @@ const isVertical = computed(() => store.position === 'left' || store.position == const groupedEntries = computed(() => context.docks.groupedEntries) const selectedEntry = computed(() => context.docks.selected) +const hasPanelContent = computed(() => { + return context.panel.store.open + && selectedEntry.value + && selectedEntry.value.type !== 'action' +}) const positions = ['top', 'right', 'bottom', 'left'] as const const positionIcons: Record = { @@ -114,33 +119,41 @@ const panelStyle = computed(() => { style.left = '0' style.right = '0' style.bottom = '0' - style.height = `${store.height}vh` - style.minHeight = '150px' style.borderRadius = '8px 8px 0 0' + if (hasPanelContent.value) { + style.height = `${store.height}vh` + style.minHeight = '150px' + } break case 'top': style.left = '0' style.right = '0' style.top = '0' - style.height = `${store.height}vh` - style.minHeight = '150px' style.borderRadius = '0 0 8px 8px' + if (hasPanelContent.value) { + style.height = `${store.height}vh` + style.minHeight = '150px' + } break case 'left': style.top = '0' style.bottom = '0' style.left = '0' - style.width = `${store.width}vw` - style.minWidth = '200px' style.borderRadius = '0 8px 8px 0' + if (hasPanelContent.value) { + style.width = `${store.width}vw` + style.minWidth = '200px' + } break case 'right': style.top = '0' style.bottom = '0' style.right = '0' - style.width = `${store.width}vw` - style.minWidth = '200px' style.borderRadius = '8px 0 0 8px' + if (hasPanelContent.value) { + style.width = `${store.width}vw` + style.minWidth = '200px' + } break } @@ -167,7 +180,7 @@ const contentClass = computed(() => { :class="`flex ${isVertical ? 'flex-row' : 'flex-col'}`" :style="panelStyle" > - +
@@ -214,25 +227,14 @@ const contentClass = computed(() => {
-
- -
-
-
- {{ selectedEntry ? 'Action executed' : 'Select a dock entry' }} -
-
+
+