Changeset View
Changeset View
Standalone View
Standalone View
src/applications/chronicle/query/ChronicleTriggerSearchEngine.php
- This file was added.
<?php | |||||
final class ChronicleTriggerSearchEngine | |||||
extends PhabricatorApplicationSearchEngine { | |||||
public function getApplicationClassName() { | |||||
return 'PhabricatorApplicationChronicle'; | |||||
} | |||||
public function getResultTypeDescription() { | |||||
return pht('Chronicle Triggers'); | |||||
} | |||||
public function buildSavedQueryFromRequest(AphrontRequest $request) { | |||||
$saved = new PhabricatorSavedQuery(); | |||||
return $saved; | |||||
} | |||||
public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { | |||||
$query = id(new ChronicleTriggerQuery()); | |||||
return $query; | |||||
} | |||||
public function buildSearchForm( | |||||
AphrontFormView $form, | |||||
PhabricatorSavedQuery $saved_query) { | |||||
// TODO | |||||
} | |||||
protected function getURI($path) { | |||||
return '/chronicle/'.$path; | |||||
} | |||||
public function getBuiltinQueryNames() { | |||||
$names = array( | |||||
'all' => pht('All Triggers'), | |||||
); | |||||
return $names; | |||||
} | |||||
public function buildSavedQueryFromBuiltin($query_key) { | |||||
$query = $this->newSavedQuery(); | |||||
$query->setQueryKey($query_key); | |||||
switch ($query_key) { | |||||
case 'all': | |||||
return $query; | |||||
} | |||||
return parent::buildSavedQueryFromBuiltin($query_key); | |||||
} | |||||
protected function renderResultList( | |||||
array $triggers, | |||||
PhabricatorSavedQuery $query, | |||||
array $handles) { | |||||
assert_instances_of($triggers, 'ChronicleTrigger'); | |||||
$viewer = $this->requireViewer(); | |||||
$list = new PHUIObjectItemListView(); | |||||
foreach ($triggers as $trigger) { | |||||
$id = $trigger->getID(); | |||||
$item = id(new PHUIObjectItemView()) | |||||
->setObjectName(pht('Trigger %d', $id)) | |||||
->setHeader($trigger->getName()); | |||||
if ($id) { | |||||
$item->setHref("/chronicle/trigger/{$id}/"); | |||||
} | |||||
$list->addItem($item); | |||||
} | |||||
return $list; | |||||
} | |||||
} |