function getRecordAsTableCells( IdStack $idPath, Editor $editor, Structure $visibleStructure, Record $record, &$startColumn = 0 ) { $result = ''; $childEditorMap = $editor->getAttributeEditorMap(); foreach ( $visibleStructure->getAttributes() as $visibleAttribute ) { $childEditor = $childEditorMap->getEditorForAttribute( $visibleAttribute ); if ( $childEditor != null ) { $attribute = $childEditor->getAttribute(); $type = $attribute->type; $value = $record->getAttributeValue( $attribute ); $idPath->pushAttribute( $attribute ); $attributeId = $idPath->getId(); if ( $childEditor instanceof RecordTableCellEditor ) { $result .= getRecordAsTableCells( $idPath, $childEditor, $visibleAttribute->type, $value, $startColumn ); } else { $displayValue = $childEditor->showsData( $value ) ? $childEditor->view( $idPath, $value ) : ""; $result .= '<td class="' . getHTMLClassForType( $type, $attribute ) . ' column-' . parityClass( $startColumn ) . '">' . $displayValue . '</td>'; $startColumn++; } $idPath->popAttribute(); } else { $result .= '<td/>'; } } return $result; }
public function view( IdStack $idPath, $value ) { return getStaticSuggest( $idPath->getId(), $this->wrappedEditor->view( $idPath, $value ), count( $value->getKey()->getAttributes() ) ); }