mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-18 11:30:55 +01:00
Add developer UI for accessing NUX and "Overheated" query states
Summary: Ref T11773. Not committed to this implementation, but adds some "Developer" query actions to jump to the nux/overheated states without needing to know secret magic URL variables. Test Plan: {F1878984} Reviewers: chad Reviewed By: chad Maniphest Tasks: T11773 Differential Revision: https://secure.phabricator.com/D16736
This commit is contained in:
parent
1fdb8ba112
commit
c3644216bf
2 changed files with 49 additions and 3 deletions
|
@ -111,6 +111,7 @@ final class PhabricatorApplicationSearchController
|
|||
'before' => true,
|
||||
'after' => true,
|
||||
'nux' => true,
|
||||
'overheated' => true,
|
||||
);
|
||||
|
||||
foreach ($pt_data as $pt_key => $pt_value) {
|
||||
|
@ -238,7 +239,8 @@ final class PhabricatorApplicationSearchController
|
|||
$nux_view = null;
|
||||
}
|
||||
|
||||
$is_overheated = $query->getIsOverheated();
|
||||
$force_overheated = $request->getBool('overheated');
|
||||
$is_overheated = $query->getIsOverheated() || $force_overheated;
|
||||
|
||||
if ($nux_view) {
|
||||
$box->appendChild($nux_view);
|
||||
|
@ -277,13 +279,23 @@ final class PhabricatorApplicationSearchController
|
|||
$header = $result_header;
|
||||
}
|
||||
|
||||
if ($list->getActions()) {
|
||||
foreach ($list->getActions() as $action) {
|
||||
$actions = $list->getActions();
|
||||
if ($actions) {
|
||||
foreach ($actions as $action) {
|
||||
$header->addActionLink($action);
|
||||
}
|
||||
}
|
||||
|
||||
$use_actions = $engine->newUseResultsActions($saved_query);
|
||||
|
||||
// TODO: Eventually, modularize all this stuff.
|
||||
$builtin_use_actions = $this->newBuiltinUseActions();
|
||||
if ($builtin_use_actions) {
|
||||
foreach ($builtin_use_actions as $builtin_use_action) {
|
||||
$use_actions[] = $builtin_use_action;
|
||||
}
|
||||
}
|
||||
|
||||
if ($use_actions) {
|
||||
$use_dropdown = $this->newUseResultsDropdown(
|
||||
$saved_query,
|
||||
|
@ -554,4 +566,34 @@ final class PhabricatorApplicationSearchController
|
|||
));
|
||||
}
|
||||
|
||||
private function newBuiltinUseActions() {
|
||||
$actions = array();
|
||||
|
||||
$is_dev = PhabricatorEnv::getEnvConfig('phabricator.developer-mode');
|
||||
|
||||
if ($is_dev) {
|
||||
$engine = $this->getSearchEngine();
|
||||
$nux_uri = $engine->getQueryBaseURI();
|
||||
$nux_uri = id(new PhutilURI($nux_uri))
|
||||
->setQueryParam('nux', true);
|
||||
|
||||
$actions[] = id(new PhabricatorActionView())
|
||||
->setIcon('fa-bug')
|
||||
->setName(pht('Developer: Show New User State'))
|
||||
->setHref($nux_uri);
|
||||
}
|
||||
|
||||
if ($is_dev) {
|
||||
$overheated_uri = $this->getRequest()->getRequestURI()
|
||||
->setQueryParam('overheated', true);
|
||||
|
||||
$actions[] = id(new PhabricatorActionView())
|
||||
->setIcon('fa-bug')
|
||||
->setName(pht('Developer: Show Overheated State'))
|
||||
->setHref($overheated_uri);
|
||||
}
|
||||
|
||||
return $actions;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -406,6 +406,10 @@ abstract class PhabricatorApplicationSearchEngine extends Phobject {
|
|||
return $this->getURI('query/edit/');
|
||||
}
|
||||
|
||||
public function getQueryBaseURI() {
|
||||
return $this->getURI('');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the URI to a path within the application. Used to construct default
|
||||
|
|
Loading…
Reference in a new issue