MCPcopy Create free account
hub / github.com/error311/FileRise / updatePaneStickyClasses

Function updatePaneStickyClasses

public/js/fileListView.js:2104–2130  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2102}
2103
2104function updatePaneStickyClasses() {
2105 const panes = document.querySelectorAll('.file-list-pane');
2106 panes.forEach(pane => pane.classList.remove('fr-pane-sticky'));
2107
2108 if (!window.dualPaneEnabled || panes.length < 2) return;
2109
2110 const paneList = Array.from(panes);
2111 const heights = paneList.map(pane => pane.getBoundingClientRect().height || 0);
2112 const viewport = window.innerHeight || 0;
2113 const buffer = 24;
2114
2115 if (!viewport || heights.every(h => h <= 0)) return;
2116
2117 const canStick = heights.map(h => h + buffer <= viewport);
2118
2119 if (canStick[0] && canStick[1]) {
2120 paneList.forEach(pane => pane.classList.add('fr-pane-sticky'));
2121 return;
2122 }
2123
2124 if (canStick[0] && heights[0] < heights[1]) {
2125 paneList[0].classList.add('fr-pane-sticky');
2126 }
2127 if (canStick[1] && heights[1] < heights[0]) {
2128 paneList[1].classList.add('fr-pane-sticky');
2129 }
2130}
2131
2132function ensureDualPaneTargetHint() {
2133 const actions = document.getElementById('fileListActions');

Callers 1

updatePaneWidthClassesFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected