PageRenderTime 37ms CodeModel.GetById 8ms RepoModel.GetById 0ms app.codeStats 0ms

/src/applications/uiexample/examples/PHUIDocumentExample.php

https://github.com/navyuginfo/phabricator
PHP | 198 lines | 170 code | 28 blank | 0 comment | 0 complexity | 2c1c1a1e3ba68c15f08b3a391b8ca3c0 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 PHUIDocumentExample extends PhabricatorUIExample {
  3. public function getName() {
  4. return pht('Document View');
  5. }
  6. public function getDescription() {
  7. return pht('Useful for areas of large content navigation');
  8. }
  9. public function renderExample() {
  10. $request = $this->getRequest();
  11. $user = $request->getUser();
  12. $action = id(new PHUIListItemView())
  13. ->setName('Actions')
  14. ->setType(PHUIListItemView::TYPE_LABEL);
  15. $action1 = id(new PHUIListItemView())
  16. ->setName('Edit Document')
  17. ->setHref('#')
  18. ->setIcon('fa-edit')
  19. ->setType(PHUIListItemView::TYPE_LINK);
  20. $action2 = id(new PHUIListItemView())
  21. ->setName('Move Document')
  22. ->setHref('#')
  23. ->setIcon('fa-arrows')
  24. ->setType(PHUIListItemView::TYPE_LINK);
  25. $action3 = id(new PHUIListItemView())
  26. ->setName('Delete Document')
  27. ->setHref('#')
  28. ->setIcon('fa-times')
  29. ->setType(PHUIListItemView::TYPE_LINK);
  30. $action4 = id(new PHUIListItemView())
  31. ->setName('View History')
  32. ->setHref('#')
  33. ->setIcon('fa-list')
  34. ->setType(PHUIListItemView::TYPE_LINK);
  35. $action5 = id(new PHUIListItemView())
  36. ->setName('Subscribe')
  37. ->setHref('#')
  38. ->setIcon('fa-plus-circle')
  39. ->setType(PHUIListItemView::TYPE_LINK);
  40. $divider = id(new PHUIListItemView)
  41. ->setType(PHUIListItemView::TYPE_DIVIDER);
  42. $header = id(new PHUIHeaderView())
  43. ->setHeader('Installation');
  44. $label1 = id(new PHUIListItemView())
  45. ->setName('Getting Started')
  46. ->setType(PHUIListItemView::TYPE_LABEL);
  47. $label2 = id(new PHUIListItemView())
  48. ->setName('Documentation')
  49. ->setType(PHUIListItemView::TYPE_LABEL);
  50. $item1 = id(new PHUIListItemView())
  51. ->setName('Installation')
  52. ->setHref('#')
  53. ->setType(PHUIListItemView::TYPE_LINK);
  54. $item2 = id(new PHUIListItemView())
  55. ->setName('Webserver Config')
  56. ->setHref('#')
  57. ->setType(PHUIListItemView::TYPE_LINK);
  58. $item3 = id(new PHUIListItemView())
  59. ->setName('Adding Users')
  60. ->setHref('#')
  61. ->setType(PHUIListItemView::TYPE_LINK);
  62. $item4 = id(new PHUIListItemView())
  63. ->setName('Debugging')
  64. ->setHref('#')
  65. ->setType(PHUIListItemView::TYPE_LINK);
  66. $sidenav = id(new PHUIListView())
  67. ->setType(PHUIListView::SIDENAV_LIST)
  68. ->addMenuItem($action)
  69. ->addMenuItem($action1)
  70. ->addMenuItem($action2)
  71. ->addMenuItem($action3)
  72. ->addMenuItem($action4)
  73. ->addMenuItem($action5)
  74. ->addMenuItem($divider)
  75. ->addMenuItem($label1)
  76. ->addMenuItem($item1)
  77. ->addMenuItem($item2)
  78. ->addMenuItem($item3)
  79. ->addMenuItem($item4)
  80. ->addMenuItem($label2)
  81. ->addMenuItem($item2)
  82. ->addMenuItem($item3)
  83. ->addMenuItem($item4)
  84. ->addMenuItem($item1);
  85. $home = id(new PHUIListItemView())
  86. ->setIcon('home')
  87. ->setHref('#')
  88. ->setType(PHUIListItemView::TYPE_ICON);
  89. $item1 = id(new PHUIListItemView())
  90. ->setName('Installation')
  91. ->setHref('#')
  92. ->setSelected(true)
  93. ->setType(PHUIListItemView::TYPE_LINK);
  94. $item2 = id(new PHUIListItemView())
  95. ->setName('Webserver Config')
  96. ->setHref('#')
  97. ->setType(PHUIListItemView::TYPE_LINK);
  98. $item3 = id(new PHUIListItemView())
  99. ->setName('Adding Users')
  100. ->setHref('#')
  101. ->setType(PHUIListItemView::TYPE_LINK);
  102. $item4 = id(new PHUIListItemView())
  103. ->setName('Debugging')
  104. ->setHref('#')
  105. ->setType(PHUIListItemView::TYPE_LINK);
  106. $topnav = id(new PHUIListView())
  107. ->setType(PHUIListView::NAVBAR_LIST)
  108. ->addMenuItem($home)
  109. ->addMenuItem($item1)
  110. ->addMenuItem($item2)
  111. ->addMenuItem($item3)
  112. ->addMenuItem($item4);
  113. $document = hsprintf(
  114. '<p class="pl">Lorem ipsum dolor sit amet, consectetur adipisicing, '.
  115. 'sed do eiusmod tempor incididunt ut labore et dolore magna '.
  116. 'aliqua. Ut enim ad minim veniam, quis nostrud exercitation '.
  117. 'ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis '.
  118. 'aute irure dolor in reprehenderit in voluptate velit esse cillum '.
  119. 'dolore eu fugiat nulla pariatur. Excepteur sint occaecat '.
  120. 'cupidatat non proident, sunt in culpa qui officia deserunt '.
  121. 'mollit anim id est laborum.</p>'.
  122. '<p class="plr pll plb">Lorem ipsum dolor sit amet, consectetur, '.
  123. 'sed do eiusmod tempor incididunt ut labore et dolore magna '.
  124. 'aliqua. Ut enim ad minim veniam, quis nostrud exercitation '.
  125. 'ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis '.
  126. 'aute irure dolor in reprehenderit in voluptate velit esse cillum '.
  127. 'dolore eu fugiat nulla pariatur. Excepteur sint occaecat '.
  128. 'cupidatat non proident, sunt in culpa qui officia deserunt '.
  129. 'mollit anim id est laborum.</p>'.
  130. '<p class="plr pll plb">Lorem ipsum dolor sit amet, consectetur, '.
  131. 'sed do eiusmod tempor incididunt ut labore et dolore magna '.
  132. 'aliqua. Ut enim ad minim veniam, quis nostrud exercitation '.
  133. 'ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis '.
  134. 'aute irure dolor in reprehenderit in voluptate velit esse cillum '.
  135. 'dolore eu fugiat nulla pariatur. Excepteur sint occaecat '.
  136. 'cupidatat non proident, sunt in culpa qui officia deserunt '.
  137. 'mollit anim id est laborum.</p>'.
  138. '<p class="plr pll plb">Lorem ipsum dolor sit amet, consectetur, '.
  139. 'sed do eiusmod tempor incididunt ut labore et dolore magna '.
  140. 'aliqua. Ut enim ad minim veniam, quis nostrud exercitation '.
  141. 'ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis '.
  142. 'aute irure dolor in reprehenderit in voluptate velit esse cillum '.
  143. 'dolore eu fugiat nulla pariatur. Excepteur sint occaecat '.
  144. 'cupidatat non proident, sunt in culpa qui officia deserunt '.
  145. 'mollit anim id est laborum.</p>'.
  146. '<p class="plr pll plb">Lorem ipsum dolor sit amet, consectetur, '.
  147. 'sed do eiusmod tempor incididunt ut labore et dolore magna '.
  148. 'aliqua. Ut enim ad minim veniam, quis nostrud exercitation '.
  149. 'ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis '.
  150. 'aute irure dolor in reprehenderit in voluptate velit esse cillum '.
  151. 'dolore eu fugiat nulla pariatur. Excepteur sint occaecat '.
  152. 'cupidatat non proident, sunt in culpa qui officia deserunt '.
  153. 'mollit anim id est laborum.</p>'.
  154. '<p class="plr pll plb">Lorem ipsum dolor sit amet, consectetur, '.
  155. 'sed do eiusmod tempor incididunt ut labore et dolore magna '.
  156. 'aliqua. Ut enim ad minim veniam, quis nostrud exercitation '.
  157. 'ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis '.
  158. 'aute irure dolor in reprehenderit in voluptate velit esse cillum '.
  159. 'dolore eu fugiat nulla pariatur. Excepteur sint occaecat '.
  160. 'cupidatat non proident, sunt in culpa qui officia deserunt '.
  161. 'mollit anim id est laborum.</p>');
  162. $content = new PHUIDocumentView();
  163. $content->setBook('Book or Project Name', 'Article');
  164. $content->setHeader($header);
  165. $content->setTopNav($topnav);
  166. $content->setSidenav($sidenav);
  167. $content->appendChild($document);
  168. return $content;
  169. }
  170. }