[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/uiexample/examples/ -> PhabricatorHovercardExample.php (source)

   1  <?php
   2  
   3  final class PhabricatorHovercardExample extends PhabricatorUIExample {
   4  
   5    public function getName() {
   6      return 'Hovercard';
   7    }
   8  
   9    public function getDescription() {
  10      return hsprintf('Use <tt>PhabricatorHovercardView</tt> to render '.
  11        'hovercards. Aren\'t I genius?');
  12    }
  13  
  14    public function renderExample() {
  15      $request = $this->getRequest();
  16      $user = $request->getUser();
  17  
  18      $elements = array();
  19  
  20      $diff_handle = $this->createBasicDummyHandle(
  21        'D123',
  22        DifferentialRevisionPHIDType::TYPECONST,
  23        'Introduce cooler Differential Revisions');
  24  
  25      $panel = $this->createPanel('Differential Hovercard');
  26      $panel->appendChild(id(new PhabricatorHovercardView())
  27        ->setObjectHandle($diff_handle)
  28        ->addField(pht('Author'), $user->getUsername())
  29        ->addField(pht('Updated'), phabricator_datetime(time(), $user))
  30        ->addAction(pht('Subscribe'), '/dev/random')
  31        ->setUser($user));
  32      $elements[] = $panel;
  33  
  34      $task_handle = $this->createBasicDummyHandle(
  35        'T123',
  36        ManiphestTaskPHIDType::TYPECONST,
  37        'Improve Mobile Experience for Phabricator');
  38  
  39      $tag = id(new PHUITagView())
  40        ->setType(PHUITagView::TYPE_STATE)
  41        ->setName('Closed, Resolved');
  42      $panel = $this->createPanel('Maniphest Hovercard');
  43      $panel->appendChild(id(new PhabricatorHovercardView())
  44        ->setObjectHandle($task_handle)
  45        ->setUser($user)
  46        ->addField(pht('Assigned to'), $user->getUsername())
  47        ->addField(pht('Dependent Tasks'), 'T123, T124, T125')
  48        ->addAction(pht('Subscribe'), '/dev/random')
  49        ->addAction(pht('Create Subtask'), '/dev/urandom')
  50        ->addTag($tag));
  51      $elements[] = $panel;
  52  
  53      $user_handle = $this->createBasicDummyHandle(
  54        'gwashington',
  55        PhabricatorPeopleUserPHIDType::TYPECONST,
  56        'George Washington');
  57      $user_handle->setImageURI(
  58        celerity_get_resource_uri('/rsrc/image/people/washington.png'));
  59      $panel = $this->createPanel('Whatevery Hovercard');
  60      $panel->appendChild(id(new PhabricatorHovercardView())
  61        ->setObjectHandle($user_handle)
  62        ->addField(pht('Status'), 'Available')
  63        ->addField(pht('Member since'), '30. February 1750')
  64        ->addAction(pht('Send a Message'), '/dev/null')
  65        ->setUser($user));
  66      $elements[] = $panel;
  67  
  68      return phutil_implode_html('', $elements);
  69    }
  70  
  71    private function createPanel($header) {
  72      $panel = new PHUIBoxView();
  73      $panel->addClass('grouped');
  74      $panel->addClass('ml');
  75      return $panel;
  76    }
  77  
  78  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1