WSoilColumnWithAnchors

以WSoilColumn繪製隨深度之土柱圖,並於地表上方與土柱右側依深度錨定指標區塊(marker),地表指標區塊(depth<=0)靠右水平排列,地下指標區塊(depth>0)依深度定位於土柱右側並自動防重疊

土壤圖示為套件內建不依賴網路載入,可由optionsColumn.kpIcon給予自訂圖示物件

深度方向約定:組件內部一律往下為正(地表為0、地下大於0),傳入之土層深度(keyDepthStart/keyDepthEnd)與指標深度(depth)皆須依此預先處理好正負號,刻度顯示符號另由tickDownPositive控制,僅影響刻度顯示文字不影響任何計算

指標區塊狀態位階:deactive > active > hover > normal,deactive為最高位階,不觸發hover樣式、不發出點擊事件且cursor為default

具名插槽(slot):'layer-text'為土層右側描述文字區塊,提供作用域參數item,代表該土層物件,未給予時預設為空(關閉WSegmentsVertical之預設描述文字);'layer-popup'為土層彈窗內容區塊,提供作用域參數item,代表該土層物件;'marker'為指標區塊內容,提供作用域參數item與state,分別代表該指標區塊物件與當前生效狀態,未給予時預設渲染text與subText

Props

Name Type Default value Required? Description
items Array [] No 輸入土層項目物件陣列,各項目至少含keyDepthStart與keyDepthEnd兩數字欄位(往下為正),並以legendCode欄位(可由optionsColumn.keyLegendCode更改)對應土壤圖示,其餘欄位原樣供layer-popup插槽使用,預設[]
keyDepthStart String 'depthStart' No 輸入土層項目存放起始深度之欄位字串,預設'depthStart'
keyDepthEnd String 'depthEnd' No 輸入土層項目存放結束深度之欄位字串,預設'depthEnd'
width Number 191 No 輸入土柱繪圖寬度數字,單位px,組件根元素寬度為100%由外容器決定,預設191
height Number 504 No 輸入組件高度數字,單位px,預設504
groundY Number 90 No 輸入地表線y座標數字,其上方為地表指標區塊區,即土柱圖之上方內距,單位px,預設90
paddingBottom Number 22 No 輸入土柱圖下方內距數字,單位px,預設22
paddingLeft Number 60 No 輸入土柱圖左方內距數字,用以容納深度刻度文字,單位px,預設60
tickSize Number 25 No 輸入深度刻度尺寸(為單側寬度)數字,刻度文字位於刻度左側,故須大於等於segmentSize文字才不會與土柱重疊,單位px,預設25
segmentSize Number 20 No 輸入土柱區塊尺寸(為單側寬度)數字,單位px,預設20
depthMin Number null No 輸入深度軸最小值數字,給予null時自items自動計算,無items時為0,預設null
depthMax Number null No 輸入深度軸最大值數字,給予null時自items自動計算,無items時取地下指標最深處乘1.25,再無則為12,預設null
tickDownPositive Boolean true No 輸入深度刻度顯示符號布林值,true代表往下顯示為正(原值),false代表往下顯示為負(深度0不加負號),僅影響顯示不影響計算,預設true
tickDigits Number 1 No 輸入深度刻度文字取用小數點位數數字,預設1
funFormatTickValue function null No 輸入處理深度刻度值用以顯示函數,給予時取代內建格式化(tickDownPositive與tickDigits失效),預設null
groundColor String '#7f7a6f' No 輸入地表線顏色字串,預設'#7f7a6f'
groundWidth Number 1.6 No 輸入地表線寬度數字,單位px,給予0時不顯示,預設1.6
layerWithPopup Boolean false No 輸入土層是否可點擊顯示popup彈窗布林值,彈窗內容由slot之layer-popup提供,預設false
layerCanClick Boolean false No 輸入土層是否可點擊布林值,可點擊時發出click-layer事件,預設false
optionsColumn Object {} No 輸入向下傳遞至WSoilColumn之設定物件,可用鍵值為keyText、keyLegendCode、mergeSameLayers、kpIcon、title,說明同WSoilColumn之props,其餘WSoilColumn之props已由組件顯式綁定不可覆蓋,預設{}
optionsSegments Object {} No 輸入經WSoilColumn向下傳遞至WSegmentsVertical之設定物件,鍵值同WSegmentsVertical之props(如tickColor、axisColor、segmentBackgroundType等),內建預設與不可覆蓋項同WSoilColumn之optionsSegments,預設{}
markers Array [] No 輸入指標區塊物件陣列,各項目可用鍵值為key、depth、text、subText、state、title、style,外部變更狀態時傳入新陣列即可更新各區塊樣式,預設[]
markers.key String - No 輸入指標區塊識別字串,必填且不可重複,預設無
markers.depth Number - No 輸入指標深度數字,往下為正,小於等於0時為地表區塊,大於0時為地下區塊,預設無
markers.text String - No 輸入指標區塊主文字字串,預設無
markers.subText String - No 輸入指標區塊次文字字串,預設無
markers.state String 'normal' No 輸入指標區塊狀態字串,可選'normal'、'active'、'deactive',預設'normal'
markers.title String - No 輸入指標區塊滑鼠懸停提示文字字串,預設無
markers.style Object - No 輸入指標區塊各狀態樣式覆寫物件,結構同markerStyle,優先於markerStyle,預設無
markerStyle Object {} No 輸入指標區塊預設樣式物件,可用鍵值為backgroundColor、borderColor、borderWidth、textColor、subTextColor、opacity(各為{normal,hover,active,deactive}物件)與textFontSize、subTextFontSize、textFontFamily、subTextFontFamily(字串),未給予部分使用內建預設,預設{}
markerRight Number 11 No 輸入地表指標區塊列右緣內縮距離數字,單位px,預設11
markerGap Number 8 No 輸入地表指標區塊間距數字,單位px,預設8
markerMinSpacing Number 48 No 輸入地下指標區塊防重疊之最小垂直間距數字,單位px,預設48
surfaceClearance Number 25 No 輸入地下指標區塊與地表線之最小距離數字,單位px,預設25

