Framework  3.9
StatusTrees Class Reference

Public Member Functions

 StatusTrees ($items, $statusCategories, $statusBlock)
 
 buildStatusTrees ()
 
 getNode ($item, $pkName)
 
 writeScript ()
 
 drawView ()
 

Public Attributes

 $items
 
 $trees
 
 $statusCategories
 
 $emptyMessage = ""
 
 $width = 500
 
 $statusBlockView
 
 $statusBlockHandler
 

Detailed Description

Definition at line 65 of file status_tree.inc.

Member Function Documentation

◆ buildStatusTrees()

StatusTrees::buildStatusTrees ( )

Definition at line 86 of file status_tree.inc.

87  {
88  if(count($this->items) == 0) return;
89 
90  $trees = array();
91 
92  foreach($this->statusCategories as $statusTitle => $status)
93  {
94  if (array_key_exists($status, $this->items))
95  {
96  $tree = new TreeControl("statusTree$status", "", "tree", false, $this->width);
97  $tree->height = "";
98  $tree->indent = "0px";
99 
100  $category = $this->items[$status];
101 
102  foreach($category as $item)
103  {
104  $pkName = $item->getPrimaryKey();
105 
106  $node = $this->getNode($item, $pkName);
107 
108  if($this->statusBlockView)
109  {
110  $statusBlockView = new $this->statusBlockView($item);
111  $block = $statusBlockView->getViewHTML();
112  }
113 
114  $subNode = new TreeNode("block_{$item->$pkName}",
115  $block, "",
116  false);
117  $subNode->leafStyle = "";
118  if($this->statusBlockHandler)
119  {
120  $subNode->onDemand = "{$this->statusBlockHandler}?$pkName={$item->$pkName}";
121  }
122  $node->add($subNode);
123 
124  $tree->add($node);
125  }
126 
127  $trees[$status] = $tree;
128  }
129  }
130  return $trees;
131  }
getNode($item, $pkName)
The TreeControl provides a class that can be used to generate dynamic tree controls for use in PHP fo...
Definition: tree.inc:322
TreeNode represents a node in the tree.
Definition: tree.inc:62

◆ drawView()

StatusTrees::drawView ( )

Definition at line 152 of file status_tree.inc.

153  {
154  $this->trees = $this->buildStatusTrees();
155  echo "<br/>\n";
156 
157  if (count($this->items) > 0)
158  {
159  foreach($this->statusCategories as $statusTitle => $status)
160  {
161  if (array_key_exists($status, $this->items))
162  {
163  echo "<h3>$statusTitle</h3>\n";
164  $this->trees[$status]->writeHTML();
165  }
166  }
167  }
168  else
169  {
170  echo "<br/><em>$this->emptyMessage</em><br/>";
171  }
172 
173  }

◆ getNode()

StatusTrees::getNode (   $item,
  $pkName 
)

Definition at line 136 of file status_tree.inc.

137  {
138  $node = new TreeNode("status_{$item->$pkName}", $item->getTitle(),
139  null, false, "tree_list_closed", "tree_list_open");
140  $node->leafStyle = "tree_list_open";
141 
142  return $node;
143  }

◆ StatusTrees()

StatusTrees::StatusTrees (   $items,
  $statusCategories,
  $statusBlock 
)

Definition at line 75 of file status_tree.inc.

76  {
77  $this->items = $items;
78  $this->statusCategories = $statusCategories;
79  $this->statusBlockView = $statusBlockView;
80  if(preg_match('/\//', $statusBlock))
81  $this->statusBlockHandler = $statusBlock;
82  else
83  $this->statusBlockView = $statusBlock;
84  }

◆ writeScript()

StatusTrees::writeScript ( )

Definition at line 146 of file status_tree.inc.

147  {
148 
149  }

Member Data Documentation

◆ $emptyMessage

StatusTrees::$emptyMessage = ""

Definition at line 70 of file status_tree.inc.

◆ $items

StatusTrees::$items

Definition at line 67 of file status_tree.inc.

◆ $statusBlockHandler

StatusTrees::$statusBlockHandler

Definition at line 73 of file status_tree.inc.

◆ $statusBlockView

StatusTrees::$statusBlockView

Definition at line 72 of file status_tree.inc.

◆ $statusCategories

StatusTrees::$statusCategories

Definition at line 69 of file status_tree.inc.

◆ $trees

StatusTrees::$trees

Definition at line 68 of file status_tree.inc.

◆ $width

StatusTrees::$width = 500

Definition at line 71 of file status_tree.inc.


The documentation for this class was generated from the following file: