diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-08-22 12:25:28 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-22 12:25:28 +0000 |
commit | 7fd0ccdffca18fbae2d579f23fb35f3a15232a99 (patch) | |
tree | ba42ade2c7489be20a6c543d94c7797d4f07a6e5 | |
parent | 0d90064e9e00612b1e065eba4e7b394e7892af34 (diff) | |
parent | ed49c7c246c320562df977865476a8c43e81f1b3 (diff) | |
download | stable-diffusion-webui-gfx803-7fd0ccdffca18fbae2d579f23fb35f3a15232a99.tar.gz stable-diffusion-webui-gfx803-7fd0ccdffca18fbae2d579f23fb35f3a15232a99.tar.bz2 stable-diffusion-webui-gfx803-7fd0ccdffca18fbae2d579f23fb35f3a15232a99.zip |
Merge pull request #12723 from MMP0/dev-resize-handle-fix
Resize handle improvements and bug fixes
-rw-r--r-- | javascript/resizeHandle.js | 32 | ||||
-rw-r--r-- | style.css | 41 |
2 files changed, 62 insertions, 11 deletions
diff --git a/javascript/resizeHandle.js b/javascript/resizeHandle.js index 5edecfcc..2fd3c4d2 100644 --- a/javascript/resizeHandle.js +++ b/javascript/resizeHandle.js @@ -66,6 +66,13 @@ parent.insertBefore(resizeHandle, rightCol); resizeHandle.addEventListener('mousedown', (evt) => { + if (evt.button !== 0) return; + + evt.preventDefault(); + evt.stopPropagation(); + + document.body.classList.add('resizing'); + R.tracking = true; R.parent = parent; R.parentWidth = parent.offsetWidth; @@ -75,20 +82,41 @@ R.screenX = evt.screenX; }); - resizeHandle.addEventListener('dblclick', () => parent.style.gridTemplateColumns = GRID_TEMPLATE_COLUMNS); + resizeHandle.addEventListener('dblclick', (evt) => { + evt.preventDefault(); + evt.stopPropagation(); + + parent.style.gridTemplateColumns = GRID_TEMPLATE_COLUMNS; + }); afterResize(parent); } window.addEventListener('mousemove', (evt) => { + if (evt.button !== 0) return; + if (R.tracking) { + evt.preventDefault(); + evt.stopPropagation(); + const delta = R.screenX - evt.screenX; const leftColWidth = Math.max(Math.min(R.leftColStartWidth - delta, R.parent.offsetWidth - GRADIO_MIN_WIDTH - PAD), GRADIO_MIN_WIDTH); setLeftColGridTemplate(R.parent, leftColWidth); } }); - window.addEventListener('mouseup', () => R.tracking = false); + window.addEventListener('mouseup', (evt) => { + if (evt.button !== 0) return; + + if (R.tracking) { + evt.preventDefault(); + evt.stopPropagation(); + + R.tracking = false; + + document.body.classList.remove('resizing'); + } + }); window.addEventListener('resize', () => { @@ -142,6 +142,11 @@ div.gradio-container, .block.gradio-textbox, div.gradio-group, div.gradio-dropdo overflow: visible !important;
}
+/* align-items isn't enough and elements may overflow in Safari. */
+.unequal-height {
+ align-content: flex-start;
+}
+
/* general styled components */
@@ -1056,14 +1061,32 @@ div.accordions > div.input-accordion.input-accordion-open{ top: 0.5em;
}
+body.resizing {
+ cursor: col-resize !important;
+}
+
+body.resizing * {
+ pointer-events: none !important;
+}
+
+body.resizing .resize-handle {
+ pointer-events: initial !important;
+}
+
+.resize-handle {
+ position: relative;
+ cursor: col-resize;
+ grid-column: 2 / 3;
+ min-width: 16px !important;
+ max-width: 16px !important;
+ height: 100%;
+}
-.resize-handle{
- cursor: col-resize;
- grid-column: 2 / 3;
- min-width: 8px !important;
- max-width: 8px !important;
- height: 100%;
- border-left: 1px dashed var(--border-color-primary);
- user-select: none;
- margin-left: 8px;
+.resize-handle::after {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 7.5px;
+ border-left: 1px dashed var(--border-color-primary);
}
|