1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-23 05:50:55 +01:00

Add a UIExamples page for new project image builtins

Summary: Adds a page to view all and their path in UIExamples.

Test Plan: Review page in UIExamples, hover over image for path.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D18196
This commit is contained in:
Chad Little 2017-07-10 11:20:03 -07:00
parent 646ad36b15
commit 5f1a359a92
2 changed files with 73 additions and 0 deletions

View file

@ -3612,6 +3612,7 @@ phutil_register_library_map(array(
'PhabricatorProjectBoardManageController' => 'applications/project/controller/PhabricatorProjectBoardManageController.php',
'PhabricatorProjectBoardReorderController' => 'applications/project/controller/PhabricatorProjectBoardReorderController.php',
'PhabricatorProjectBoardViewController' => 'applications/project/controller/PhabricatorProjectBoardViewController.php',
'PhabricatorProjectBuiltinsExample' => 'applications/uiexample/examples/PhabricatorProjectBuiltinsExample.php',
'PhabricatorProjectCardView' => 'applications/project/view/PhabricatorProjectCardView.php',
'PhabricatorProjectColorTransaction' => 'applications/project/xaction/PhabricatorProjectColorTransaction.php',
'PhabricatorProjectColorsConfigType' => 'applications/project/config/PhabricatorProjectColorsConfigType.php',
@ -9063,6 +9064,7 @@ phutil_register_library_map(array(
'PhabricatorProjectBoardManageController' => 'PhabricatorProjectBoardController',
'PhabricatorProjectBoardReorderController' => 'PhabricatorProjectBoardController',
'PhabricatorProjectBoardViewController' => 'PhabricatorProjectBoardController',
'PhabricatorProjectBuiltinsExample' => 'PhabricatorUIExample',
'PhabricatorProjectCardView' => 'AphrontTagView',
'PhabricatorProjectColorTransaction' => 'PhabricatorProjectTransactionType',
'PhabricatorProjectColorsConfigType' => 'PhabricatorJSONConfigType',

View file

@ -0,0 +1,71 @@
<?php
final class PhabricatorProjectBuiltinsExample extends PhabricatorUIExample {
public function getName() {
return pht('Project Builtin Images');
}
public function getDescription() {
return pht('Builtin Project Images that ship with Phabricator.');
}
public function getCategory() {
return pht('Catalogs');
}
public function renderExample() {
$viewer = $this->getRequest()->getUser();
$root = dirname(phutil_get_library_root('phabricator'));
$root = $root.'/resources/builtin/projects/v3/';
Javelin::initBehavior('phabricator-tooltips', array());
$map = array();
$builtin_map = id(new FileFinder($root))
->withType('f')
->withFollowSymlinks(true)
->find();
$images = array();
foreach ($builtin_map as $image) {
$file = PhabricatorFile::loadBuiltin($viewer, 'projects/v3/'.$image);
$images[$file->getPHID()] = array(
'uri' => $file->getBestURI(),
'tip' => 'v3/'.$image,
);
}
$buttons = array();
foreach ($images as $phid => $spec) {
$button = javelin_tag(
'img',
array(
'height' => 100,
'width' => 100,
'src' => $spec['uri'],
'style' => 'float: left; padding: 4px;',
'sigil' => 'has-tooltip',
'meta' => array(
'tip' => $spec['tip'],
'size' => 300,
),
));
$buttons[] = $button;
}
$wrap1 = id(new PHUIObjectBoxView())
->setHeaderText(pht('Images'))
->appendChild($buttons)
->addClass('grouped');
return phutil_tag(
'div',
array(),
array(
$wrap1,
));
}
}