1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-13 18:32:41 +01:00
phorge-phorge/src/applications/uiexample/examples/PhabricatorHovercardExample.php
Bob Trahan 1cb0db8755 Move PhabricatorUser to new phid stuff
Summary: Ref T2715. Had to start loading status information in the query class. Debated trying to clean up some of the attach / load stuff but decided to just add status under the new paradigm for now.

Test Plan: phid.query  also made a status and checked that out. also played in conpherence.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2715

Differential Revision: https://secure.phabricator.com/D6585
2013-07-26 14:05:19 -07:00

79 lines
2.5 KiB
PHP

<?php
final class PhabricatorHovercardExample extends PhabricatorUIExample {
public function getName() {
return 'Hovercard';
}
public function getDescription() {
return hsprintf('Use <tt>PhabricatorHovercardView</tt> to render '.
'hovercards. Aren\'t I genius?');
}
public function renderExample() {
$request = $this->getRequest();
$user = $request->getUser();
$elements = array();
$diff_handle = $this->createBasicDummyHandle(
"D123",
DifferentialPHIDTypeRevision::TYPECONST,
"Introduce cooler Differential Revisions");
$panel = $this->createPanel("Differential Hovercard");
$panel->appendChild(id(new PhabricatorHovercardView())
->setObjectHandle($diff_handle)
->addField(pht('Author'), $user->getUsername())
->addField(pht('Updated'), phabricator_datetime(time(), $user))
->addAction(pht('Subscribe'), '/dev/random')
->setUser($user));
$elements[] = $panel;
$task_handle = $this->createBasicDummyHandle(
"T123",
ManiphestPHIDTypeTask::TYPECONST,
"Improve Mobile Experience for Phabricator");
$tag = id(new PhabricatorTagView())
->setType(PhabricatorTagView::TYPE_STATE)
->setBackgroundColor(PhabricatorTagView::COLOR_BLACK)
->setName('Abandoned (Really)');
$panel = $this->createPanel("Maniphest Hovercard");
$panel->appendChild(id(new PhabricatorHovercardView())
->setObjectHandle($task_handle)
->setUser($user)
->addField(pht('Assigned to'), $user->getUsername())
->addField(pht('Dependent Tasks'), 'T123, T124, T125')
->addAction(pht('Subscribe'), '/dev/random')
->addAction(pht('Create Subtask'), '/dev/urandom')
->addTag($tag));
$elements[] = $panel;
$user_handle = $this->createBasicDummyHandle(
'gwashington',
PhabricatorPeoplePHIDTypeUser::TYPECONST,
'George Washington');
$user_handle->setImageURI(
celerity_get_resource_uri('/rsrc/image/people/washington.png'));
$panel = $this->createPanel("Whatevery Hovercard");
$panel->appendChild(id(new PhabricatorHovercardView())
->setObjectHandle($user_handle)
->addField(pht('Status'), 'Available')
->addField(pht('Member since'), '30. February 1750')
->addAction(pht('Send a Message'), '/dev/null')
->setUser($user));
$elements[] = $panel;
return phutil_implode_html("", $elements);
}
private function createPanel($header) {
$panel = new AphrontPanelView();
$panel->setNoBackground();
$panel->setHeader($header);
return $panel;
}
}