@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add a "Subtype" tag to the task graph view in Maniphest

Summary: See PHI1466. When an install defines task subtypes, show them on the task graph.

Test Plan:
- On desktop with subtypes defined, column is visible.
- On desktop with subtypes not defined, column is hidden.
- On mobile, column is hidden.

{F6896845}

Differential Revision: https://secure.phabricator.com/D20842

+23
+23
src/infrastructure/graph/ManiphestTaskGraph.php
··· 84 84 ' ', 85 85 $link, 86 86 ); 87 + 88 + $subtype_tag = null; 89 + 90 + $subtype = $object->newSubtypeObject(); 91 + if ($subtype && $subtype->hasTagView()) { 92 + $subtype_tag = $subtype->newTagView() 93 + ->setSlimShady(true); 94 + } 87 95 } else { 88 96 $status = null; 89 97 $assigned = null; 98 + $subtype_tag = null; 90 99 $link = $viewer->renderHandle($phid); 91 100 } 92 101 ··· 115 124 $marker, 116 125 $trace, 117 126 $status, 127 + $subtype_tag, 118 128 $assigned, 119 129 $link, 120 130 ); 121 131 } 122 132 123 133 protected function newTable(AphrontTableView $table) { 134 + $subtype_map = id(new ManiphestTask())->newEditEngineSubtypeMap(); 135 + $has_subtypes = ($subtype_map->getCount() > 1); 136 + 124 137 return $table 125 138 ->setHeaders( 126 139 array( 127 140 null, 128 141 null, 129 142 pht('Status'), 143 + pht('Subtype'), 130 144 pht('Assigned'), 131 145 pht('Task'), 132 146 )) ··· 135 149 'nudgeright', 136 150 'threads', 137 151 'graph-status', 152 + null, 138 153 null, 139 154 'wide pri object-link', 140 155 )) ··· 142 157 array( 143 158 true, 144 159 !$this->getRenderOnlyAdjacentNodes(), 160 + true, 161 + $has_subtypes, 145 162 )) 146 163 ->setDeviceVisibility( 147 164 array( ··· 150 167 // On mobile, we only show the actual graph drawing if we're on the 151 168 // standalone page, since it can take over the screen otherwise. 152 169 $this->getIsStandalone(), 170 + true, 171 + 172 + // On mobile, don't show subtypes since they're relatively less 173 + // important and we're more pressured for space. 174 + false, 153 175 )); 154 176 } 155 177 ··· 176 198 177 199 protected function newEllipsisRow() { 178 200 return array( 201 + null, 179 202 null, 180 203 null, 181 204 null,