triage cam-pop-op position, constrain widget list, add overflow

This commit is contained in:
Stewart Allen 2026-02-23 23:57:07 -05:00
commit db26bf7f28
2 changed files with 17 additions and 9 deletions

View file

@ -421,9 +421,10 @@ export function opRender() {
const brect = ev.target.getBoundingClientRect();
const prect = parent.getBoundingClientRect();
const Prect = poprec.div.getBoundingClientRect();
const tdiff = prect.top - brect.top;
const botoff = innerHeight - (brect.top + Prect.height);
const offpx = -tdiff + (botoff < 0 ? botoff : -Prect.height/3);
const topmv = brect.top - prect.top - 20;
const topnu = prect.top + topmv;
const botof = innerHeight - (topnu + Prect.height);
const offpx = botof < 0 ? topmv + botof : topmv;
poprec.div.style.transform = `translateY(${offpx}px)`;
poprec.div.onmouseenter = () => { inside = true };
poprec.div.onmouseleave = onLeave;

View file

@ -837,6 +837,10 @@ details[open] summary::after {
#panel-right {
overflow: unset;
}
#ws-widgets {
max-height: 250px;
overflow-y: auto;
}
#ws-widgets, #camops, #fdm-ranges {
padding: 0 4px 0 4px;
}
@ -846,6 +850,10 @@ details[open] summary::after {
#panel-left {
padding-right: 5px;
}
#panel-slide {
border-right: 1px solid var(--border-gray);
border-bottom: 1px solid var(--border-gray);
}
.slideshow #panel-slide {
padding-right: 1px;
border-right: 20px solid rgba(128,128,128,0.3);
@ -855,9 +863,12 @@ details[open] summary::after {
transition: transform 0.15s ease-in-out, border 0.15s ease-in-out;
}
.slideshow #panel-slide:hover {
padding-right: 0px;
transition: transform 0.15s ease-in-out, border 0.15s ease-in-out;
transform: translateX(0);
border-right: 0px solid rgba(128,128,128,0.3);
border-right: 1px solid var(--border-gray);
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
#panel-left, #panel-right {
max-height: 100%;
@ -1196,7 +1207,7 @@ details[open] summary::after {
}
.cam-pop-op {
top: 0;
right: calc(100% + 4px);
right: calc(100% - 4px);
text-align: left;
position: absolute;
white-space: nowrap;
@ -2300,19 +2311,15 @@ details[open] summary::after {
justify-self: center;
}
.var-row input {
/* flex: 1 1 auto; */
min-width: 0;
max-width: 7ch;
margin-right: 0;
margin-bottom: 1px;
padding-bottom: 1px;
padding-top: 1px;
border: 0;
/* border-bottom: 1px solid; */
}
.var-row select {
border: 0;
/* border-bottom: 1px solid; */
border-radius: 0;
text-align: right;
}