WHY
目前「依時間」排序只在日檢視可用,週檢視僅能「依教室」或「依老師」排列。使用者需要在週檢視也能以時間為主軸檢視整週課程——左側欄顯示時間軸,橫向對應星期一~日,教室與老師資訊改為顯示在課程卡片內。
注意一個容易誤解的前提 :現有日檢視的「依時間」並不是時間軸——它把當天課程攤平後依起始時間排序、一課一列 ,左欄印的仍是教室名。本次週檢視要的是真正的時間軸網格,屬新版面結構,不是現有邏輯的平移。
大致位置
UI.js.html — 主要戰場:renderScheduleTable 分派、setViewMode、updateViewControls、renderAllSchedulesView、addUpcomingClassIndicators、createClassElement;新增 renderWeekViewByTime
JavaScript.html — localStorage 還原邏輯目前將 week + time 視為無效組合(Risk-Flag [infra] 開發流程對齊 talented-easyorder — 建立 CI / dispatch book / 測試鏈 / 開發基礎設施 #2 ,改動範圍極小但需標記)
PDFExport.js.html — 左上角斜線標籤寫死「星期/教室」;表格本體為 DOM scraping,沿用相同結構即自動跟進
tests/lib/uiHelpers.js / tests/lib/integrationHelpers.js — UI 決策邏輯的平行實作,改一處須改兩處,否則契約測試會抓到不一致
Success
週檢視下「依時間」按鈕可見可按
切換後左欄變時間軸,每列為一個上課起始時間,橫向對應週一~日
課程卡同時顯示老師與教室
可 inline 編輯、可刪除、不可拖拉、無「+ 新增課程」
重新整理後仍停在 week + time
「全部課表」模式下 week + time 走唯讀時間軸
PDF 匯出版面正確、左上角標「星期/時間」
日檢視「依時間」行為完全不變 (回歸)
非範圍
日檢視改為時段分組網格、時間軸模式的拖拉排課、時間軸模式的「+ 新增課程」(需額外設計選教室 UI)、固定間隔時間軸/空堂視覺化。
設計文件
docs/plans/2026-07-20-week-view-time-axis-design.md(commit e64740a)
已收斂的設計決策、取徑理由、逐檔改動清單、邊界情況與測試策略見該文件。實作前請以文件為準,並依 verify-first 原則確認現況仍如描述。
Related
🤖 opened by: lead (cb-team-lead)
WHY
目前「依時間」排序只在日檢視可用,週檢視僅能「依教室」或「依老師」排列。使用者需要在週檢視也能以時間為主軸檢視整週課程——左側欄顯示時間軸,橫向對應星期一~日,教室與老師資訊改為顯示在課程卡片內。
注意一個容易誤解的前提:現有日檢視的「依時間」並不是時間軸——它把當天課程攤平後依起始時間排序、一課一列,左欄印的仍是教室名。本次週檢視要的是真正的時間軸網格,屬新版面結構,不是現有邏輯的平移。
大致位置
UI.js.html— 主要戰場:renderScheduleTable分派、setViewMode、updateViewControls、renderAllSchedulesView、addUpcomingClassIndicators、createClassElement;新增renderWeekViewByTimeJavaScript.html— localStorage 還原邏輯目前將 week + time 視為無效組合(Risk-Flag [infra] 開發流程對齊 talented-easyorder — 建立 CI / dispatch book / 測試鏈 / 開發基礎設施 #2,改動範圍極小但需標記)PDFExport.js.html— 左上角斜線標籤寫死「星期/教室」;表格本體為 DOM scraping,沿用相同結構即自動跟進tests/lib/uiHelpers.js/tests/lib/integrationHelpers.js— UI 決策邏輯的平行實作,改一處須改兩處,否則契約測試會抓到不一致Success
非範圍
日檢視改為時段分組網格、時間軸模式的拖拉排課、時間軸模式的「+ 新增課程」(需額外設計選教室 UI)、固定間隔時間軸/空堂視覺化。
設計文件
docs/plans/2026-07-20-week-view-time-axis-design.md(commite64740a)已收斂的設計決策、取徑理由、逐檔改動清單、邊界情況與測試策略見該文件。實作前請以文件為準,並依 verify-first 原則確認現況仍如描述。
Related
[Test-Coverage] UI 渲染核心 — renderScheduleTable dispatch + createClassElement + view modes。該 issue 建立了tests/lib/uiHelpers.js的測試鏡像層(resolveRenderTarget/computeClassElementProps),正是本次必須同步修改的對象。🤖 opened by: lead (cb-team-lead)