Data

Name Type Default value Description
hoverKey String - 儲存當前滑鼠懸停之指標區塊key字串

Computed

Name Type Description
colRight Number 回傳土柱右緣x座標數字,為地表線起點與地下指標區塊定位基準,單位px
paddingStyle Object 回傳向下傳遞至WSoilColumn之內距物件
depthMinEff Number 回傳實際使用之深度軸最小值數字,顯式傳入WSoilColumn使土柱值域與指標區塊定位同源
depthMaxEff Number 回傳實際使用之深度軸最大值數字,顯式傳入WSoilColumn使土柱值域與指標區塊定位同源
markersSurf Array 回傳地表指標區塊(depth<=0)物件陣列
markersDeep Array 回傳地下指標區塊(depth>0)物件陣列,已依深度排序並計算防重疊後之y座標存於_y

Events

Name Payload Type Description
click-marker Object 當使用者點擊指標區塊時(state為deactive時不觸發),回傳{ev,item}物件,item為該指標區塊物件
click-layer Object 當layerCanClick為true且使用者點擊土層時,回傳{ev,item}物件,item為該土層物件

Description:
  • 以WSoilColumn繪製隨深度之土柱圖,並於地表上方與土柱右側依深度錨定指標區塊(marker),地表指標區塊(depth<=0)靠右水平排列,地下指標區塊(depth>0)依深度定位於土柱右側並自動防重疊

    土壤圖示為套件內建不依賴網路載入,可由optionsColumn.kpIcon給予自訂圖示物件

    深度方向約定:組件內部一律往下為正(地表為0、地下大於0),傳入之土層深度(keyDepthStart/keyDepthEnd)與指標深度(depth)皆須依此預先處理好正負號,刻度顯示符號另由tickDownPositive控制,僅影響刻度顯示文字不影響任何計算

    指標區塊狀態位階:deactive > active > hover > normal,deactive為最高位階,不觸發hover樣式、不發出點擊事件且cursor為default

    具名插槽(slot):'layer-text'為土層右側描述文字區塊,提供作用域參數item,代表該土層物件,未給予時預設為空(關閉WSegmentsVertical之預設描述文字);'layer-popup'為土層彈窗內容區塊,提供作用域參數item,代表該土層物件;'marker'為指標區塊內容,提供作用域參數item與state,分別代表該指標區塊物件與當前生效狀態,未給予時預設渲染text與subText

Props

