示例#1
0
 protected function parsePostback($postbackString, $params)
 {
     $pb = json_decode($postbackString, true);
     $source = null;
     $targets = array();
     foreach ($pb['components'] as $key => $value) {
         $cobj = null;
         switch ($value['type']) {
             case 'KPIComponent':
                 $cobj = new KPIComponent($key);
                 break;
             case 'TableComponent':
                 $cobj = new TableComponent($key);
                 break;
             case 'ChartComponent':
                 $cobj = new ChartComponent($key);
                 break;
             case 'FormComponent':
                 $cobj = new FormComponent($key);
                 $cobj->setInputValues($params);
                 break;
             case 'KPITableComponent':
                 $cobj = new KPITableComponent($key);
                 break;
             default:
                 die("Unknown component type");
                 break;
         }
         $cobj->__buildFromObject($value);
         $cobj->__flagDirty();
         $this->addComponent($cobj);
         if ($value['source'] === true) {
             $source = $cobj;
         } else {
             $targets[] = $cobj;
         }
     }
     return array('source' => $source, 'targets' => $targets);
 }