public function render() { require_celerity_resource('differential-core-view-css'); require_celerity_resource('differential-revision-detail-css'); $revision = $this->revision; $rows = array(); foreach ($this->auxiliaryFields as $field) { $value = $field->renderValueForRevisionView(); if (strlen($value)) { $label = $field->renderLabelForRevisionView(); $rows[] = '<tr>' . '<th>' . $label . '</th>' . '<td>' . $value . '</td>' . '</tr>'; } } $properties = '<table class="differential-revision-properties">' . implode("\n", $rows) . '</table>'; $actions = array(); foreach ($this->actions as $action) { $obj = new AphrontHeadsupActionView(); $obj->setName($action['name']); $obj->setURI(idx($action, 'href')); $obj->setWorkflow(idx($action, 'sigil') == 'workflow'); $obj->setClass(idx($action, 'class')); $obj->setInstant(idx($action, 'instant')); $obj->setUser($this->user); $actions[] = $obj; } $action_list = new AphrontHeadsupActionListView(); $action_list->setActions($actions); return '<div class="differential-revision-detail differential-panel">' . $action_list->render() . '<div class="differential-keyboard-shortcuts">' . id(new AphrontKeyboardShortcutsAvailableView())->render() . '</div>' . '<div class="differential-revision-detail-core">' . '<h1>' . '<span class="aphront-headsup-object-name">' . phutil_escape_html('D' . $revision->getID()) . '</span>' . ' ' . phutil_escape_html($revision->getTitle()) . '</h1>' . $properties . '</div>' . '<div style="clear: both;"></div>' . '</div>'; }
public function render() { require_celerity_resource('differential-core-view-css'); require_celerity_resource('differential-revision-detail-css'); $revision = $this->revision; $dict = array(); foreach ($this->auxiliaryFields as $field) { $value = $field->renderValueForRevisionView(); if (strlen($value)) { $label = rtrim($field->renderLabelForRevisionView(), ':'); $dict[$label] = $value; } } $actions = array(); foreach ($this->actions as $action) { $obj = new AphrontHeadsupActionView(); $obj->setName($action['name']); $obj->setURI(idx($action, 'href')); $obj->setWorkflow(idx($action, 'sigil') == 'workflow'); $obj->setClass(idx($action, 'class')); $obj->setInstant(idx($action, 'instant')); $obj->setUser($this->user); $actions[] = $obj; } $action_list = new AphrontHeadsupActionListView(); $action_list->setActions($actions); $action_panel = new AphrontHeadsupView(); $action_panel->setActionList($action_list); $action_panel->setHasKeyboardShortcuts(true); $action_panel->setProperties($dict); $action_panel->setObjectName('D' . $revision->getID()); $action_panel->setHeader($revision->getTitle()); return $action_panel->render(); }