[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/almanac/query/ -> AlmanacDeviceSearchEngine.php (source)

   1  <?php
   2  
   3  final class AlmanacDeviceSearchEngine
   4    extends PhabricatorApplicationSearchEngine {
   5  
   6    public function getResultTypeDescription() {
   7      return pht('Almanac Devices');
   8    }
   9  
  10    protected function getApplicationClassName() {
  11      return 'PhabricatorAlmanacApplication';
  12    }
  13  
  14    public function buildSavedQueryFromRequest(AphrontRequest $request) {
  15      $saved = new PhabricatorSavedQuery();
  16  
  17      return $saved;
  18    }
  19  
  20    public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) {
  21      $query = id(new AlmanacDeviceQuery());
  22  
  23      return $query;
  24    }
  25  
  26    public function buildSearchForm(
  27      AphrontFormView $form,
  28      PhabricatorSavedQuery $saved_query) {}
  29  
  30    protected function getURI($path) {
  31      return '/almanac/device/'.$path;
  32    }
  33  
  34    public function getBuiltinQueryNames() {
  35      $names = array(
  36        'all' => pht('All Devices'),
  37      );
  38  
  39      return $names;
  40    }
  41  
  42    public function buildSavedQueryFromBuiltin($query_key) {
  43  
  44      $query = $this->newSavedQuery();
  45      $query->setQueryKey($query_key);
  46  
  47      switch ($query_key) {
  48        case 'all':
  49          return $query;
  50      }
  51  
  52      return parent::buildSavedQueryFromBuiltin($query_key);
  53    }
  54  
  55    protected function getRequiredHandlePHIDsForResultList(
  56      array $devices,
  57      PhabricatorSavedQuery $query) {
  58      return array();
  59    }
  60  
  61    protected function renderResultList(
  62      array $devices,
  63      PhabricatorSavedQuery $query,
  64      array $handles) {
  65      assert_instances_of($devices, 'AlmanacDevice');
  66  
  67      $viewer = $this->requireViewer();
  68  
  69      $list = new PHUIObjectItemListView();
  70      $list->setUser($viewer);
  71      foreach ($devices as $device) {
  72        $item = id(new PHUIObjectItemView())
  73          ->setObjectName(pht('Device %d', $device->getID()))
  74          ->setHeader($device->getName())
  75          ->setHref($device->getURI())
  76          ->setObject($device);
  77  
  78        $list->addItem($item);
  79      }
  80  
  81      return $list;
  82    }
  83  
  84  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1