[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * NOTE: you probably want {@class:ArcanistDifferentialRevisionStatus}. 5 * This class just contains a mapping for color within the Differential 6 * application. 7 */ 8 9 final class DifferentialRevisionStatus { 10 11 const COLOR_STATUS_DEFAULT = 'status'; 12 const COLOR_STATUS_DARK = 'status-dark'; 13 const COLOR_STATUS_GREEN = 'status-green'; 14 const COLOR_STATUS_RED = 'status-red'; 15 16 public static function getRevisionStatusColor($status) { 17 $default = self::COLOR_STATUS_DEFAULT; 18 19 $map = array( 20 ArcanistDifferentialRevisionStatus::NEEDS_REVIEW => 21 self::COLOR_STATUS_DEFAULT, 22 ArcanistDifferentialRevisionStatus::NEEDS_REVISION => 23 self::COLOR_STATUS_RED, 24 ArcanistDifferentialRevisionStatus::CHANGES_PLANNED => 25 self::COLOR_STATUS_RED, 26 ArcanistDifferentialRevisionStatus::ACCEPTED => 27 self::COLOR_STATUS_GREEN, 28 ArcanistDifferentialRevisionStatus::CLOSED => 29 self::COLOR_STATUS_DARK, 30 ArcanistDifferentialRevisionStatus::ABANDONED => 31 self::COLOR_STATUS_DARK, 32 ArcanistDifferentialRevisionStatus::IN_PREPARATION => 33 self::COLOR_STATUS_DARK, 34 ); 35 return idx($map, $status, $default); 36 } 37 38 public static function getRevisionStatusIcon($status) { 39 $default = 'fa-square-o bluegrey'; 40 41 $map = array( 42 ArcanistDifferentialRevisionStatus::NEEDS_REVIEW => 43 'fa-square-o bluegrey', 44 ArcanistDifferentialRevisionStatus::NEEDS_REVISION => 45 'fa-square-o red', 46 ArcanistDifferentialRevisionStatus::CHANGES_PLANNED => 47 'fa-square-o red', 48 ArcanistDifferentialRevisionStatus::ACCEPTED => 49 'fa-square-o green', 50 ArcanistDifferentialRevisionStatus::CLOSED => 51 'fa-check-square-o', 52 ArcanistDifferentialRevisionStatus::ABANDONED => 53 'fa-check-square-o', 54 ArcanistDifferentialRevisionStatus::IN_PREPARATION => 55 'fa-question-circle blue', 56 ); 57 return idx($map, $status, $default); 58 } 59 60 public static function renderFullDescription($status) { 61 $color = self::getRevisionStatusColor($status); 62 $status_name = 63 ArcanistDifferentialRevisionStatus::getNameForRevisionStatus($status); 64 65 $img = id(new PHUIIconView()) 66 ->setIconFont(self::getRevisionStatusIcon($status)); 67 68 $tag = phutil_tag( 69 'span', 70 array( 71 'class' => 'phui-header-'.$color.' plr', 72 ), 73 array( 74 $img, 75 $status_name, 76 )); 77 78 return $tag; 79 } 80 81 public static function getClosedStatuses() { 82 $statuses = array( 83 ArcanistDifferentialRevisionStatus::CLOSED, 84 ArcanistDifferentialRevisionStatus::ABANDONED, 85 ); 86 87 if (PhabricatorEnv::getEnvConfig('differential.close-on-accept')) { 88 $statuses[] = ArcanistDifferentialRevisionStatus::ACCEPTED; 89 } 90 91 return $statuses; 92 } 93 94 public static function getOpenStatuses() { 95 return array_diff(self::getAllStatuses(), self::getClosedStatuses()); 96 } 97 98 public static function getAllStatuses() { 99 return array( 100 ArcanistDifferentialRevisionStatus::NEEDS_REVIEW, 101 ArcanistDifferentialRevisionStatus::NEEDS_REVISION, 102 ArcanistDifferentialRevisionStatus::CHANGES_PLANNED, 103 ArcanistDifferentialRevisionStatus::ACCEPTED, 104 ArcanistDifferentialRevisionStatus::CLOSED, 105 ArcanistDifferentialRevisionStatus::ABANDONED, 106 ArcanistDifferentialRevisionStatus::IN_PREPARATION, 107 ); 108 } 109 110 public static function isClosedStatus($status) { 111 return in_array($status, self::getClosedStatuses()); 112 } 113 114 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |