모듈:글상자

Caeruleum (토론 | 기여)님의 2021년 6월 6일 (일) 14:42 판
설명문서 [편집] [역사] [새로고침]

스크립트 오류: 함수 "main"가 존재하지 않습니다.

연습장이나 사용자 문서에서 틀의 사용이나 수정을 연습할 수 있습니다.
분류는 /설명문서에 넣어주세요.

local p = {}
local table_ =  {
	scales = {}, axes = {}, marks = {}, signals = {}, data = {}
}

table_.width = 400
table_.height = 300

table_.signals[1] = {
	name = "tooltip",
	value = {},
	on = {
		{events = "rect:mouseover", update =  "datum"},
		{events = "rect:mouseout",  update = "{}"}
	}
}

table_.data[1] = {
			name = "table", 
			valus = {
				{category = "USB 3.2 Gen 2x2", amount = 20}, 
				{category = "USB 3.2 Gen 2(구 명칭 USB 3.1 Gen2, USB 3.1)", amount = 10}, 
        		{category =  "USB 3.2 Gen 1(구 명칭 USB 3.1 Gen 1, USB 3.0) ", amount = 5}, 
        		{category = "USB 2.0", amount = 0.480}, 
        		{category = "USB 1.0" , amount = 0.12}
			}
}
table_.scales[1] =	{
      name = "x",
      range = "width",
      domain= {data= "table", field= "amount"},
      round= true
    }
table_.scales[2] =  {
      name = "y",
      range = "height",
      type = "ordinal",
      domain= {data= "table", field = "category"},
      padding=  0.3,
      round= true
    }

table_.axes[1] = {type= "x", scale =  "x", title =  "Gbps"}
table_.axes[2] = {type= "y", scale =  "y"}

table_.marks[1] = {
      type =  "rect",
      from= {data= "table"},
      properties= {
        enter= {
          y= {scale= "y", field= "category"},
          height= {scale= "y", band= true},
          x= {scale= "x", value= 0},
          x2= {scale= "x", field= "amount"}
        },
        update= {
          fill= {value= "#4188F1"}
        },
        hover= {
          strokeWidth= {value= 1},
          stroke= {value= "#4188F1"},
          fill= {value= "#F5F8FA"}
        }
      }
    }
    
function p.jsonDecode()
	return 0
	--mw.text.jsonDecode()
end
function p.jsonEncode()
	return mw.text.jsonEncode(table_).."</graph>"

end

function p.textDecode(frame)
	return mw.text.decode(frame.args[1])
end
function p.textSplit(frame)
	return mw.text.split(frame.args[1], frame.args[2], frame.args[3] or "")
end

local vertical_p = {}

function vertical_p.main(frame)
	local str = ""
	local i, j = 1, 1
	
	while frame.args[i] do
		str = str..[[<div class="vertical_p" style="float:left;">]]..frame.args[i]..[[</div>]]
		i = i + 1
	end
	return str
end

--return vertical_p
return p