bookmark: pre-fill ชื่อ default "หน้า N" + focus เลือกข้อความทั้งหมด
All checks were successful
Deploy eCourt Note Web to Server / Validate Database Schema (Drizzle) (push) Successful in 5s
Deploy eCourt Note Web to Server / Build Web Docker Image (push) Successful in 45s
Deploy eCourt Note Web to Server / Deploy eCourt Note Web to Server (push) Successful in 13s
Deploy eCourt Note Web to Server / Notify Deployment Status (push) Successful in 1s
All checks were successful
Deploy eCourt Note Web to Server / Validate Database Schema (Drizzle) (push) Successful in 5s
Deploy eCourt Note Web to Server / Build Web Docker Image (push) Successful in 45s
Deploy eCourt Note Web to Server / Deploy eCourt Note Web to Server (push) Successful in 13s
Deploy eCourt Note Web to Server / Notify Deployment Status (push) Successful in 1s
เดิมเปิด popup แล้วช่องชื่อเว้นว่าง (fallback "หน้า N" แค่ตอนบันทึก) — ตอนนี้
pre-fill ทันทีทั้งจากปุ่ม 🔖/คีย์ลัด B (ไม่มีข้อความที่คลุม) และปุ่ม bookmark
ในแผง selection (ชนิดที่ไม่มีข้อความ) พร้อม select ข้อความ default ไว้
ให้พิมพ์ทับ/Enter ยอมรับได้ทันที + sync spec N2 ใน PLAN-FEAT.md
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
parent
9e5083dae1
commit
b588343d50
2 changed files with 14 additions and 6 deletions
|
|
@ -1765,22 +1765,29 @@ export default function PDFViewer({
|
|||
const pos = currentViewPosition();
|
||||
if (!pos) return;
|
||||
setBookmarkError(null);
|
||||
setBookmarkComposer({ ...pos, title: lastSelectionTextRef.current, note: "", parentId: null });
|
||||
// ชื่อ default = ข้อความที่เพิ่งคลุม ไม่มี = "หน้า N" — pre-fill ในช่องเลย (กด Enter ยอมรับได้ทันที)
|
||||
setBookmarkComposer({
|
||||
...pos,
|
||||
title: lastSelectionTextRef.current || `หน้า ${pos.pageIndex + 1}`,
|
||||
note: "",
|
||||
parentId: null,
|
||||
});
|
||||
}
|
||||
|
||||
/** ปุ่ม bookmark ในแผง selection (N2) — เปิด popup ที่ตำแหน่ง annotation นั้น
|
||||
* ชื่อ default มาจากข้อความของรายการ (ชนิดที่มีข้อความจริง) ไม่งั้นเว้นว่าง = "หน้า N" */
|
||||
* ชื่อ default มาจากข้อความของรายการ (ชนิดที่มีข้อความจริง) ไม่งั้น = "หน้า N" */
|
||||
function handleAnnotationBookmark(a: AnnotationDTO, yOffsetPct: number) {
|
||||
const meaningful =
|
||||
a.type === "HIGHLIGHT" ||
|
||||
a.type === "TEXTBOX" ||
|
||||
a.type === "STAMP" ||
|
||||
a.type === "COMMENT";
|
||||
const text = meaningful ? normalizeBookmarkTitle(annotationPreviewText(a)) : "";
|
||||
setBookmarkError(null);
|
||||
setBookmarkComposer({
|
||||
pageIndex: a.pageIndex,
|
||||
yOffset: clamp(yOffsetPct, 0, 100),
|
||||
title: meaningful ? normalizeBookmarkTitle(annotationPreviewText(a)) : "",
|
||||
title: text || `หน้า ${a.pageIndex + 1}`,
|
||||
note: "",
|
||||
parentId: null,
|
||||
});
|
||||
|
|
@ -2942,6 +2949,7 @@ export default function PDFViewer({
|
|||
</p>
|
||||
<input
|
||||
autoFocus
|
||||
onFocus={(e) => e.target.select()} // เลือกข้อความ default ทั้งหมด — พิมพ์ทับ/Enter ยอมรับได้ทันที
|
||||
value={bookmarkComposer.title}
|
||||
onChange={(e) =>
|
||||
setBookmarkComposer({ ...bookmarkComposer, title: e.target.value })
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue