/** * Creates from the model a \MUtil_Html_TableElement that can display multiple items. * * Allows overruling * * @param \MUtil_Model_ModelAbstract $model * @return \MUtil_Html_TableElement */ public function getShowTable(\MUtil_Model_ModelAbstract $model) { $bridge = $model->getBridgeFor('itemTable', array('class' => $this->class)); $bridge->setColumnCount($this->bridgeColumns)->setMode($this->bridgeMode); if (($this->bridgeMode = \MUtil_Model_Bridge_BridgeAbstract::MODE_SINGLE_ROW) && $model->hasDependencies()) { // Trigger the dependencies $bridge->getRow(); } $this->setShowTableHeader($bridge, $model); $this->setShowTableFooter($bridge, $model); $this->addShowTableRows($bridge, $model); if (!$bridge->getRepeater()) { $bridge->setRepeater($this->getRepeater($model)); } return $bridge->getTable(); }
/** * Creates from the model a \MUtil_Html_TableElement that can display multiple items. * * Allows overruling * * @param \MUtil_Model_ModelAbstract $model * @return \MUtil_Html_TableElement */ public function getBrowseTable(\MUtil_Model_ModelAbstract $model) { $bridge = $model->getBridgeFor('table'); if ($this->caption) { $bridge->caption($this->caption); } if ($this->onEmpty) { $bridge->setOnEmpty($this->onEmpty); } else { $bridge->getOnEmpty()->raw('…'); } if ($this->baseUrl) { $bridge->setBaseUrl($this->baseUrl); } $this->addBrowseTableColumns($bridge, $model); return $bridge->getTable(); }
/** * Create a form for filtering and validation, populating it * with elements. * * @return \MUtil_Form */ protected function _makeTargetForm() { $form = $this->_createTargetForm(); $form->setTranslator($this->translate); $bridge = $this->_targetModel->getBridgeFor('form', $form); foreach ($this->getFieldsTranslations() as $sourceName => $targetName) { if ($this->_targetModel->get($targetName, 'label')) { $options = $this->_targetModel->get($targetName, 'multiOptions'); if ($options) { $filter = new \MUtil_Filter_LooseArrayFilter($options, $this->_targetModel->get($targetName, 'extraValueKeys')); $element = $bridge->add($targetName); if ($element && method_exists($element, 'addFilter')) { $element->addFilter($filter); } } else { $bridge->add($targetName); } } else { $bridge->addHidden($targetName); } } return $form; }