このExample(Exampleのページへのリンク)は、「Custom TreeView with Check Boxes」というタイトルになっているが、TextNodeを拡張したTaskNode.jsというノードが紹介されている。 Taskという名前が示す通り、Tree上にWBS(Work Breakdown Structure)をそのまま表現して、タスクが終了したらチェックをいれる、ということを想定しているように思われる。 各ノードは、「終了(チェックマーク)」、「仕掛(-)」、「未着手(マークなし)」の3種類のステータスをプロパティーとして保持している。 チェックするというイベントが発生すると、その親のノードへそれが伝播し、 親ノードの全てのchildrenがチェック済みなら、その親ノードもチェックとする。 上記以外は仕掛りとする。 という仕組みで、ノードの状態(state)がch