mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-13 18:32:41 +01:00
1cb0db8755
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
79 lines
2.5 KiB
PHP
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;
|
|
}
|
|
|
|
}
|