Page MenuHomePhabricator

D18196.id43771.diff
No OneTemporary

D18196.id43771.diff

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 @@
+<?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,
+ ));
+ }
+}

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 17, 8:31 AM (6 d, 23 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7699239
Default Alt Text
D18196.id43771.diff (3 KB)

Event Timeline