public function load($row, array $info = array())
 {
     $gen = Kwf_Component_Generator_Abstract::getInstance($this->_componentClass, $this->_generatorKey);
     $edit = Kwf_Component_Abstract_ExtConfig_Abstract::getEditConfigs($this->_getComponentClassByRow($row), $gen, '{componentId}-{0}', '');
     $this->_componentConfigs = array_merge($this->_componentConfigs, $edit['componentConfigs']);
     $ret = $edit['contentEditComponents'];
     $g = Kwc_Abstract::getSetting($this->_componentClass, 'generators');
     if (isset($g['detail']['dbIdShortcut'])) {
         $dbId = $g['detail']['dbIdShortcut'] . $row->id;
     } else {
         $dbId = $row->component_id . $gen->getIdSeparator() . $row->id;
     }
     $components = Kwf_Component_Data_Root::getInstance()->getComponentsByDbId($dbId, array('ignoreVisible' => true));
     if (isset($components[0])) {
         foreach (Kwf_Controller_Action_Component_PagesController::getSharedComponents($components[0]) as $cls => $cmp) {
             $cfg = Kwc_Admin::getInstance($cls)->getExtConfig(Kwf_Component_Abstract_ExtConfig_Abstract::TYPE_SHARED);
             foreach ($cfg as $k => $c) {
                 if (!isset($this->_componentConfigs[$cls . '-' . $k])) {
                     $this->_componentConfigs[$cls . '-' . $k] = $c;
                 }
                 $ret[] = array('componentClass' => $cls, 'type' => $k, 'idTemplate' => '{componentId}-{0}', 'componentIdSuffix' => '');
             }
         }
     }
     return $ret;
 }
 protected function _getConfig()
 {
     $detail = Kwc_Abstract::getChildComponentClass($this->_class, 'child');
     $gen = Kwf_Component_Generator_Abstract::getInstance($this->_class, 'child');
     $edit = Kwf_Component_Abstract_ExtConfig_Abstract::getEditConfigs($detail, $gen);
     $config = $this->_getStandardConfig('kwc.list.listEditButton', 'ListEditButton');
     $config['componentConfigs'] = $edit['componentConfigs'];
     $config['contentEditComponents'] = $edit['contentEditComponents'];
     $config['needsComponentPanel'] = true;
     return array('list' => $config);
 }
 protected function _getConfig()
 {
     $detail = Kwc_Abstract::getChildComponentClass($this->_class, 'child');
     $gen = Kwf_Component_Generator_Abstract::getInstance($this->_class, 'child');
     $edit = Kwf_Component_Abstract_ExtConfig_Abstract::getEditConfigs($detail, $gen);
     $config = $this->_getStandardConfig('kwc.list.list');
     $config['componentConfigs'] = $edit['componentConfigs'];
     $config['contentEditComponents'] = $edit['contentEditComponents'];
     $config['useInsertAdd'] = true;
     $config['listTitle'] = null;
     $config['editForms'] = array();
     return array('list' => $config);
 }
 protected function _getConfig()
 {
     $gen = Kwf_Component_Generator_Abstract::getInstance($this->_class, 'detail');
     $generators = Kwc_Abstract::getSetting($this->_class, 'generators');
     $idTemplate = null;
     if (isset($generators['detail']['dbIdShortcut'])) {
         $idTemplate = $generators['detail']['dbIdShortcut'] . '{0}';
     }
     $componentPlugins = array();
     foreach ($this->_getAdmin()->getPluginAdmins() as $a) {
         $plugin = $a->getPluginExtConfig();
         if ($plugin) {
             $componentPlugins[] = $plugin;
         }
     }
     $config = $this->_getStandardConfig('kwc.directories.item.directory');
     $detailClasses = Kwc_Abstract::getChildComponentClasses($this->_class, 'detail');
     $componentConfigs = array();
     $contentEditComponents = array();
     foreach ($detailClasses as $type => $detailClass) {
         $edit = Kwf_Component_Abstract_ExtConfig_Abstract::getEditConfigs($detailClass, $gen, $idTemplate, '');
         $componentConfigs = array_merge($componentConfigs, $edit['componentConfigs']);
         foreach ($edit['contentEditComponents'] as $ec) {
             $ec['component'] = $type;
             $contentEditComponents[] = $ec;
         }
     }
     $config['componentConfigs'] = $componentConfigs;
     $config['contentEditComponents'] = $contentEditComponents;
     $config['componentPlugins'] = $componentPlugins;
     $config['needsComponentPanel'] = true;
     $config['countDetailClasses'] = count($detailClasses);
     $config['idSeparator'] = $gen->getIdSeparator();
     $config['multiFileUpload'] = Kwc_Abstract::getSetting($this->_class, 'multiFileUpload');
     return array('items' => $config);
 }