Differential D13589 Diff 33531 src/applications/dashboard/customfield/PhabricatorDashboardPanelSearchQueryCustomField.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/dashboard/customfield/PhabricatorDashboardPanelSearchQueryCustomField.php
<?php | <?php | ||||
final class PhabricatorDashboardPanelSearchQueryCustomField | final class PhabricatorDashboardPanelSearchQueryCustomField | ||||
extends PhabricatorStandardCustomField { | extends PhabricatorStandardCustomField { | ||||
public function getFieldType() { | public function getFieldType() { | ||||
return 'search.query'; | return 'search.query'; | ||||
} | } | ||||
public function shouldAppearInApplicationSearch() { | public function shouldAppearInApplicationSearch() { | ||||
return false; | return false; | ||||
} | } | ||||
public function renderEditControl(array $handles) { | public function renderEditControl(array $handles) { | ||||
$engines = id(new PhutilClassMapQuery()) | |||||
$engines = id(new PhutilSymbolLoader()) | |||||
->setAncestorClass('PhabricatorApplicationSearchEngine') | ->setAncestorClass('PhabricatorApplicationSearchEngine') | ||||
->loadObjects(); | ->setFilterMethod('canUseInPanelContext') | ||||
$engines = mfilter($engines, 'canUseInPanelContext'); | ->execute(); | ||||
$value = $this->getFieldValue(); | $value = $this->getFieldValue(); | ||||
$queries = array(); | $queries = array(); | ||||
$seen = false; | $seen = false; | ||||
foreach ($engines as $engine_class => $engine) { | foreach ($engines as $engine_class => $engine) { | ||||
$engine->setViewer($this->getViewer()); | $engine->setViewer($this->getViewer()); | ||||
$engine_queries = $engine->loadEnabledNamedQueries(); | $engine_queries = $engine->loadEnabledNamedQueries(); | ||||
▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines |