diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -3612,6 +3612,7 @@ '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 @@ 'PhabricatorProjectBoardManageController' => 'PhabricatorProjectBoardController', 'PhabricatorProjectBoardReorderController' => 'PhabricatorProjectBoardController', 'PhabricatorProjectBoardViewController' => 'PhabricatorProjectBoardController', + 'PhabricatorProjectBuiltinsExample' => 'PhabricatorUIExample', 'PhabricatorProjectCardView' => 'AphrontTagView', 'PhabricatorProjectColorTransaction' => 'PhabricatorProjectTransactionType', 'PhabricatorProjectColorsConfigType' => 'PhabricatorJSONConfigType', diff --git a/src/applications/uiexample/examples/PhabricatorProjectBuiltinsExample.php b/src/applications/uiexample/examples/PhabricatorProjectBuiltinsExample.php new file mode 100644 --- /dev/null +++ b/src/applications/uiexample/examples/PhabricatorProjectBuiltinsExample.php @@ -0,0 +1,71 @@ +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, + )); + } +}