--- nfo/php/libs/org.netfrag.app/WebExplorer/AbstractExplorer.php 2003/03/29 07:49:55 1.7 +++ nfo/php/libs/org.netfrag.app/WebExplorer/AbstractExplorer.php 2003/04/04 01:16:03 1.8 @@ -1,9 +1,12 @@ _get_hidden_items($label); - if(is_array($hidden_items) ) { $ecom->add_hidden_items($hidden_items); } - //print "Hidden: " . Dumper($gui_ecom->_hidden_items); + if(is_array($hidden_items) ) { + $ecom->add_hidden_items($hidden_items); + //print "Hidden: " . Dumper($hidden_items); + } $this->_ecom[$label] = &$gui_ecom; } @@ -198,9 +203,25 @@ if($ecom_state['ecom_abstract_type'] == "list") { $hidden_items = array( 'ecl' => $label, + 'ecat' => "item", + 'ecmod' => "view", + ); + } + elseif($ecom_state['ecom_abstract_type'] == "item") { + $hidden_items = array( + 'ecl' => $label, + 'ecat' => "item", + 'ecmod' => "view", ); +/* + if($ecom_state['ecom_mode'] == "view") { + $hidden_items['ecmod'] = "edit"; + } + elseif($ecom_state['ecom_mode'] == "edit") { + $hidden_items['ecmod'] = "edit"; + } +*/ } - // set default hidden item for whole explorer $hidden_items['ap'] = "explorer"; } return $hidden_items; @@ -233,7 +254,26 @@ ); // switch abstract type } elseif ($val['ecom_abstract_type'] == "item") { - $args = array(); + if($val['ecom_data_locator_key'] == "rpc") { + //$data_locator_meta = array( datasource => 'rpc', metatype => 'data', vartype => 'objects', classname => $val['ecom_data_ident']); + $data_locator_meta = array( datasource => 'rpc', metatype => 'data', abstract_type => 'item', ident => $val['ecom_data_ident'], classname => $val['ecom_data_meta']); + } else { + user_error("AbstractExplorer::_prepare_component_args - Cannot build query for data_locator_key $val[ecom_data_locator_key] !"); + } + if(!$val['ecom_mode']) { $val['ecom_mode'] = "view"; } + print "Mode: $val[ecom_mode]
"; + $args = array( + 'caption' => "Item", + 'mode' => $val['ecom_mode'], + 'options' => array( + 'data_locator_meta' => $data_locator_meta, + 'decode' => 1, + 'decode_args' => array( + 'seperator' => "_", + ), + ), + ); + if($val['ecom_mode'] == "edit") { $args['adapter'] = 'FormProcessor'; } } // switch component type } elseif ($val['ecom_type'] == "nav") {