[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
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 }
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 |