適用場景:安裝了「FineVis資料視覺化」插件的使用者,可參考本文了解 FineVis 的相關功能。
版本
報表伺服器版本 | 插件版本 | 功能變動 |
---|---|---|
11.0 | V1.0.0 | 最低版本要求 |
11.0.22 | V2.5.0 | 新增API getAllPages |
查看歷史版本更新:
報表伺服器版本 | 插件版本 | 功能變動 |
---|---|---|
11.0.7 | V1.8.0 | 支援API this,可獲取當前的組件物件,獲取後可以使用組件的方法和屬性 支援API getAllWidgets,可獲取當前頁所有組件 |
11.0.9 | V1.9.1 | refresh API支援傳參 |
11.0.9 | V1.14.1 | 新增設定分頁切換按鈕顯隱狀態API setPageButtonDisplayPolicy |
11.0.16 | V1.18.0 | 新增關閉頁面全螢幕API exitFullscreen |
11.0.22 | V2.2.1 | 新增全局傳參API linkageGlobal |
11.0.22 | V2.4.0 | 新增暫停繼續頁面切換API pauseRollPlay、continueRollPlay |
11.0.22 | V2.4.1 | FVS 統一範本分頁、表格組件分頁、Tab組件標籤頁相關 API 接口 詳情請參見本文 獲取頁、操作頁 相關內容 |
相容說明
V2.4.1 版本對範本分頁、表格組件分頁、Tab組件標籤頁相關 API API進行了統一設計,新API的頁索引統一從 1 開始。
詳細說明參見表格:
類型 | 舊API | 新API |
---|---|---|
範本分頁 | url 後綴參數 page=x ,x 從 0 開始 page=0 表示第一頁 | url 後綴參數改為 page_number=x , x 從 1 開始 page_number=1 表示第一頁 |
表格分頁 | 表格分頁索引從 1 開始,表示第一頁 | 表格分頁索引從 1 開始,表示第一頁 |
Tab標籤頁 | 標籤頁索引從 0 開始,表示第一頁 | 標籤頁索引從 1 開始,表示第一頁 |
this
方法 | this | 獲取當前的組件物件,獲取後可以使用組件的方法和屬性 |
---|---|---|
參數 | - | - |
回傳值 | object | 當前組件物件 |
範例 | 範例1:獲取當前元件組件的實際值
範例2:設定當前元件不可見
範例3:清空當前元件的值 this.reset(); | |
應用範例 | - | |
行動端 | 支援行動端 |
getAllwidgets
方法 | getAllWidgets() | 獲取當前頁面中所有組件物件,後續可以呼叫每個組件上的API加以使用 |
---|---|---|
參數 | - | - |
回傳值 | Array | 組件物件陣列 |
範例 | 範例1:點選標題組件,一鍵隱藏當前頁所有組件
範例2:在 FVS 範本中,獲取當前頁面總共有多少組件,並彈窗顯示
| |
應用範例 | 點選標題組件,獲取當前頁面總共有多少組件,並彈窗顯示 點選下載範本:獲取當前頁組件數量.fvs | |
行動端 | 支援行動端 |
getWidgetByName
方法 | getWidgetByName(name) | 獲取當前頁面中的某個組件 |
---|---|---|
參數 | name: string | 組件名稱,字串 |
回傳值 | object | 組件物件 |
範例 | 範例:獲取標題組件 duchamp.getWidgetByName('標題組件1_頁面1'); | |
應用範例 | - | |
行動端 | 支援行動端 |
refresh
方法 | refresh() | 觸發組件重新整理 |
---|---|---|
參數 | {para:"para"} | 參數名稱:參數值 |
回傳值 | - | - |
範例 | 範例1:觸發「組件1」重新整理
範例2:觸發「柱形圖」組件重新整理並將地區華北作為參數傳遞給柱形圖
注:給同一組件傳多個參數時,寫法如下 duchamp.getWidgetByName("組件").refresh({a:"參數值",b:"參數值"}); | |
應用範例 | 點選標題組件,觸發「柱形圖」組件重新整理並將地區華北作為參數傳遞給柱形圖 點選可下載範本:refresh重新整理組件.fvs | |
行動端 | 支援行動端 |
trigger
方法 | trigger() | 觸發組件點選事件 注:不支援三維組件和元件組件 |
---|---|---|
參數 | - | 注:在組合地圖中使用時,需傳遞參數:areaMap、pointMap 或 lineMap |
回傳值 | - | - |
範例 | 範例1:觸發「組件1」的所有點選事件
範例2:在組合地圖中 觸發「區域地圖」
觸發「點地圖」
觸發「流向地圖」
| |
應用範例 | - | |
行動端 | 支援行動端 |
requestFullscreen
方法 | requestFullscreen() | 觸發頁面全螢幕 |
---|---|---|
參數 | - | - |
回傳值 | - | - |
範例 | 範例:給標題組件新增點選 JavaScript 事件,觸發頁面全螢幕 duchamp.requestFullscreen(); | |
應用範例 | - | |
行動端 | 不支援行動端 |
exitFullscreen
方法 | exitFullscreen() | 關閉頁面全螢幕 注:僅針對 requestFullscreen API觸發的全螢幕,若使用按鍵 F11 觸發全螢幕,則該API無效 |
---|---|---|
參數 | - | - |
回傳值 | - | - |
範例 | 範例:給標題組件新增點選 JavaScript 事件,關閉頁面全螢幕 duchamp.exitFullscreen(); | |
應用範例 | - | |
行動端 | 不支援行動端 |
reload
方法 | reload() | 觸發範本整體重新整理 |
---|---|---|
參數 | - | - |
回傳值 | - | - |
範例 | 每兩秒重新整理一次頁面 setInterval(() => { duchamp.reload(); }, 2 * 1000); | |
應用範例 | V1.7.2 版本之前的插件,只能透過範本的「範本>頁面載入結束事件」寫 JavaScript 程式碼實現 V1.7.2 及之後版本,可透過「範本定時重新整理」功能設定,詳情請參見:FVS範本定時重新整理 | |
行動端 | 支援行動端 |
setPageButtonDisplayPolicy
方法 | setPageButtonDisplayPolicy() | 設定多分頁範本左下角切換分頁按鈕是否顯示 |
---|---|---|
參數 | always/hover/never | 切換按鈕的三種狀態(預設為 always):
|
回傳值 | - | - |
範例 | 可新增以下程式碼在範本的「載入結束事件」中 範例1:設定切換按鈕永遠顯示
範例2:設定切換按鈕隱藏,滑鼠懸浮時顯示
範例3:設定切換按鈕從不顯示 duchamp.setPageButtonDisplayPolicy("never"); | |
應用範例 | - | |
行動端 | 不支援行動端 |
linkageGlobal
方法 | linkageGlobal() | 參數全局聯動 |
---|---|---|
參數 | {para:"para"} | 參數名稱:參數值 |
回傳值 | - | - |
範例 | 無需獲取多個參數元件分別指派,使用該API即可實現全局參數聯動,對所有分頁生效 範例:點選標題組件,將「華北」作為參數值,傳遞給範本內所有使用了參數 area 的組件
注:傳遞多個參數時,寫法如下 duchamp.linkageGlobal({a:"參數值",b:"參數值"}); | |
應用範例 | 點選下載範本:參數全局聯動API範例.fvs | |
行動端 | 支援行動端 |
pauseRollPlay
方法 | pauseRollPlay() | 暫停頁面自動切換 |
---|---|---|
參數 | - | - |
回傳值 | - | - |
範例 | 多分頁範本開啟自動切換頁面時,暫停頁面自動切換 duchamp.pauseRollPlay(); | |
應用範例 | 點選下載範本:JS實現暫停繼續頁面切換.fvs | |
行動端 | 不支援行動端 |
continueRollPlay
方法 | continueRollPlay() | 繼續頁面自動切換 |
---|---|---|
參數 | - | - |
回傳值 | - | - |
範例 | 多分頁範本開啟自動切換頁面時,暫停頁面自動切換後,繼續頁面自動切換 duchamp.continueRollPlay(); | |
應用範例 | 點選下載範本:JS實現暫停繼續頁面切換.fvs | |
行動端 | 不支援行動端 |
注:以下獲取頁及操作頁API需使用 V2.4.1 及之後版本,V2.4.1 之前版本API請參考 歷史API 。
獲取頁
getPage
方法 | getPage() | 獲取頁 |
---|---|---|
參數 | value:page_number|name | 根據頁索引或頁名稱獲取頁 page_number:頁索引,從 1 開始的正整數 name:頁名稱,字串 |
回傳值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可見性 options:跳轉的頁面物件 name:頁面名稱 number:頁面索引,從 1 開始的正整數 } |
範例 | 範例1:在 FVS 範本中,獲取「頁面1」
範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件的分頁1
範例3:在 FVS 範本中,獲取「Tab1」組件第一個標籤頁 duchamp.getWidgetByName('Tab1').getPage(1); | |
應用範例 | - | |
行動端 | 支援行動端 |
getPreviousPage
方法 | getPreviousPage() | 獲取上一頁 |
---|---|---|
參數 | - | - |
回傳值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可見性 options:跳轉的頁面物件 name:頁面名稱 number:頁面索引,從 1 開始的正整數 } |
範例 | 範例1:在 FVS 範本中,獲取當前頁的上一頁 範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件當前頁的上一頁
範例3:在 FVS 範本中,獲取「Tab1」組件當前頁的上一頁 duchamp.getWidgetByName('Tab1').getPreviousPage(); | |
應用範例 | - | |
行動端 | 支援行動端 |
getNextPage
方法 | getNextPage() | 獲取下一頁 |
---|---|---|
參數 | - | - |
回傳值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可見性 options:跳轉的頁面物件 name:頁面名稱 number:頁面索引,從 1 開始的正整數 } |
範例 | 範例1:在 FVS 範本中,獲取當前頁的下一頁 範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件當前頁的下一頁
範例3:在 FVS 範本中,獲取「Tab1」組件當前頁的下一頁 duchamp.getWidgetByName('Tab1').getNextPage(); | |
應用範例 | - | |
行動端 | 支援行動端 |
getFirstPage
方法 | getFirstPage() | 獲取第一頁 |
---|---|---|
參數 | - | - |
回傳值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可見性 options:跳轉的頁面物件 name:頁面名稱 number:頁面索引,從 1 開始的正整數 } |
範例 | 範例1:在 FVS 範本中,獲取範本的第一頁 範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件第一頁
範例3:在 FVS 範本中,獲取「Tab1」組件第一頁 duchamp.getWidgetByName('Tab1').getFirstPage(); | |
應用範例 | - | |
行動端 | 支援行動端 |
getLastPage
方法 | getLastPage() | 獲取最後一頁 |
---|---|---|
參數 | - | - |
回傳值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可見性 options:跳轉的頁面物件 name:頁面名稱 number:頁面索引,從 1 開始的正整數 } |
範例 | 範例1:在 FVS 範本中,獲取範本的最後一頁 範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件最後一頁
範例3:在 FVS 範本中,獲取「Tab1」組件最後一頁 duchamp.getWidgetByName('Tab1').getLastPage(); | |
應用範例 | - | |
行動端 | 支援行動端 |
getCurrentPage
方法 | getCurrentPage() | 獲取當前頁 |
---|---|---|
參數 | - | - |
回傳值 | { setVisible: (visible: boolean) => void, goto: (options?: { [key: string]: string }) => void, getName: () => string, getIndex: () => number, isVisible: () => boolean, } | { visible:可見性 options:跳轉的頁面物件 name:頁面名稱 number:頁面索引,從 1 開始的正整數 } |
範例 | 範例1:在 FVS 範本中,獲取範本展示的當前頁 範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件當前頁
範例3:在 FVS 範本中,獲取「Tab1」組件當前頁 duchamp.getWidgetByName('Tab1').getCurrentPage(); | |
應用範例 | - | |
行動端 | 支援行動端 |
getAllPages
注:該API需使用 V2.5.0 及之後版本。
方法 | getAllPages() | 獲取所有頁 |
---|---|---|
參數 | - | - |
回傳值 | page[x] | 頁面陣列,x 從 0 開始,0 表示第一頁 注:這裏與頁面索引不一樣,頁面索引從 1 開始 |
範例 | 範例1:在 FVS 範本中,獲取範本總共有多少頁,並彈窗顯示
範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件第二頁的名稱
範例3:在 FVS 範本中,獲取「Tab1」組件第一頁的索引 duchamp.getWidgetByName('Tab1').getAllPages()[0].getIndex(); | |
應用範例 | 點選下載範本:FVS獲取範本總頁數.fvs | |
行動端 | 支援行動端 |
操作頁
以下API需結合獲取頁API使用
setVisible
方法 | setVisible() | 設定頁面顯示或隱藏 注:若隱藏正在展示的頁面,會彈出提示「無法隱藏當前頁」 |
---|---|---|
參數 | visible: boolean | 頁面是否顯示,布林型
|
回傳值 | - | - |
範例 | 範例1:在 FVS 範本中,隱藏範本「頁面1」
範例2:在 FVS 範本中,「表格1」組件設定了分頁,隱藏表格分頁1
範例3:在 FVS 範本中,隱藏「Tab1」組件標籤頁1 duchamp.getWidgetByName('Tab1').getPage(1).setVisible(false); | |
應用範例 | 點選下載範本:FVS設定頁面顯示或隱藏.fvs | |
行動端 | 支援行動端 |
isVisible
方法 | isVisible() | 獲取頁面顯示/隱藏狀態 |
---|---|---|
參數 | - | - |
回傳值 | visible: boolean | 頁面是否顯示,布林型
|
範例 | 範例1:在 FVS 範本中,獲取「頁面2」,傳回其顯示隱藏狀態並彈窗提示
範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取表格分頁2,傳回其顯隱狀態
範例3:在 FVS 範本中,獲取「Tab1」組件標籤頁2,傳回其顯隱狀態 duchamp.getWidgetByName('Tab1').getPage(2).isVisible(); | |
應用範例 | 點選下載範本:FVS獲取頁面顯隱狀態.fvs | |
行動端 | 支援行動端 |
goto
方法 | goto() | 跳轉到獲取的頁面 |
---|---|---|
參數 | {para:"para"} | 參數名:參數值 |
回傳值 | - | - |
範例 | 範例1:在 FVS 範本中,跳轉到下一頁 範例2:在 FVS 範本中,「表格1」組件設定了分頁,跳轉表格下一頁
範例3:在 FVS 範本中,跳轉「Tab1」組件下一頁
範例4:在 FVS 範本中,跳轉到下一頁並傳參
傳遞多個參數寫法如下: duchamp.getNextPage().goto({a:"參數a",b:"參數b"}); | |
應用範例 | 點選下載範本:FVS頁面跳轉.fvs | |
行動端 | 支援行動端 |
getName
方法 | getName() | 獲取頁面名稱 |
---|---|---|
參數 | - | - |
回傳值 | name:string | 頁面名稱,字串 |
範例 | 範例1:在 FVS 範本中,獲取當前頁面名稱並彈窗顯示
範例2:在 FVS 範本中,獲取「Tab1」組件當前頁面名稱並彈窗顯示
注:表格組件分頁沒有名稱,若使用上述 JS ,回傳值為 undefined | |
應用範例 | 點選下載範本:FVS獲取頁面名稱.fvs | |
行動端 | 支援行動端 |
getIndex
方法 | getIndex() | 獲取頁面索引 |
---|---|---|
參數 | - | - |
回傳值 | number | 頁面索引,從 1 開始的正整數 |
範例 | 範例1:在 FVS 範本中,獲取當前頁面索引並彈窗顯示
範例2:在 FVS 範本中,獲取「表格1」組件當前頁面索引並彈窗顯示
範例3:在 FVS 範本中,獲取「Tab1」組件當前頁面索引並彈窗顯示
| |
應用範例 | 點選下載範本:FVS獲取頁面索引.fvs | |
行動端 | 支援行動端 |