@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.

Basic touchups to Phortune UI

Summary: This is just a quick pass to fix a few bugs and spacing issues, Phortune itself could probably use some more custom UI, but that'll require some thought and abstraction. This also adds a new taller table CSS, which I mayyyy make automatic on tables with few rows, we'll see.

Test Plan: Browsed my Phortune account, tested new spacing on `admin` for 'full effect'

Reviewers: epriestley, btrahan

Reviewed By: btrahan

Subscribers: Korvin, epriestley

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

+39 -7
+3 -3
resources/celerity/map.php
··· 7 7 */ 8 8 return array( 9 9 'names' => array( 10 - 'core.pkg.css' => 'eca3f2e7', 10 + 'core.pkg.css' => 'f4d1cd07', 11 11 'core.pkg.js' => '75599122', 12 12 'darkconsole.pkg.js' => '8ab24e01', 13 13 'differential.pkg.css' => '5a0b221c', ··· 26 26 'rsrc/css/aphront/pager-view.css' => '2e3539af', 27 27 'rsrc/css/aphront/panel-view.css' => '8427b78d', 28 28 'rsrc/css/aphront/phabricator-nav-view.css' => '7aeaf435', 29 - 'rsrc/css/aphront/table-view.css' => 'b22b7216', 29 + 'rsrc/css/aphront/table-view.css' => '3e77fefe', 30 30 'rsrc/css/aphront/tokenizer.css' => '82ce2142', 31 31 'rsrc/css/aphront/tooltip.css' => '4099b97e', 32 32 'rsrc/css/aphront/transaction.css' => '042fc4bb', ··· 504 504 'aphront-multi-column-view-css' => 'fd18389d', 505 505 'aphront-pager-view-css' => '2e3539af', 506 506 'aphront-panel-view-css' => '8427b78d', 507 - 'aphront-table-view-css' => 'b22b7216', 507 + 'aphront-table-view-css' => '3e77fefe', 508 508 'aphront-tokenizer-control-css' => '82ce2142', 509 509 'aphront-tooltip-css' => '4099b97e', 510 510 'aphront-two-column-view-css' => '16ab3ad2',
+5
src/applications/phortune/controller/PhortuneAccountListController.php
··· 27 27 $crumbs->addTextCrumb(pht('Accounts')); 28 28 29 29 $payment_list = id(new PHUIObjectItemListView()) 30 + ->setStackable(true) 30 31 ->setUser($viewer) 31 32 ->setNoDataString( 32 33 pht( ··· 34 35 'accounts are used to make purchases.')); 35 36 36 37 foreach ($accounts as $account) { 38 + $this->loadHandles($account->getMemberPHIDs()); 39 + $members = $this->renderHandlesForPHIDs($account->getMemberPHIDs(), ','); 37 40 $item = id(new PHUIObjectItemView()) 38 41 ->setObjectName(pht('Account %d', $account->getID())) 39 42 ->setHeader($account->getName()) 40 43 ->setHref($this->getApplicationURI($account->getID().'/')) 44 + ->addAttribute(pht('Members: %s', $members)) 41 45 ->setObject($account); 42 46 43 47 $payment_list->addItem($item); ··· 59 63 ->appendChild($payment_list); 60 64 61 65 $merchant_list = id(new PHUIObjectItemListView()) 66 + ->setStackable(true) 62 67 ->setUser($viewer) 63 68 ->setNoDataString( 64 69 pht(
+1
src/applications/phortune/controller/PhortuneMerchantViewController.php
··· 210 210 PhabricatorPolicyCapability::CAN_EDIT); 211 211 212 212 $provider_list = id(new PHUIObjectItemListView()) 213 + ->setFlush(true) 213 214 ->setNoDataString(pht('This merchant has no payment providers.')); 214 215 215 216 foreach ($providers as $provider_config) {
+1
src/applications/phortune/view/PhortuneChargeTableView.php
··· 55 55 } 56 56 57 57 $table = id(new AphrontTableView($rows)) 58 + ->setTallTable(true) 58 59 ->setHeaders( 59 60 array( 60 61 pht('ID'),
+1
src/applications/phortune/view/PhortuneOrderTableView.php
··· 125 125 } 126 126 127 127 $table = id(new AphrontTableView($rows)) 128 + ->setTallTable(true) 128 129 ->setNoDataString($this->getNoDataString()) 129 130 ->setRowClasses($rowc) 130 131 ->setHeaders(
+1
src/applications/phortune/view/PhortuneSubscriptionTableView.php
··· 61 61 } 62 62 63 63 $table = id(new AphrontTableView($rows)) 64 + ->setTallTable(true) 64 65 ->setHeaders( 65 66 array( 66 67 pht('ID'),
+18 -4
src/view/control/AphrontTableView.php
··· 11 11 protected $zebraStripes = true; 12 12 protected $noDataString; 13 13 protected $className; 14 + protected $tallTable; 14 15 protected $columnVisibility = array(); 15 16 private $deviceVisibility = array(); 16 17 ··· 72 73 73 74 public function setDeviceReadyTable($ready) { 74 75 $this->deviceReadyTable = $ready; 76 + return $this; 77 + } 78 + 79 + public function setTallTable($tall) { 80 + $this->tallTable = $tall; 75 81 return $this; 76 82 } 77 83 ··· 284 290 coalesce($this->noDataString, pht('No data available.')))); 285 291 } 286 292 287 - $table_class = 'aphront-table-view'; 293 + $classes = array(); 294 + $classes[] = 'aphront-table-view'; 288 295 if ($this->className !== null) { 289 - $table_class .= ' '.$this->className; 296 + $classes[] = $this->className; 297 + } 298 + if ($this->tallTable) { 299 + $classes[] = 'aphront-tall-table-view'; 290 300 } 291 301 if ($this->deviceReadyTable) { 292 - $table_class .= ' aphront-table-view-device-ready'; 302 + $classes[] = 'aphront-table-view-device-ready'; 293 303 } 294 304 295 - $html = phutil_tag('table', array('class' => $table_class), $table); 305 + $html = phutil_tag( 306 + 'table', 307 + array( 308 + 'class' => implode(' ', $classes),), 309 + $table); 296 310 return phutil_tag_div('aphront-table-wrap', $html); 297 311 } 298 312
+9
webroot/rsrc/css/aphront/table-view.css
··· 99 99 font-size: 13px; 100 100 } 101 101 102 + .aphront-table-view.aphront-tall-table-view th { 103 + padding: 10px 10px; 104 + } 105 + 102 106 .aphront-table-view td { 103 107 padding: 6px 10px; 104 108 font-size: 12px; 109 + } 110 + 111 + .aphront-table-view.aphront-tall-table-view td { 112 + padding: 8px 10px; 105 113 } 106 114 107 115 .device-tablet .aphront-table-view td, ··· 152 160 width: 100%; 153 161 } 154 162 163 + .aphront-table-view th.right, 155 164 .aphront-table-view td.right { 156 165 text-align: right; 157 166 }