1
0
Fork 0
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:
epriestley 2016-10-20 09:09:34 -07:00
parent 1fdb8ba112
commit c3644216bf
2 changed files with 49 additions and 3 deletions

View file

@ -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;
}
}

View file

@ -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