[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhabricatorUIExampleRenderController extends PhabricatorController { 4 5 private $class; 6 7 public function shouldAllowPublic() { 8 return true; 9 } 10 11 public function willProcessRequest(array $data) { 12 $this->class = idx($data, 'class'); 13 } 14 15 public function processRequest() { 16 17 $classes = id(new PhutilSymbolLoader()) 18 ->setAncestorClass('PhabricatorUIExample') 19 ->loadObjects(); 20 $classes = msort($classes, 'getName'); 21 22 $nav = new AphrontSideNavFilterView(); 23 $nav->setBaseURI(new PhutilURI($this->getApplicationURI('view/'))); 24 25 foreach ($classes as $class => $obj) { 26 $name = $obj->getName(); 27 $nav->addFilter($class, $name); 28 } 29 30 $selected = $nav->selectFilter($this->class, head_key($classes)); 31 32 $example = $classes[$selected]; 33 $example->setRequest($this->getRequest()); 34 35 $result = $example->renderExample(); 36 if ($result instanceof AphrontResponse) { 37 // This allows examples to generate dialogs, etc., for demonstration. 38 return $result; 39 } 40 41 require_celerity_resource('phabricator-ui-example-css'); 42 43 $crumbs = $this->buildApplicationCrumbs(); 44 $crumbs->addTextCrumb($example->getName()); 45 46 $header = id(new PHUIHeaderView()) 47 ->setHeader(pht('%s (%s)', $example->getName(), get_class($example))) 48 ->setSubheader($example->getDescription()) 49 ->setNoBackground(true); 50 51 $nav->appendChild( 52 array( 53 $crumbs, 54 $header, 55 phutil_tag('br'), 56 $result, 57 )); 58 59 return $this->buildApplicationPage( 60 $nav, 61 array( 62 'title' => $example->getName(), 63 )); 64 } 65 66 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |