File tree Expand file tree Collapse file tree 3 files changed +47
-8
lines changed
differential/field/specification Expand file tree Collapse file tree 3 files changed +47
-8
lines changed Original file line number Diff line number Diff line change 621621 'DoorkeeperRemarkupRule ' => 'applications/doorkeeper/remarkup/DoorkeeperRemarkupRule.php ' ,
622622 'DoorkeeperRemarkupRuleAsana ' => 'applications/doorkeeper/remarkup/DoorkeeperRemarkupRuleAsana.php ' ,
623623 'DoorkeeperRemarkupRuleJIRA ' => 'applications/doorkeeper/remarkup/DoorkeeperRemarkupRuleJIRA.php ' ,
624+ 'DoorkeeperTagView ' => 'applications/doorkeeper/view/DoorkeeperTagView.php ' ,
624625 'DoorkeeperTagsController ' => 'applications/doorkeeper/controller/DoorkeeperTagsController.php ' ,
625626 'DrydockAllocatorWorker ' => 'applications/drydock/worker/DrydockAllocatorWorker.php ' ,
626627 'DrydockApacheWebrootInterface ' => 'applications/drydock/interface/webroot/DrydockApacheWebrootInterface.php ' ,
29442945 'DoorkeeperRemarkupRule ' => 'PhutilRemarkupRule ' ,
29452946 'DoorkeeperRemarkupRuleAsana ' => 'DoorkeeperRemarkupRule ' ,
29462947 'DoorkeeperRemarkupRuleJIRA ' => 'DoorkeeperRemarkupRule ' ,
2948+ 'DoorkeeperTagView ' => 'AphrontView ' ,
29472949 'DoorkeeperTagsController ' => 'PhabricatorController ' ,
29482950 'DrydockAllocatorWorker ' => 'PhabricatorWorker ' ,
29492951 'DrydockApacheWebrootInterface ' => 'DrydockWebrootInterface ' ,
Original file line number Diff line number Diff line change @@ -58,16 +58,11 @@ public function renderValueForRevisionView() {
5858
5959 $ links = array ();
6060 foreach ($ xobjs as $ xobj ) {
61- $ links [] = phutil_tag (
62- 'a ' ,
63- array (
64- 'href ' => $ xobj ->getObjectURI (),
65- 'target ' => '_blank ' ,
66- ),
67- $ xobj ->getObjectID ());
61+ $ links [] = id (new DoorkeeperTagView ())
62+ ->setExternalObject ($ xobj );
6863 }
6964
70- return phutil_implode_html (' , ' , $ links );
65+ return phutil_implode_html (phutil_tag ( ' br ' ) , $ links );
7166 }
7267
7368 public function shouldAppearOnConduitView () {
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ final class DoorkeeperTagView extends AphrontView {
4+
5+ private $ xobj ;
6+
7+ public function setExternalObject (DoorkeeperExternalObject $ xobj ) {
8+ $ this ->xobj = $ xobj ;
9+ return $ this ;
10+ }
11+
12+ public function render () {
13+ $ xobj = $ this ->xobj ;
14+ if (!$ xobj ) {
15+ throw new Exception ('Call setExternalObject() before render()! ' );
16+ }
17+
18+ $ tag_id = celerity_generate_unique_node_id ();
19+
20+ $ href = $ xobj ->getObjectURI ();
21+
22+ $ spec = array (
23+ 'id ' => $ tag_id ,
24+ 'ref ' => array (
25+ $ xobj ->getApplicationType (),
26+ $ xobj ->getApplicationDomain (),
27+ $ xobj ->getObjectType (),
28+ $ xobj ->getObjectID (),
29+ ),
30+ );
31+
32+ Javelin::initBehavior ('doorkeeper-tag ' , array ('tags ' => array ($ spec )));
33+
34+ return id (new PhabricatorTagView ())
35+ ->setID ($ tag_id )
36+ ->setHref ($ href )
37+ ->setName ($ href )
38+ ->setType (PhabricatorTagView::TYPE_OBJECT )
39+ ->setExternal (true );
40+ }
41+
42+ }
You can’t perform that action at this time.
0 commit comments