以WSegmentsVertical繪製隨深度之土柱圖,各土層依土壤圖例代碼(legendCode)顯示對應土壤圖示,為WSoilColumnWithAnchors與WSptLiqPlotDepths共用之土柱圖核心
深度方向約定:組件內部一律往下為正(地表為0、地下大於0),傳入之土層深度(keyDepthStart/keyDepthEnd)須依此預先處理好正負號,刻度顯示符號另由tickDownPositive控制,僅影響刻度顯示文字不影響任何計算
土壤圖示內建於套件(src/js/getSoilCodeIcon.mjs,取自w-demores),不依賴網路載入,可支援無連外網路之環境;若需自訂圖示可由kpIcon給予
具名插槽(slot):'text'為土層右側描述文字區塊,提供作用域參數item與index,未給予時使用WSegmentsVertical之預設文字區(三角+keyText文字);'popup'為土層彈窗內容區塊,提供作用域參數item與index;'support-left'與'support-right'為繪圖區左右側之附加內容區塊,提供作用域參數convertValueToY,為深度轉繪圖區y座標之函數,供外部定位水位等標記
Props
| Name | Type | Default value | Required? | Description |
|---|---|---|---|---|
items |
Array | [] |
No | 輸入土層項目物件陣列,各項目至少含keyDepthStart與keyDepthEnd兩數字欄位(往下為正),並以keyLegendCode欄位對應土壤圖示,其餘欄位原樣供popup插槽使用,預設[] |
keyDepthStart |
String | 'depthStart' |
No | 輸入土層項目存放起始深度之欄位字串,預設'depthStart' |
keyDepthEnd |
String | 'depthEnd' |
No | 輸入土層項目存放結束深度之欄位字串,預設'depthEnd' |
keyText |
String | 'description' |
No | 輸入土層項目存放說明文字之欄位字串,預設'description' |
keyLegendCode |
String | 'legendCode' |
No | 輸入土層項目存放土壤圖例代碼之欄位字串,供對應土壤圖示,預設'legendCode' |
mergeSameLayers |
Boolean | false |
No | 輸入是否合併相鄰且圖例代碼與說明文字皆相同土層布林值,預設false |
kpIcon |
Object | null |
No | 輸入土壤圖例代碼對應土壤圖示物件,key為圖例代碼字串,值為圖片data URI或網址字串,給予null時使用內建之getSoilCodeIcon,預設null |
width |
Number | 191 |
No | 輸入土柱繪圖寬度數字,單位px,預設191 |
height |
Number | 504 |
No | 輸入土柱繪圖高度數字,單位px,預設504 |
paddingStyle |
Object | {top:10,right:0,bottom:10,left:60} |
No | 輸入內距物件,可用鍵值為top、right、bottom、left,各為數字,單位px,left須容納深度刻度文字,預設{top:10,right:0,bottom:10,left:60} |
depthMin |
Number | null |
No | 輸入深度軸最小值數字,給予null時自items自動計算,無items時為0,預設null |
depthMax |
Number | null |
No | 輸入深度軸最大值數字,給予null時自items自動計算,無items時為12,預設null |
title |
String | '' |
No | 輸入深度軸標題字串,給予空字串時不顯示,預設'' |
tickSize |
Number | 25 |
No | 輸入深度刻度尺寸(為單側寬度)數字,刻度文字位於刻度左側,故須大於等於segmentSize文字才不會與土柱重疊,單位px,預設25 |
segmentSize |
Number | 20 |
No | 輸入土柱區塊尺寸(為單側寬度)數字,單位px,預設20 |
tickDownPositive |
Boolean | true |
No | 輸入深度刻度顯示符號布林值,true代表往下顯示為正(原值),false代表往下顯示為負(深度0不加負號),僅影響顯示不影響計算,預設true |
tickDigits |
Number | 1 |
No | 輸入深度刻度文字取用小數點位數數字,預設1 |
funFormatTickValue |
function | null |
No | 輸入處理深度刻度值用以顯示函數,給予時取代內建格式化(tickDownPositive與tickDigits失效),預設null |
layerWithPopup |
Boolean | false |
No | 輸入土層是否可點擊顯示popup彈窗布林值,彈窗內容由slot之popup提供,預設false |
layerCanClick |
Boolean | false |
No | 輸入土層是否可點擊布林值,可點擊時發出click-layer事件,預設false |
optionsSegments |
Object | {} |
No | 輸入向下傳遞至WSegmentsVertical之設定物件,鍵值同WSegmentsVertical之props(如tickColor、axisColor、segmentBorderColor、textShift、segmentBackgroundType等),惟組件已顯式綁定之props(items、width、height、paddingStyle、keyValueStart、keyValueEnd、keyText、valueMin、valueMax、title、tickSize、segmentSize、segmentWithPopup、segmentCanClick、funSegmentBackgroundImage、funFormatTickValue)以組件為準不可覆蓋;另內建預設segmentBackgroundType為'image'、tickColor為'#444'、axisColor為'transparent'、segmentBorderColor為{v:'transparent',h:'#444'}、alignEnd為'left',皆可由本物件覆蓋,預設{} |
Computed
| Name | Type | Description |
|---|---|---|
kpIconEff |
Object | 回傳實際使用之土壤圖示物件,優先取用kpIcon,否則為內建圖示 |
useItems |
Array | 回傳實際供繪製之土層項目陣列,已依mergeSameLayers合併相鄰同層 |
depthMinEff |
Number | 回傳實際使用之深度軸最小值數字 |
depthMaxEff |
Number | 回傳實際使用之深度軸最大值數字 |
optionsSegmentsEff |
Object | 回傳實際向下傳遞至WSegmentsVertical之設定物件,已套用內建預設 |
Events
| Name | Payload Type | Description |
|---|---|---|
click-layer |
Object | 當layerCanClick為true且使用者點擊土層時,回傳{ev,item}物件,item為該土層物件 |
- Description:
以WSegmentsVertical繪製隨深度之土柱圖,各土層依土壤圖例代碼(legendCode)顯示對應土壤圖示,為WSoilColumnWithAnchors與WSptLiqPlotDepths共用之土柱圖核心
深度方向約定:組件內部一律往下為正(地表為0、地下大於0),傳入之土層深度(keyDepthStart/keyDepthEnd)須依此預先處理好正負號,刻度顯示符號另由tickDownPositive控制,僅影響刻度顯示文字不影響任何計算
土壤圖示內建於套件(src/js/getSoilCodeIcon.mjs,取自w-demores),不依賴網路載入,可支援無連外網路之環境;若需自訂圖示可由kpIcon給予
具名插槽(slot):'text'為土層右側描述文字區塊,提供作用域參數item與index,未給予時使用WSegmentsVertical之預設文字區(三角+keyText文字);'popup'為土層彈窗內容區塊,提供作用域參數item與index;'support-left'與'support-right'為繪圖區左右側之附加內容區塊,提供作用域參數convertValueToY,為深度轉繪圖區y座標之函數,供外部定位水位等標記