mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-21 13:00:56 +01:00
Hide lint and unit error details
Summary: Before: {F10754} After: {F10753} Test Plan: View revision with lint warnings and unit errors. Click on Details. Click on Details. Click on Details. Click on Details. Reviewers: asukhachev, epriestley Reviewed By: epriestley CC: aran, Koolvin Differential Revision: https://secure.phabricator.com/D2351
This commit is contained in:
parent
4f9e5323ed
commit
4cc61687aa
6 changed files with 93 additions and 2 deletions
|
@ -987,6 +987,18 @@ celerity_register_resource_map(array(
|
||||||
),
|
),
|
||||||
'disk' => '/rsrc/js/application/differential/behavior-show-all-comments.js',
|
'disk' => '/rsrc/js/application/differential/behavior-show-all-comments.js',
|
||||||
),
|
),
|
||||||
|
'javelin-behavior-differential-show-field-details' =>
|
||||||
|
array(
|
||||||
|
'uri' => '/res/1dfd4d10/rsrc/js/application/differential/behavior-show-field-details.js',
|
||||||
|
'type' => 'js',
|
||||||
|
'requires' =>
|
||||||
|
array(
|
||||||
|
0 => 'javelin-behavior',
|
||||||
|
1 => 'javelin-stratcom',
|
||||||
|
2 => 'javelin-dom',
|
||||||
|
),
|
||||||
|
'disk' => '/rsrc/js/application/differential/behavior-show-field-details.js',
|
||||||
|
),
|
||||||
'javelin-behavior-differential-show-more' =>
|
'javelin-behavior-differential-show-more' =>
|
||||||
array(
|
array(
|
||||||
'uri' => '/res/e92c5272/rsrc/js/application/differential/behavior-show-more.js',
|
'uri' => '/res/e92c5272/rsrc/js/application/differential/behavior-show-more.js',
|
||||||
|
|
|
@ -52,6 +52,8 @@ final class DifferentialLintFieldSpecification
|
||||||
$lmsg = DifferentialRevisionUpdateHistoryView::getDiffLintMessage($diff);
|
$lmsg = DifferentialRevisionUpdateHistoryView::getDiffLintMessage($diff);
|
||||||
$ldata = $this->getDiffProperty('arc:lint');
|
$ldata = $this->getDiffProperty('arc:lint');
|
||||||
$ltail = null;
|
$ltail = null;
|
||||||
|
$have_details = false;
|
||||||
|
|
||||||
if ($ldata) {
|
if ($ldata) {
|
||||||
$ldata = igroup($ldata, 'path');
|
$ldata = igroup($ldata, 'path');
|
||||||
$lint_messages = array();
|
$lint_messages = array();
|
||||||
|
@ -78,11 +80,20 @@ final class DifferentialLintFieldSpecification
|
||||||
),
|
),
|
||||||
$line_link);
|
$line_link);
|
||||||
}
|
}
|
||||||
|
if ($description != '') {
|
||||||
|
$have_details = true;
|
||||||
|
}
|
||||||
$message_markup[] = hsprintf(
|
$message_markup[] = hsprintf(
|
||||||
'<li>'.
|
'<li>'.
|
||||||
'<span class="lint-severity-%s">%s</span> (%s) %s '.
|
'<span class="lint-severity-%s">%s</span> (%s) %s '.
|
||||||
'at line '.$line_link.
|
'at line '.$line_link.
|
||||||
'<p>%s</p>'.
|
javelin_render_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'sigil' => 'differential-field-detail',
|
||||||
|
'style' => 'display: none;',
|
||||||
|
),
|
||||||
|
'%s').
|
||||||
'</li>',
|
'</li>',
|
||||||
$severity,
|
$severity,
|
||||||
ucwords($severity),
|
ucwords($severity),
|
||||||
|
@ -106,6 +117,17 @@ final class DifferentialLintFieldSpecification
|
||||||
'</div>';
|
'</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Javelin::initBehavior('differential-show-field-details');
|
||||||
|
if ($have_details) {
|
||||||
|
$lmsg .= ' - '.javelin_render_tag(
|
||||||
|
'a',
|
||||||
|
array(
|
||||||
|
'href' => '#details',
|
||||||
|
'sigil' => 'differential-show-field-details',
|
||||||
|
),
|
||||||
|
'Details');
|
||||||
|
}
|
||||||
|
|
||||||
return $lstar.' '.$lmsg.$ltail;
|
return $lstar.' '.$lmsg.$ltail;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
|
|
||||||
phutil_require_module('phabricator', 'applications/differential/field/specification/base');
|
phutil_require_module('phabricator', 'applications/differential/field/specification/base');
|
||||||
phutil_require_module('phabricator', 'applications/differential/view/revisionupdatehistory');
|
phutil_require_module('phabricator', 'applications/differential/view/revisionupdatehistory');
|
||||||
|
phutil_require_module('phabricator', 'infrastructure/javelin/api');
|
||||||
|
phutil_require_module('phabricator', 'infrastructure/javelin/markup');
|
||||||
|
|
||||||
phutil_require_module('phutil', 'markup');
|
phutil_require_module('phutil', 'markup');
|
||||||
phutil_require_module('phutil', 'utils');
|
phutil_require_module('phutil', 'utils');
|
||||||
|
|
|
@ -53,6 +53,7 @@ final class DifferentialUnitFieldSpecification
|
||||||
$postponed_count = 0;
|
$postponed_count = 0;
|
||||||
$udata = $this->getDiffProperty('arc:unit');
|
$udata = $this->getDiffProperty('arc:unit');
|
||||||
$utail = null;
|
$utail = null;
|
||||||
|
$have_details = false;
|
||||||
|
|
||||||
if ($udata) {
|
if ($udata) {
|
||||||
$unit_messages = array();
|
$unit_messages = array();
|
||||||
|
@ -66,6 +67,10 @@ final class DifferentialUnitFieldSpecification
|
||||||
$userdata = phutil_utf8_shorten(idx($test, 'userdata'), 512);
|
$userdata = phutil_utf8_shorten(idx($test, 'userdata'), 512);
|
||||||
$userdata = $engine->markupText($userdata);
|
$userdata = $engine->markupText($userdata);
|
||||||
|
|
||||||
|
if ($userdata != '') {
|
||||||
|
$have_details = true;
|
||||||
|
}
|
||||||
|
|
||||||
$unit_messages[] =
|
$unit_messages[] =
|
||||||
'<li>'.
|
'<li>'.
|
||||||
'<span class="unit-result-'.phutil_escape_html($result).'">'.
|
'<span class="unit-result-'.phutil_escape_html($result).'">'.
|
||||||
|
@ -73,7 +78,13 @@ final class DifferentialUnitFieldSpecification
|
||||||
'</span>'.
|
'</span>'.
|
||||||
' '.
|
' '.
|
||||||
phutil_escape_html($name).
|
phutil_escape_html($name).
|
||||||
'<p>'.$userdata.'</p>'.
|
javelin_render_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'sigil' => 'differential-field-detail',
|
||||||
|
'style' => 'display: none;',
|
||||||
|
),
|
||||||
|
$userdata).
|
||||||
'</li>';
|
'</li>';
|
||||||
|
|
||||||
} else if ($result == DifferentialUnitTestResult::RESULT_POSTPONED) {
|
} else if ($result == DifferentialUnitTestResult::RESULT_POSTPONED) {
|
||||||
|
@ -98,6 +109,17 @@ final class DifferentialUnitFieldSpecification
|
||||||
$umsg = $postponed_count.' '.$umsg;
|
$umsg = $postponed_count.' '.$umsg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Javelin::initBehavior('differential-show-field-details');
|
||||||
|
if ($have_details) {
|
||||||
|
$umsg .= ' - '.javelin_render_tag(
|
||||||
|
'a',
|
||||||
|
array(
|
||||||
|
'href' => '#details',
|
||||||
|
'sigil' => 'differential-show-field-details',
|
||||||
|
),
|
||||||
|
'Details');
|
||||||
|
}
|
||||||
|
|
||||||
return $ustar.' '.$umsg.$utail;
|
return $ustar.' '.$umsg.$utail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,8 @@ phutil_require_module('phabricator', 'applications/differential/constants/unitte
|
||||||
phutil_require_module('phabricator', 'applications/differential/field/specification/base');
|
phutil_require_module('phabricator', 'applications/differential/field/specification/base');
|
||||||
phutil_require_module('phabricator', 'applications/differential/view/revisionupdatehistory');
|
phutil_require_module('phabricator', 'applications/differential/view/revisionupdatehistory');
|
||||||
phutil_require_module('phabricator', 'applications/markup/engine');
|
phutil_require_module('phabricator', 'applications/markup/engine');
|
||||||
|
phutil_require_module('phabricator', 'infrastructure/javelin/api');
|
||||||
|
phutil_require_module('phabricator', 'infrastructure/javelin/markup');
|
||||||
|
|
||||||
phutil_require_module('phutil', 'markup');
|
phutil_require_module('phutil', 'markup');
|
||||||
phutil_require_module('phutil', 'utils');
|
phutil_require_module('phutil', 'utils');
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/**
|
||||||
|
* @provides javelin-behavior-differential-show-field-details
|
||||||
|
* @requires javelin-behavior
|
||||||
|
* javelin-stratcom
|
||||||
|
* javelin-dom
|
||||||
|
*/
|
||||||
|
|
||||||
|
JX.behavior('differential-show-field-details', function() {
|
||||||
|
|
||||||
|
JX.Stratcom.listen(
|
||||||
|
'click',
|
||||||
|
'differential-show-field-details',
|
||||||
|
function(e) {
|
||||||
|
var node = e.getNode('tag:td');
|
||||||
|
var data = JX.Stratcom.getData(node);
|
||||||
|
var details = JX.DOM.scry(
|
||||||
|
node,
|
||||||
|
'div',
|
||||||
|
'differential-field-detail');
|
||||||
|
for (var i=0; i < details.length; i++) {
|
||||||
|
if (!data.detailsShown) {
|
||||||
|
JX.DOM.show(details[i]);
|
||||||
|
} else {
|
||||||
|
JX.DOM.hide(details[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data.detailsShown = !data.detailsShown;
|
||||||
|
e.kill();
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
Loading…
Reference in a new issue