/** * This function is called in addBrowseTableColumns() to filter the names displayed * by AnswerModelSnippetGeneric. * * @see \Gems_Tracker_Snippets_AnswerModelSnippetGeneric * * @param \MUtil_Model_Bridge_TableBridge $bridge * @param \MUtil_Model_ModelAbstract $model * @param array $currentNames The current names in use (allows chaining) * @return array Of the names of labels that should be shown */ public function filterAnswers(\MUtil_Model_Bridge_TableBridge $bridge, \MUtil_Model_ModelAbstract $model, array $currentNames) { $rows = $bridge->getRows(); if (!$rows) { return $currentNames; } $keys = array(); foreach ($rows as $row) { // Add the keys that contain values. $keys += $this->array_filter($row, $model); } $results = array_intersect($currentNames, array_keys($keys), array_keys($this->token->getRawAnswers())); // \MUtil_Echo::track($results); $results = $this->restoreHeaderPositions($model, $results); if ($results) { return $results; } return $this->getHeaders($model, $currentNames); }