Skip to content

Commit 0a16607

Browse files
committed
simplified edit mode
1 parent b0fecb6 commit 0a16607

3 files changed

Lines changed: 20 additions & 32 deletions

File tree

src/managers/ui.js

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -408,23 +408,22 @@ class UIManager {
408408

409409
handleEditModeUIChanges() {
410410
const editBtn = document.getElementById("editBtn");
411-
const container = document.getElementById("sidebarContentContainer");
412-
const sidebar = document.getElementById("sidebar");
413-
const status = document.getElementById("sidebarStatusContainer");
414-
415411
const editModeActive = editBtn.classList.contains("active");
416412

417413
editModeActive ? editBtn.classList.add("highlight") : editBtn.classList.remove("highlight");
418414

419-
container.style.paddingRight = editModeActive ? "6px" : "0";
420-
421415
// handle all edit elements
422416
const editElements = document.querySelectorAll('.show-on-edit, .show-on-edit-full-width');
423417
editElements.forEach(el => {
424418
editModeActive ? el.classList.add("show") : el.classList.remove("show");
425419
el.style.height = editModeActive ? `${el.scrollHeight}px` : "0";
426420
});
427421

422+
const hideOnEditElements = document.querySelectorAll('.hide-on-edit');
423+
hideOnEditElements.forEach(el => {
424+
el.style.display = editModeActive ? "none" : "";
425+
});
426+
428427
// 'collapse' all open style rows
429428
if (!editModeActive) {
430429
const styleRows = document.querySelectorAll('.style-row');
@@ -433,35 +432,21 @@ class UIManager {
433432
});
434433
}
435434

436-
// handle filter row column widths
435+
// handle filter row layouts
437436
const filterRows = document.querySelectorAll('.filter-row');
438437
filterRows.forEach(row => {
439-
const checkboxCol = row.children[0];
440-
checkboxCol.style.width = editModeActive ? "45%" : "56%";
441-
442438
const sliderCol = row.querySelector(".filter-row-col2");
443-
sliderCol.style.width = editModeActive ? "65%" : "33%";
444-
sliderCol.style.display = editModeActive ? "flex" : "";
445-
sliderCol.style.alignItems = editModeActive ? "center" : "";
446-
447-
if (sliderCol.children[2]?.id.endsWith("slider")) {
448-
const sliderElem = sliderCol.children[2];
449-
if (sliderElem) sliderElem.style.width = editModeActive ? "200%" : "";
450-
} else if (sliderCol.children[0]?.id.endsWith("dropdown")) {
451-
const dropdownElem = sliderCol.children[0];
452-
if (dropdownElem) {
453-
dropdownElem.style.width = editModeActive ? "96.5%" : "";
454-
dropdownElem.children[0].style.width = editModeActive ? "100%" : "90%";
455-
dropdownElem.children[0].style.margin = editModeActive ? "0" : "0 0 0 4px";
456-
}
439+
const hasRangeSlider = sliderCol.querySelector(".hide-on-edit");
440+
if (hasRangeSlider) {
441+
sliderCol.style.display = editModeActive ? "flex" : "";
442+
sliderCol.style.alignItems = editModeActive ? "center" : "";
443+
sliderCol.style.gap = editModeActive ? "4px" : "";
444+
} else {
445+
sliderCol.style.display = "";
446+
sliderCol.style.alignItems = "";
447+
sliderCol.style.gap = "";
457448
}
458449
});
459-
460-
sidebar.style.maxWidth = editModeActive ? "100%" : "unset";
461-
status.style.maxWidth = editModeActive ? `${container.offsetWidth}px` : "375px";
462-
463-
const metricsContainer = document.getElementById("networkMetricsContainer");
464-
metricsContainer.style.maxWidth = editModeActive ? `${container.offsetWidth}px` : "350px";
465450
}
466451

467452
buildUI() {
@@ -730,4 +715,4 @@ class UIManager {
730715
}
731716
}
732717

733-
export {UIManager};
718+
export {UIManager};

src/managers/ui_components.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,7 @@ class InvertibleRangeSlider {
360360
const div = document.createElement("div");
361361
div.innerHTML = this.createDivInnerHTML();
362362
const slider = div.firstElementChild;
363+
slider.classList.add('hide-on-edit');
363364
slider.style.width = '100%';
364365
slider.title = `Set the thresholds for the numeric property: ${StaticUtilities.formatPropsAsTree(this.propID)}\n---\n - Move handles to set min/max (≥ min ∧ ≤ max).\n - Swap handles to invert (≤ min ∨ ≥ max).\n - Double-click to reset.`;
365366

@@ -974,4 +975,4 @@ class UIComponentManager {
974975
}
975976
}
976977

977-
export {DropdownChecklist, InvertibleRangeSlider, UIComponentManager};
978+
export {DropdownChecklist, InvertibleRangeSlider, UIComponentManager};

src/style.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ body, html {
2020

2121
#sidebar {
2222
min-width: 360px;
23+
width: 360px;
24+
max-width: 360px;
2325
background-color: #f4f4f4;
2426
padding-left: 10px;
2527
overflow-y: auto;

0 commit comments

Comments
 (0)