[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

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

   1  <?php
   2  
   3  final class PHUITimelineExample extends PhabricatorUIExample {
   4  
   5    public function getName() {
   6      return 'Timeline View';
   7    }
   8  
   9    public function getDescription() {
  10      return hsprintf(
  11        'Use <tt>PHUITimelineView</tt> to comments and transactions.');
  12    }
  13  
  14    public function renderExample() {
  15      $request = $this->getRequest();
  16      $user = $request->getUser();
  17  
  18      $handle = id(new PhabricatorHandleQuery())
  19        ->setViewer($user)
  20        ->withPHIDs(array($user->getPHID()))
  21        ->executeOne();
  22  
  23      $events = array();
  24  
  25      $events[] = id(new PHUITimelineEventView())
  26        ->setUserHandle($handle)
  27        ->setTitle('A major event.')
  28        ->appendChild('This is a major timeline event.');
  29  
  30      $events[] = id(new PHUITimelineEventView())
  31        ->setUserHandle($handle)
  32        ->setIcon('fa-heart')
  33        ->setTitle('A minor event.');
  34  
  35      $events[] = id(new PHUITimelineEventView())
  36        ->setUserHandle($handle)
  37        ->setIcon('fa-comment')
  38        ->appendChild('A major event with no title.');
  39  
  40      $events[] = id(new PHUITimelineEventView())
  41        ->setUserHandle($handle)
  42        ->setIcon('fa-star')
  43        ->setTitle('Another minor event.');
  44  
  45      $events[] = id(new PHUITimelineEventView())
  46        ->setIcon('fa-trophy')
  47        ->setToken('medal-1')
  48        ->setUserHandle($handle);
  49  
  50      $events[] = id(new PHUITimelineEventView())
  51        ->setIcon('fa-quote-left')
  52        ->setToken('medal-1', true)
  53        ->setUserHandle($handle);
  54  
  55      $events[] = id(new PHUITimelineEventView())
  56        ->setUserHandle($handle)
  57        ->setTitle('Major Red Event')
  58        ->setIcon('fa-heart-o')
  59        ->appendChild('This event is red!')
  60        ->setColor(PhabricatorTransactions::COLOR_RED);
  61  
  62      $events[] = id(new PHUITimelineEventView())
  63        ->setUserHandle($handle)
  64        ->setIcon('fa-female')
  65        ->setTitle('Minor Red Event')
  66        ->setColor(PhabricatorTransactions::COLOR_RED);
  67  
  68      $events[] = id(new PHUITimelineEventView())
  69        ->setIcon('fa-refresh')
  70        ->setUserHandle($handle)
  71        ->setTitle('Minor Not-Red Event')
  72        ->setColor(PhabricatorTransactions::COLOR_GREEN);
  73  
  74      $events[] = id(new PHUITimelineEventView())
  75        ->setUserHandle($handle)
  76        ->setIcon('fa-calendar-o')
  77        ->setTitle('Minor Red Event')
  78        ->setColor(PhabricatorTransactions::COLOR_RED);
  79  
  80      $events[] = id(new PHUITimelineEventView())
  81        ->setUserHandle($handle)
  82        ->setIcon('fa-check')
  83        ->setTitle('Historically Important Action')
  84        ->setColor(PhabricatorTransactions::COLOR_BLACK)
  85        ->setReallyMajorEvent(true);
  86  
  87  
  88      $events[] = id(new PHUITimelineEventView())
  89        ->setUserHandle($handle)
  90        ->setIcon('fa-circle-o')
  91        ->setTitle('Major Green Disagreement Action')
  92        ->appendChild('This event is green!')
  93        ->setColor(PhabricatorTransactions::COLOR_GREEN);
  94  
  95      $events[] = id(new PHUITimelineEventView())
  96        ->setUserHandle($handle)
  97        ->setIcon('fa-tag')
  98        ->setTitle(str_repeat('Long Text Title ', 64))
  99        ->appendChild(str_repeat('Long Text Body ', 64))
 100        ->setColor(PhabricatorTransactions::COLOR_ORANGE);
 101  
 102      $events[] = id(new PHUITimelineEventView())
 103        ->setUserHandle($handle)
 104        ->setTitle(str_repeat('LongTextEventNoSpaces', 1024))
 105        ->appendChild(str_repeat('LongTextNoSpaces', 1024))
 106        ->setColor(PhabricatorTransactions::COLOR_RED);
 107  
 108      $colors = array(
 109        PhabricatorTransactions::COLOR_RED,
 110        PhabricatorTransactions::COLOR_ORANGE,
 111        PhabricatorTransactions::COLOR_YELLOW,
 112        PhabricatorTransactions::COLOR_GREEN,
 113        PhabricatorTransactions::COLOR_SKY,
 114        PhabricatorTransactions::COLOR_BLUE,
 115        PhabricatorTransactions::COLOR_INDIGO,
 116        PhabricatorTransactions::COLOR_VIOLET,
 117        PhabricatorTransactions::COLOR_GREY,
 118        PhabricatorTransactions::COLOR_BLACK,
 119      );
 120  
 121      $events[] = id(new PHUITimelineEventView())
 122        ->setUserHandle($handle)
 123        ->setTitle('Colorless')
 124        ->setIcon('fa-lock');
 125  
 126      foreach ($colors as $color) {
 127        $events[] = id(new PHUITimelineEventView())
 128          ->setUserHandle($handle)
 129          ->setTitle("Color '{$color}'")
 130          ->setIcon('fa-paw')
 131          ->setColor($color);
 132      }
 133  
 134      $vhandle = $handle->renderLink();
 135  
 136      $group_event = id(new PHUITimelineEventView())
 137        ->setUserHandle($handle)
 138        ->setTitle(pht('%s went to the store.', $vhandle));
 139  
 140      $group_event->addEventToGroup(
 141        id(new PHUITimelineEventView())
 142          ->setUserHandle($handle)
 143          ->setTitle(pht('%s bought an apple.', $vhandle))
 144          ->setColor('green')
 145          ->setIcon('fa-apple'));
 146  
 147      $group_event->addEventToGroup(
 148        id(new PHUITimelineEventView())
 149          ->setUserHandle($handle)
 150          ->setTitle(pht('%s bought a banana.', $vhandle))
 151          ->setColor('yellow')
 152          ->setIcon('fa-check'));
 153  
 154      $group_event->addEventToGroup(
 155        id(new PHUITimelineEventView())
 156          ->setUserHandle($handle)
 157          ->setTitle(pht('%s bought a cherry.', $vhandle))
 158          ->setColor('red')
 159          ->setIcon('fa-check'));
 160  
 161      $group_event->addEventToGroup(
 162        id(new PHUITimelineEventView())
 163          ->setUserHandle($handle)
 164          ->setTitle(pht('%s paid for his goods.', $vhandle)));
 165  
 166      $group_event->addEventToGroup(
 167        id(new PHUITimelineEventView())
 168          ->setUserHandle($handle)
 169          ->setTitle(pht('%s returned home.', $vhandle))
 170          ->setIcon('fa-home')
 171          ->setColor('blue'));
 172  
 173      $group_event->addEventToGroup(
 174        id(new PHUITimelineEventView())
 175          ->setUserHandle($handle)
 176          ->setTitle(pht('%s related on his adventures.', $vhandle))
 177          ->appendChild(
 178            pht(
 179              'Today, I went to the store. I bought an apple. I bought a '.
 180              'banana. I bought a cherry. I paid for my goods, then I returned '.
 181              'home.')));
 182  
 183      $events[] = $group_event;
 184  
 185      $anchor = 0;
 186      foreach ($events as $group) {
 187        foreach ($group->getEventGroup() as $event) {
 188          $event->setUser($user);
 189          $event->setDateCreated(time() + ($anchor * 60 * 8));
 190          $event->setAnchor(++$anchor);
 191        }
 192      }
 193  
 194      $timeline = id(new PHUITimelineView());
 195      foreach ($events as $event) {
 196        $timeline->addEvent($event);
 197      }
 198  
 199      return $timeline;
 200    }
 201  }


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