PageRenderTime 61ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/src/applications/uiexample/examples/PhabricatorActionHeaderExample.php

https://github.com/navyuginfo/phabricator
PHP | 258 lines | 203 code | 51 blank | 4 comment | 0 complexity | 53d16c78adc0c36ed873afe90eedef8a MD5 | raw file
Possible License(s): Apache-2.0, LGPL-2.0, LGPL-3.0, MIT, MPL-2.0-no-copyleft-exception, BSD-3-Clause
  1. <?php
  2. final class PhabricatorActionHeaderExample extends PhabricatorUIExample {
  3. public function getName() {
  4. return 'Action Headers';
  5. }
  6. public function getDescription() {
  7. return 'Various header layouts with and without icons';
  8. }
  9. public function renderExample() {
  10. /* Colors */
  11. $title1 = id(new PHUIHeaderView())
  12. ->setHeader(pht('Header Plain'));
  13. $header1 = id(new PhabricatorActionHeaderView())
  14. ->setHeaderTitle('Colorless');
  15. $header2 = id(new PhabricatorActionHeaderView())
  16. ->setHeaderTitle('Light Grey')
  17. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_GREY);
  18. $header3 = id(new PhabricatorActionHeaderView())
  19. ->setHeaderTitle('Blue')
  20. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_BLUE);
  21. $header4 = id(new PhabricatorActionHeaderView())
  22. ->setHeaderTitle('Green')
  23. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_GREEN);
  24. $header5 = id(new PhabricatorActionHeaderView())
  25. ->setHeaderTitle('Red')
  26. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_RED);
  27. $header6 = id(new PhabricatorActionHeaderView())
  28. ->setHeaderTitle('Yellow')
  29. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_YELLOW);
  30. $layout1 = id(new AphrontMultiColumnView())
  31. ->addColumn($header1)
  32. ->addColumn($header2)
  33. ->addColumn($header3)
  34. ->addColumn($header4)
  35. ->addColumn($header5)
  36. ->addColumn($header6)
  37. ->setFluidLayout(true)
  38. ->setGutter(AphrontMultiColumnView::GUTTER_SMALL);
  39. $wrap1 = id(new PHUIBoxView())
  40. ->appendChild($layout1)
  41. ->addMargin(PHUI::MARGIN_LARGE);
  42. /* Policy Icons */
  43. $title2 = id(new PHUIHeaderView())
  44. ->setHeader(pht('With Policy Icons'));
  45. $header1 = id(new PhabricatorActionHeaderView())
  46. ->setHeaderTitle('Company')
  47. ->setHeaderIcon('company-dark');
  48. $header2 = id(new PhabricatorActionHeaderView())
  49. ->setHeaderTitle('Public')
  50. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_GREY)
  51. ->setHeaderIcon('public-dark');
  52. $header3 = id(new PhabricatorActionHeaderView())
  53. ->setHeaderTitle('Restricted')
  54. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_BLUE)
  55. ->setHeaderIcon('restricted-white');
  56. $header4 = id(new PhabricatorActionHeaderView())
  57. ->setHeaderTitle('Company')
  58. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_GREEN)
  59. ->setHeaderIcon('company-white');
  60. $header5 = id(new PhabricatorActionHeaderView())
  61. ->setHeaderTitle('Public')
  62. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_RED)
  63. ->setHeaderIcon('public-white');
  64. $header6 = id(new PhabricatorActionHeaderView())
  65. ->setHeaderTitle('Restricted')
  66. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_YELLOW)
  67. ->setHeaderIcon('restriced-white');
  68. $layout2 = id(new AphrontMultiColumnView())
  69. ->addColumn($header1)
  70. ->addColumn($header2)
  71. ->addColumn($header3)
  72. ->addColumn($header4)
  73. ->addColumn($header5)
  74. ->addColumn($header6)
  75. ->setFluidLayout(true)
  76. ->setGutter(AphrontMultiColumnView::GUTTER_SMALL);
  77. $wrap2 = id(new PHUIBoxView())
  78. ->appendChild($layout2)
  79. ->addMargin(PHUI::MARGIN_LARGE);
  80. /* Action Icons */
  81. $title3 = id(new PHUIHeaderView())
  82. ->setHeader(pht('With Action Icons'));
  83. $action1 = new PHUIIconView();
  84. $action1->setIconFont('fa-cog');
  85. $action1->setHref('#');
  86. $action2 = new PHUIIconView();
  87. $action1->setIconFont('fa-heart');
  88. $action2->setHref('#');
  89. $action3 = new PHUIIconView();
  90. $action1->setIconFont('fa-tag');
  91. $action3->setHref('#');
  92. $action4 = new PHUIIconView();
  93. $action4->setIconFont('fa-plus');
  94. $action4->setHref('#');
  95. $action5 = new PHUIIconView();
  96. $action5->setIconFont('fa-search');
  97. $action5->setHref('#');
  98. $action6 = new PHUIIconView();
  99. $action6->setIconFont('fa-arrows');
  100. $action6->setHref('#');
  101. $header1 = id(new PhabricatorActionHeaderView())
  102. ->setHeaderTitle('Company')
  103. ->setHeaderHref('http://example.com/')
  104. ->addAction($action1);
  105. $header2 = id(new PhabricatorActionHeaderView())
  106. ->setHeaderTitle('Public')
  107. ->setHeaderHref('http://example.com/')
  108. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_GREY)
  109. ->addAction($action1);
  110. $header3 = id(new PhabricatorActionHeaderView())
  111. ->setHeaderTitle('Restricted')
  112. ->setHeaderHref('http://example.com/')
  113. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_BLUE)
  114. ->addAction($action2);
  115. $header4 = id(new PhabricatorActionHeaderView())
  116. ->setHeaderTitle('Company')
  117. ->setHeaderHref('http://example.com/')
  118. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_GREEN)
  119. ->addAction($action3);
  120. $header5 = id(new PhabricatorActionHeaderView())
  121. ->setHeaderTitle('Public')
  122. ->setHeaderHref('http://example.com/')
  123. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_RED)
  124. ->addAction($action4)
  125. ->addAction($action5);
  126. $header6 = id(new PhabricatorActionHeaderView())
  127. ->setHeaderTitle('Restricted')
  128. ->setHeaderHref('http://example.com/')
  129. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_YELLOW)
  130. ->addAction($action6);
  131. $layout3 = id(new AphrontMultiColumnView())
  132. ->addColumn($header1)
  133. ->addColumn($header2)
  134. ->addColumn($header3)
  135. ->addColumn($header4)
  136. ->addColumn($header5)
  137. ->addColumn($header6)
  138. ->setFluidLayout(true)
  139. ->setGutter(AphrontMultiColumnView::GUTTER_SMALL);
  140. $wrap3 = id(new PHUIBoxView())
  141. ->appendChild($layout3)
  142. ->addMargin(PHUI::MARGIN_LARGE);
  143. /* Action Icons */
  144. $title4 = id(new PHUIHeaderView())
  145. ->setHeader(pht('With Tags'));
  146. $tag1 = id(new PHUITagView())
  147. ->setType(PHUITagView::TYPE_STATE)
  148. ->setBackgroundColor(PHUITagView::COLOR_RED)
  149. ->setName('Open');
  150. $tag2 = id(new PHUITagView())
  151. ->setType(PHUITagView::TYPE_STATE)
  152. ->setBackgroundColor(PHUITagView::COLOR_BLUE)
  153. ->setName('Closed');
  154. $action1 = new PHUIIconView();
  155. $action1->setIconFont('fa-flag');
  156. $action1->setHref('#');
  157. $header1 = id(new PhabricatorActionHeaderView())
  158. ->setHeaderTitle('Company')
  159. ->setTag($tag2);
  160. $header2 = id(new PhabricatorActionHeaderView())
  161. ->setHeaderTitle('Public')
  162. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_GREY)
  163. ->addAction($action1)
  164. ->setTag($tag1);
  165. $header3 = id(new PhabricatorActionHeaderView())
  166. ->setHeaderTitle('Restricted')
  167. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_BLUE)
  168. ->setTag($tag2);
  169. $header4 = id(new PhabricatorActionHeaderView())
  170. ->setHeaderTitle('Company')
  171. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_GREEN)
  172. ->setTag($tag1);
  173. $header5 = id(new PhabricatorActionHeaderView())
  174. ->setHeaderTitle('Public')
  175. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_RED)
  176. ->setTag($tag2);
  177. $header6 = id(new PhabricatorActionHeaderView())
  178. ->setHeaderTitle('Restricted')
  179. ->setHeaderColor(PhabricatorActionHeaderView::HEADER_YELLOW)
  180. ->setTag($tag1);
  181. $layout4 = id(new AphrontMultiColumnView())
  182. ->addColumn($header1)
  183. ->addColumn($header2)
  184. ->addColumn($header3)
  185. ->addColumn($header4)
  186. ->addColumn($header5)
  187. ->addColumn($header6)
  188. ->setFluidLayout(true)
  189. ->setGutter(AphrontMultiColumnView::GUTTER_SMALL);
  190. $wrap4 = id(new PHUIBoxView())
  191. ->appendChild($layout4)
  192. ->addMargin(PHUI::MARGIN_LARGE);
  193. return phutil_tag(
  194. 'div',
  195. array(),
  196. array(
  197. $title1,
  198. $wrap1,
  199. $title2,
  200. $wrap2,
  201. $title3,
  202. $wrap3,
  203. $title4,
  204. $wrap4
  205. ));
  206. }
  207. }