From ab0f09d115f3fee7d3dcdea8370781b07eb3c403 Mon Sep 17 00:00:00 2001 From: epriestley Date: Thu, 28 Jul 2011 21:32:11 -0700 Subject: [PATCH] Style tweaks for Conduit API console Summary: - Use pretty JSON formatter for human-readable Conduit output - Fix some whitespace issues with format/layout. Test Plan: - Looked at conduit console. - Looked at human-readable output of several calls. Reviewed By: codeblock Reviewers: codeblock, jungejason, tuomaspelkonen, aran CC: aran, codeblock Differential Revision: 740 --- .../api/PhabricatorConduitAPIController.php | 20 ++++++++++++++++--- .../conduit/controller/api/__init__.php | 1 + .../PhabricatorConduitConsoleController.php | 6 ++---- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/applications/conduit/controller/api/PhabricatorConduitAPIController.php b/src/applications/conduit/controller/api/PhabricatorConduitAPIController.php index cad7fa289c..887a1e685e 100644 --- a/src/applications/conduit/controller/api/PhabricatorConduitAPIController.php +++ b/src/applications/conduit/controller/api/PhabricatorConduitAPIController.php @@ -236,12 +236,12 @@ class PhabricatorConduitAPIController $result = null) { $param_rows = array(); - $param_rows[] = array('Method', phutil_escape_html($method)); + $param_rows[] = array('Method', $this->renderAPIValue($method)); if ($request) { foreach ($request->getAllParameters() as $key => $value) { $param_rows[] = array( phutil_escape_html($key), - phutil_escape_html(json_encode($value)), + $this->renderAPIValue($value), ); } } @@ -257,7 +257,7 @@ class PhabricatorConduitAPIController foreach ($result as $key => $value) { $result_rows[] = array( phutil_escape_html($key), - phutil_escape_html(json_encode($value)), + $this->renderAPIValue($value), ); } @@ -286,4 +286,18 @@ class PhabricatorConduitAPIController )); } + private function renderAPIValue($value) { + $json = new PhutilJSON(); + if (is_array($value)) { + $value = $json->encodeFormatted($value); + $value = phutil_escape_html($value); + } else { + $value = phutil_escape_html($value); + } + + $value = '
'.$value.'
'; + + return $value; + } + } diff --git a/src/applications/conduit/controller/api/__init__.php b/src/applications/conduit/controller/api/__init__.php index 14eeb227e2..efb0757303 100644 --- a/src/applications/conduit/controller/api/__init__.php +++ b/src/applications/conduit/controller/api/__init__.php @@ -17,6 +17,7 @@ phutil_require_module('phabricator', 'view/control/table'); phutil_require_module('phabricator', 'view/layout/panel'); phutil_require_module('phutil', 'markup'); +phutil_require_module('phutil', 'parser/json'); phutil_require_module('phutil', 'utils'); diff --git a/src/applications/conduit/controller/console/PhabricatorConduitConsoleController.php b/src/applications/conduit/controller/console/PhabricatorConduitConsoleController.php index d0a2608b59..d7e2c4fc79 100644 --- a/src/applications/conduit/controller/console/PhabricatorConduitConsoleController.php +++ b/src/applications/conduit/controller/console/PhabricatorConduitConsoleController.php @@ -106,7 +106,7 @@ class PhabricatorConduitConsoleController $panel = new AphrontPanelView(); $panel->setHeader('Conduit API: '.phutil_escape_html($this->method)); $panel->appendChild($form); - $panel->setWidth(AphrontPanelView::WIDTH_WIDE); + $panel->setWidth(AphrontPanelView::WIDTH_FULL); $view = new AphrontSideNavView(); foreach ($this->buildNavItems() as $item) { @@ -154,9 +154,7 @@ class PhabricatorConduitConsoleController 'class' => $selected ? 'aphront-side-nav-selected' : null, 'href' => '/conduit/method/'.$method_name, ), - ''. - phutil_escape_html($method_name). - ''); + phutil_escape_html($method_name)); } $items[] = '
'; }