[Webix]レイアウトシステム
Webix Advent Calendar 2014 2日目の記事です。
Webixには、簡単に使えて様々なコンポーネントを自在に配置できる優れたレイアウトシステムがあります。本日はWebixのレイアウトシステムについて紹介します。
レイアウト
Webixにおけるレイアウトとは、コンポーネントとの配置を決定するだけの概念的な要素となります。JSON形式でrowsやcolsキーにコンポーネントを含んだ配列を渡すことで設定します。
Horizontal layout
rowsは、コンポーネントを垂直に配置する際に使用します。
1 2 3 4 5 6 7 8 |
webix.ui({ id:"layout", rows:[ { template:"row 1" }, { template:"row 2" }, { template:"row 3" } ] }); |
Vertical layout
colsは、コンポーネントを水平に配置する際に使用します。
1 2 3 4 5 6 7 8 |
webix.ui({ id:"layout", cols:[ { template:"col 1" }, { template:"col 2" }, { template:"col 3" } ] }); |
Complex layout
任意の行(rows)を列(cols)で分割することができます。
ネストすることで複雑なレイアウトを設定することができます。
1 2 3 4 5 6 7 8 9 10 11 12 |
webix.ui({ id:"layout", rows:[ {template:"row 1"}, {template:"row 2"}, { cols:[ { template:"col 1" }, { template:"col 2" }, { template:"col 3" } ]} ] }); |
リサイズビュー
リサイズビューは、レイアウトによって配置されたコンポーネント間でサイズの変更を可能にします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
webix.ui({ rows:[ {template:"header", height:35 }, {template:"row 1"}, {view:"resizer"}, //row1とrow2の境界をリサイズ可能に {template:"row 2"}, {view:"resizer"}, //row2とrow3の境界をリサイズ可能に { id:"row3", cols:[ { template:"col 1", minWidth:150 //col1の最少サイズ(幅) }, { view:"resizer", //col1とcol2の境界をリサイズ可能に }, { template:"col 2" }, { template:"col 3" } ] } ] }); |