summaryrefslogtreecommitdiffstats
path: root/codebase/treegridmultitable_connector.php
diff options
context:
space:
mode:
authorDmitry <dmitry@dhtmlx.com>2012-05-08 14:58:11 +0200
committerDmitry <dmitry@dhtmlx.com>2012-05-08 14:58:11 +0200
commit711583417091002845079cb20082a68152054640 (patch)
tree8e8debe51e30ee8f05832efdbf6e08ff09c27678 /codebase/treegridmultitable_connector.php
parent78bc7500e7c9afb2be508c2ad1ee37f94bff70ef (diff)
downloadconnector-php-711583417091002845079cb20082a68152054640.zip
connector-php-711583417091002845079cb20082a68152054640.tar.gz
connector-php-711583417091002845079cb20082a68152054640.tar.bz2
implements RenderStrategy logic
Diffstat (limited to 'codebase/treegridmultitable_connector.php')
-rw-r--r--codebase/treegridmultitable_connector.php37
1 files changed, 12 insertions, 25 deletions
diff --git a/codebase/treegridmultitable_connector.php b/codebase/treegridmultitable_connector.php
index 29e0dbd..4e7f38a 100644
--- a/codebase/treegridmultitable_connector.php
+++ b/codebase/treegridmultitable_connector.php
@@ -10,9 +10,10 @@ class TreeGridMultitableConnector extends TreeGridConnector{
private $level = 0;
private $max_level = null;
- public function __construct($res,$type=false,$item_type=false,$data_type=false){
+ public function __construct($res,$type=false,$item_type=false,$data_type=false,$render_type=false){
$data_type="TreeGridMultitableDataProcessor";
- parent::__construct($res,$type,$item_type,$data_type);
+ if (!$render_type) $render_type="MultitableRenderStrategy";
+ parent::__construct($res,$type,$item_type,$data_type,$render_type);
$this->event->attach("beforeProcessing", Array($this, 'id_translate_before'));
$this->event->attach("afterProcessing", Array($this, 'id_translate_after'));
}
@@ -49,28 +50,6 @@ class TreeGridMultitableConnector extends TreeGridConnector{
}
- protected function render_set($res){
- $output="";
- $index=0;
- $records = Array();
- while ($data=$this->sql->get_next($res)){
- $data[$this->config->id['name']] = $this->level.'%23'.$data[$this->config->id['name']];
- $data = new $this->names["item_class"]($data,$this->config,$index);
- $this->event->trigger("beforeRender",$data);
- if (($this->max_level !== null)&&($this->level == $this->max_level)) {
- $data->set_kids(false);
- } else {
- if ($data->has_kids()===-1)
- $data->set_kids(true);
- }
- $output.=$data->to_xml_start();
- $output.=$data->to_xml_end();
- $index++;
- }
- return $output;
- }
-
-
public function xml_start(){
if (isset($_GET['id'])) {
return "<rows parent='".($this->level - 1).'%23'.$_GET['id']."'>";
@@ -81,6 +60,7 @@ class TreeGridMultitableConnector extends TreeGridConnector{
public function get_level() {
+ if ($this->level) return $this->level;
if (!isset($_GET['id'])) {
if (isset($_POST['ids'])) {
$ids = explode(",",$_POST["ids"]);
@@ -109,7 +89,7 @@ class TreeGridMultitableConnector extends TreeGridConnector{
public function level_id($id) {
- return $this->level.'#'.$id;
+ return $this->level.'%23'.$id;
}
@@ -122,6 +102,13 @@ class TreeGridMultitableConnector extends TreeGridConnector{
}
+ /*! gets maximum level of tree
+ */
+ public function getMaxLevel() {
+ return $this->max_level;
+ }
+
+
/*! remove level prefix from id, parent id and set new id before processing
@param action
DataAction object