Skip to content

enhancement(analysis): Analysis Mode 查詢條件 URL 狀態同步(deep link 支援) #617

@cct08311github

Description

@cct08311github

問題描述

Analysis Mode 的查詢條件(選擇的 VM、dimensions、measures、filters)不反映到 URL。使用者無法:

  • 透過 URL 分享特定查詢結果給同事
  • 使用瀏覽器返回鍵恢復上一個查詢狀態
  • 將常用查詢加入書籤

BA 每次與主管討論數據時,只能截圖或口頭說明查詢條件,協作效率極低。

業界對比

  • Metabase:URL query string 同步 saved question 的篩選條件
  • Grafana:URL params 同步 dashboard 變數和時間範圍
  • Redash:URL hash 同步查詢狀態

建議修正方向

framework_analysis.js 使用 URL hash 同步查詢狀態(避免 page reload):

  1. 查詢執行時呼叫 history.pushState(或 replaceState)更新 hash:

    #vm=SalesListVM&dims=Region,Month&measures=Amount_Sum&filter0=Region_eq_North
    
  2. 頁面載入時解析 hash,自動填入查詢條件並執行

  3. 監聽 popstate 事件,支援瀏覽器返回/前進鍵切換查詢狀態

  4. Hash 格式設計要簡潔可讀、可 URL encode

驗收標準

  • 執行查詢後 URL hash 包含完整查詢條件
  • 複製 URL 到新 tab 可重現相同查詢
  • 瀏覽器返回鍵恢復上一查詢狀態
  • Hash serialize/deserialize 的 Jest 測試覆蓋
  • 空查詢條件時 URL hash 清空

Priority: P2 — Analysis Mode 協作分享的核心能力
Labels: enhancement, analysis, ux

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions