fix(问题修复): 修复搜索报错及标签切换定位偏移
build.yaml / build (push) Successful in 47s

This commit is contained in:
xiaoqidun committed 2026-11-01 13:15:57 +08:00
1 parent b0f0a2c7c5
commit 1e2c5f6e38
2 files changed
+6 -6

No files matched your search

+3 -3
View File
@@ -743,8 +743,8 @@ const canvasEditor = new CanvasEditor(el.viewerPanel, {
onPage: (index) => { onPage: (index) => {
if (index !== state.pageIndex) pageView.setCurrentPage(index); if (index !== state.pageIndex) pageView.setCurrentPage(index);
}, },
onSelect: (item, previous) => { onSelect: (item, previous, restoring) => {
if (item && item.index !== state.pageIndex) pageView.setCurrentPage(item.index); if (!restoring && item && item.index !== state.pageIndex) pageView.setCurrentPage(item.index);
updateObjectControls(item); updateObjectControls(item);
const reason = objectEditReason(item), previousReason = objectEditReason(previous); const reason = objectEditReason(item), previousReason = objectEditReason(previous);
if (state.editing && state.doc && !document.body.hasAttribute("data-busy") if (state.editing && state.doc && !document.body.hasAttribute("data-busy")
@@ -1858,7 +1858,7 @@ document.querySelector("#objectActionsButton").addEventListener("click", async (
settingsElements.Tabs.hidden = true; settingsElements.Tabs.hidden = true;
}); });
el.outlinesTab.addEventListener("click", () => showNavigation(el.outlinesTab)); el.outlinesTab.addEventListener("click", () => showNavigation(el.outlinesTab));
el.searchTab.addEventListener("click", focusSearch); el.searchTab.addEventListener("click", () => focusSearch());
el.navigationTabs.addEventListener("keydown", (event) => { el.navigationTabs.addEventListener("keydown", (event) => {
if (event.isComposing || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) { if (event.isComposing || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {
return; return;
+3 -3
View File
@@ -944,7 +944,7 @@ export class CanvasEditor {
} }
this.pages.set(surface, { index, width: page.width, height: page.height, hitIndex: new ObjectIndex(items) }); this.pages.set(surface, { index, width: page.width, height: page.height, hitIndex: new ObjectIndex(items) });
surface.append(layer); surface.append(layer);
if (pending || selected.size) this.setSelection(selection); if (pending || selected.size) this.setSelection(selection, true);
if (pending) this.pendingSelection = null; if (pending) this.pendingSelection = null;
if (crop && selection.length === 1 && selection[0].id === crop.item.id if (crop && selection.length === 1 && selection[0].id === crop.item.id
&& ["x", "y", "width", "height"].every(key => selection[0][key] === crop.item[key])) { && ["x", "y", "width", "height"].every(key => selection[0][key] === crop.item[key])) {
@@ -1049,7 +1049,7 @@ export class CanvasEditor {
return this.selected?.items || (this.selected ? [this.selected] : []); return this.selected?.items || (this.selected ? [this.selected] : []);
} }
setSelection(items) { setSelection(items, restoring = false) {
items = items.filter(item => !items.some(parent => parent !== item && item.id.startsWith(parent.id + "/"))); items = items.filter(item => !items.some(parent => parent !== item && item.id.startsWith(parent.id + "/")));
this.cancelNudge(); this.cancelNudge();
const previous = this.selected; const previous = this.selected;
@@ -1100,7 +1100,7 @@ export class CanvasEditor {
for (const item of items) { for (const item of items) {
if (item.parent) this.pageItems(item.index).find(parent => parent.id === item.parent)?.node.classList.add("edit-parent"); if (item.parent) this.pageItems(item.index).find(parent => parent.id === item.parent)?.node.classList.add("edit-parent");
} }
this.options.onSelect(this.selected, previous); this.options.onSelect(this.selected, previous, restoring);
} }
select(item, add = false) { select(item, add = false) {