From 1a12b44c2419f5e4e9f70e482c99a55e09fbbbf7 Mon Sep 17 00:00:00 2001 From: nearology Date: Sat, 7 Nov 2026 15:43:01 +0330 Subject: [PATCH] =?UTF-8?q?=D8=A7=D8=B5=D9=84=D8=A7=D8=AD=20=D9=82=D8=A7?= =?UTF-8?q?=D8=A8=D9=84=DB=8C=D8=AA=20=D9=85=D9=82=D8=A7=DB=8C=D8=B3=D9=87?= =?UTF-8?q?=20=D8=B4=D9=85=D8=A7=D8=AA=DB=8C=DA=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/compare.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/compare.js b/frontend/compare.js index b46864f..c9d8d2f 100644 --- a/frontend/compare.js +++ b/frontend/compare.js @@ -78,7 +78,12 @@ async function start(){ for(const element of [filter,document.querySelector('#only-changes'),document.querySelector('#highlights')])element.addEventListener('change',applyFilters); document.querySelector('#fit').addEventListener('click',()=>{for(const view of views)view.fit();}); document.querySelector('#sync').addEventListener('change',()=>{if(document.querySelector('#sync').checked&&views[0])views[1].apply(views[0].pose());}); - function next(delta){const candidates=visibleChanges();if(!candidates.length)return;const index=candidates.findIndex(c=>c.id===selected);select(candidates[(index+delta+candidates.length)%candidates.length]);} + function next(delta){ + const candidates=visibleChanges();if(!candidates.length)return; + const index=candidates.findIndex(c=>c.id===selected); + const target=index<0?(delta>0?0:candidates.length-1):(index+delta+candidates.length)%candidates.length; + select(candidates[target]); + } document.querySelector('#previous').addEventListener('click',()=>next(-1));document.querySelector('#next').addEventListener('click',()=>next(1)); for(const svg of svgs)svg.addEventListener('click',event=>{const id=event.target.closest('[data-change-id]')?.dataset.changeId;if(byId.has(id))select(byId.get(id));}); applyFilters();