Name Type Default value Required? Description
items Array [] No 輸入土層項目物件陣列,各項目至少含keyDepthStart與keyDepthEnd兩數字欄位(往下為正),並以legendCode欄位(可由optionsColumn.keyLegendCode更改)對應土壤圖示,其餘欄位原樣供layer-popup插槽使用,預設[]
keyDepthStart String 'depthStart' No 輸入土層項目存放起始深度之欄位字串,預設'depthStart'
keyDepthEnd String 'depthEnd' No 輸入土層項目存放結束深度之欄位字串,預設'depthEnd'
width Number 191 No 輸入土柱繪圖寬度數字,單位px,組件根元素寬度為100%由外容器決定,預設191
height Number 504 No 輸入組件高度數字,單位px,預設504
groundY Number 90 No 輸入地表線y座標數字,其上方為地表指標區塊區,即土柱圖之上方內距,單位px,預設90
paddingBottom Number 22 No 輸入土柱圖下方內距數字,單位px,預設22
paddingLeft Number 60 No 輸入土柱圖左方內距數字,用以容納深度刻度文字,單位px,預設60
tickSize Number 25 No 輸入深度刻度尺寸(為單側寬度)數字,刻度文字位於刻度左側,故須大於等於segmentSize文字才不會與土柱重疊,單位px,預設25
segmentSize Number 20 No 輸入土柱區塊尺寸(為單側寬度)數字,單位px,預設20
depthMin Number null No 輸入深度軸最小值數字,給予null時自items自動計算,無items時為0,預設null
depthMax Number null No 輸入深度軸最大值數字,給予null時自items自動計算,無items時取地下指標最深處乘1.25,再無則為12,預設null
tickDownPositive Boolean true No 輸入深度刻度顯示符號布林值,true代表往下顯示為正(原值),false代表往下顯示為負(深度0不加負號),僅影響顯示不影響計算,預設true
tickDigits Number 1 No 輸入深度刻度文字取用小數點位數數字,預設1
funFormatTickValue function null No 輸入處理深度刻度值用以顯示函數,給予時取代內建格式化(tickDownPositive與tickDigits失效),預設null
groundColor String '#7f7a6f' No 輸入地表線顏色字串,預設'#7f7a6f'
groundWidth Number 1.6 No 輸入地表線寬度數字,單位px,給予0時不顯示,預設1.6
layerWithPopup Boolean false No 輸入土層是否可點擊顯示popup彈窗布林值,彈窗內容由slot之layer-popup提供,預設false
layerCanClick Boolean false No 輸入土層是否可點擊布林值,可點擊時發出click-layer事件,預設false
optionsColumn Object {} No 輸入向下傳遞至WSoilColumn之設定物件,可用鍵值為keyText、keyLegendCode、mergeSameLayers、kpIcon、title,說明同WSoilColumn之props,其餘WSoilColumn之props已由組件顯式綁定不可覆蓋,預設{}
optionsSegments Object {} No 輸入經WSoilColumn向下傳遞至WSegmentsVertical之設定物件,鍵值同WSegmentsVertical之props(如tickColor、axisColor、segmentBackgroundType等),內建預設與不可覆蓋項同WSoilColumn之optionsSegments,預設{}
markers Array [] No 輸入指標區塊物件陣列,各項目可用鍵值為key、depth、text、subText、state、title、style,外部變更狀態時傳入新陣列即可更新各區塊樣式,預設[]
markers.key String - No 輸入指標區塊識別字串,必填且不可重複,預設無
markers.depth Number - No 輸入指標深度數字,往下為正,小於等於0時為地表區塊,大於0時為地下區塊,預設無
markers.text String - No 輸入指標區塊主文字字串,預設無
markers.subText String - No 輸入指標區塊次文字字串,預設無
markers.state String 'normal' No 輸入指標區塊狀態字串,可選'normal'、'active'、'deactive',預設'normal'
markers.title String - No 輸入指標區塊滑鼠懸停提示文字字串,預設無
markers.style Object - No 輸入指標區塊各狀態樣式覆寫物件,結構同markerStyle,優先於markerStyle,預設無
markerStyle Object {} No 輸入指標區塊預設樣式物件,可用鍵值為backgroundColor、borderColor、borderWidth、textColor、subTextColor、opacity(各為{normal,hover,active,deactive}物件)與textFontSize、subTextFontSize、textFontFamily、subTextFontFamily(字串),未給予部分使用內建預設,預設{}
markerRight Number 11 No 輸入地表指標區塊列右緣內縮距離數字,單位px,預設11
markerGap Number 8 No 輸入地表指標區塊間距數字,單位px,預設8
markerMinSpacing Number 48 No 輸入地下指標區塊防重疊之最小垂直間距數字,單位px,預設48
surfaceClearance Number 25 No 輸入地下指標區塊與地表線之最小距離數字,單位px,預設25

Data

Name Type Default value Description
hoverKey String - 儲存當前滑鼠懸停之指標區塊key字串

Computed

Name Type Description
colRight Number 回傳土柱右緣x座標數字,為地表線起點與地下指標區塊定位基準,單位px
paddingStyle Object 回傳向下傳遞至WSoilColumn之內距物件
depthMinEff Number 回傳實際使用之深度軸最小值數字,顯式傳入WSoilColumn使土柱值域與指標區塊定位同源
depthMaxEff Number 回傳實際使用之深度軸最大值數字,顯式傳入WSoilColumn使土柱值域與指標區塊定位同源
markersSurf Array 回傳地表指標區塊(depth<=0)物件陣列
markersDeep Array 回傳地下指標區塊(depth>0)物件陣列,已依深度排序並計算防重疊後之y座標存於_y

Events

Name Payload Type Description
click-marker Object 當使用者點擊指標區塊時(state為deactive時不觸發),回傳{ev,item}物件,item為該指標區塊物件
click-layer Object 當layerCanClick為true且使用者點擊土層時,回傳{ev,item}物件,item為該土層物件