mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-20 04:20:55 +01:00
Add SUCCESS state and buttons to PHUIErrorView
Summary: I'm looking at beefing up PHUIErrorView for additional use cases as I remove some older AphrontViews. This will likely morph into PHUIInfoView and be a more lightweight version of PHUIObjectBox. Test Plan: UIExamples, mobile and desktop layouts. Have actual use cases coming in next diffs (may tweak design more then) {F311943} Reviewers: epriestley, btrahan Reviewed By: btrahan Subscribers: Korvin, epriestley Differential Revision: https://secure.phabricator.com/D11849
This commit is contained in:
parent
15824bd516
commit
7d4ec48a0e
4 changed files with 80 additions and 8 deletions
|
@ -7,7 +7,7 @@
|
||||||
*/
|
*/
|
||||||
return array(
|
return array(
|
||||||
'names' => array(
|
'names' => array(
|
||||||
'core.pkg.css' => '4efed816',
|
'core.pkg.css' => 'ef45fe3b',
|
||||||
'core.pkg.js' => '23d653bb',
|
'core.pkg.js' => '23d653bb',
|
||||||
'darkconsole.pkg.js' => '8ab24e01',
|
'darkconsole.pkg.js' => '8ab24e01',
|
||||||
'differential.pkg.css' => '380f07e5',
|
'differential.pkg.css' => '380f07e5',
|
||||||
|
@ -127,7 +127,7 @@ return array(
|
||||||
'rsrc/css/phui/phui-button.css' => 'ffe12633',
|
'rsrc/css/phui/phui-button.css' => 'ffe12633',
|
||||||
'rsrc/css/phui/phui-crumbs-view.css' => '594d719e',
|
'rsrc/css/phui/phui-crumbs-view.css' => '594d719e',
|
||||||
'rsrc/css/phui/phui-document.css' => '8240b0b1',
|
'rsrc/css/phui/phui-document.css' => '8240b0b1',
|
||||||
'rsrc/css/phui/phui-error-view.css' => 'ad042fdd',
|
'rsrc/css/phui/phui-error-view.css' => '41518665',
|
||||||
'rsrc/css/phui/phui-feed-story.css' => 'c9f3a0b5',
|
'rsrc/css/phui/phui-feed-story.css' => 'c9f3a0b5',
|
||||||
'rsrc/css/phui/phui-fontkit.css' => '9b345998',
|
'rsrc/css/phui/phui-fontkit.css' => '9b345998',
|
||||||
'rsrc/css/phui/phui-form-view.css' => '8b78a986',
|
'rsrc/css/phui/phui-form-view.css' => '8b78a986',
|
||||||
|
@ -780,7 +780,7 @@ return array(
|
||||||
'phui-calendar-month-css' => 'a92e47d2',
|
'phui-calendar-month-css' => 'a92e47d2',
|
||||||
'phui-crumbs-view-css' => '594d719e',
|
'phui-crumbs-view-css' => '594d719e',
|
||||||
'phui-document-view-css' => '8240b0b1',
|
'phui-document-view-css' => '8240b0b1',
|
||||||
'phui-error-view-css' => 'ad042fdd',
|
'phui-error-view-css' => '41518665',
|
||||||
'phui-feed-story-css' => 'c9f3a0b5',
|
'phui-feed-story-css' => 'c9f3a0b5',
|
||||||
'phui-font-icon-base-css' => '3dad2ae3',
|
'phui-font-icon-base-css' => '3dad2ae3',
|
||||||
'phui-fontkit-css' => '9b345998',
|
'phui-fontkit-css' => '9b345998',
|
||||||
|
|
|
@ -20,8 +20,14 @@ final class PHUIErrorExample extends PhabricatorUIExample {
|
||||||
PHUIErrorView::SEVERITY_WARNING => 'Warning',
|
PHUIErrorView::SEVERITY_WARNING => 'Warning',
|
||||||
PHUIErrorView::SEVERITY_NOTICE => 'Notice',
|
PHUIErrorView::SEVERITY_NOTICE => 'Notice',
|
||||||
PHUIErrorView::SEVERITY_NODATA => 'No Data',
|
PHUIErrorView::SEVERITY_NODATA => 'No Data',
|
||||||
|
PHUIErrorView::SEVERITY_SUCCESS => 'Success',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$button = id(new PHUIButtonView())
|
||||||
|
->setTag('a')
|
||||||
|
->setText('Resolve Issue')
|
||||||
|
->addClass('grey');
|
||||||
|
|
||||||
$views = array();
|
$views = array();
|
||||||
// Only Title
|
// Only Title
|
||||||
foreach ($sevs as $sev => $title) {
|
foreach ($sevs as $sev => $title) {
|
||||||
|
@ -35,6 +41,7 @@ final class PHUIErrorExample extends PhabricatorUIExample {
|
||||||
$view = new PHUIErrorView();
|
$view = new PHUIErrorView();
|
||||||
$view->setSeverity($sev);
|
$view->setSeverity($sev);
|
||||||
$view->appendChild('Several issues were encountered.');
|
$view->appendChild('Several issues were encountered.');
|
||||||
|
$view->addButton($button);
|
||||||
$views[] = $view;
|
$views[] = $view;
|
||||||
}
|
}
|
||||||
// Only Errors
|
// Only Errors
|
||||||
|
|
|
@ -6,11 +6,13 @@ final class PHUIErrorView extends AphrontView {
|
||||||
const SEVERITY_WARNING = 'warning';
|
const SEVERITY_WARNING = 'warning';
|
||||||
const SEVERITY_NOTICE = 'notice';
|
const SEVERITY_NOTICE = 'notice';
|
||||||
const SEVERITY_NODATA = 'nodata';
|
const SEVERITY_NODATA = 'nodata';
|
||||||
|
const SEVERITY_SUCCESS = 'success';
|
||||||
|
|
||||||
private $title;
|
private $title;
|
||||||
private $errors;
|
private $errors;
|
||||||
private $severity;
|
private $severity;
|
||||||
private $id;
|
private $id;
|
||||||
|
private $buttons = array();
|
||||||
|
|
||||||
public function setTitle($title) {
|
public function setTitle($title) {
|
||||||
$this->title = $title;
|
$this->title = $title;
|
||||||
|
@ -32,6 +34,11 @@ final class PHUIErrorView extends AphrontView {
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function addButton($button) {
|
||||||
|
$this->buttons[] = $button;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
final public function render() {
|
final public function render() {
|
||||||
|
|
||||||
require_celerity_resource('phui-error-view-css');
|
require_celerity_resource('phui-error-view-css');
|
||||||
|
@ -72,6 +79,7 @@ final class PHUIErrorView extends AphrontView {
|
||||||
$classes = array();
|
$classes = array();
|
||||||
$classes[] = 'phui-error-view';
|
$classes[] = 'phui-error-view';
|
||||||
$classes[] = 'phui-error-severity-'.$this->severity;
|
$classes[] = 'phui-error-severity-'.$this->severity;
|
||||||
|
$classes[] = 'grouped';
|
||||||
$classes = implode(' ', $classes);
|
$classes = implode(' ', $classes);
|
||||||
|
|
||||||
$children = $this->renderChildren();
|
$children = $this->renderChildren();
|
||||||
|
@ -89,6 +97,16 @@ final class PHUIErrorView extends AphrontView {
|
||||||
$children);
|
$children);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$buttons = null;
|
||||||
|
if (!empty($this->buttons)) {
|
||||||
|
$buttons = phutil_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'class' => 'phui-error-view-actions',
|
||||||
|
),
|
||||||
|
$this->buttons);
|
||||||
|
}
|
||||||
|
|
||||||
return phutil_tag(
|
return phutil_tag(
|
||||||
'div',
|
'div',
|
||||||
array(
|
array(
|
||||||
|
@ -96,6 +114,7 @@ final class PHUIErrorView extends AphrontView {
|
||||||
'class' => $classes,
|
'class' => $classes,
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
|
$buttons,
|
||||||
$title,
|
$title,
|
||||||
$body,
|
$body,
|
||||||
));
|
));
|
||||||
|
|
|
@ -24,6 +24,12 @@
|
||||||
line-height: 1.45em;
|
line-height: 1.45em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phui-error-view-actions {
|
||||||
|
margin-top: -3px;
|
||||||
|
margin-bottom: -4px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
.phui-error-view-head + .phui-error-view-body {
|
.phui-error-view-head + .phui-error-view-body {
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
}
|
}
|
||||||
|
@ -44,24 +50,59 @@ h1.phui-error-view-head {
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.phui-error-severity-error {
|
.phui-error-view .phui-error-view-actions .button:hover {
|
||||||
|
background: #fff;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-error-severity-error,
|
||||||
|
.phui-error-severity-error .button {
|
||||||
border-color: {$red};
|
border-color: {$red};
|
||||||
background: {$lightred};
|
background: {$lightred};
|
||||||
}
|
}
|
||||||
|
|
||||||
.phui-error-severity-warning {
|
.phui-error-severity-error .button {
|
||||||
|
color: {$red};
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-error-severity-warning,
|
||||||
|
.phui-error-severity-warning .button {
|
||||||
border-color: {$yellow};
|
border-color: {$yellow};
|
||||||
background: {$lightyellow};
|
background: {$lightyellow};
|
||||||
}
|
}
|
||||||
|
|
||||||
.phui-error-severity-notice {
|
.phui-error-severity-warning .button {
|
||||||
|
color: #bc7837;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-error-severity-notice,
|
||||||
|
.phui-error-severity-notice .button {
|
||||||
border-color: {$blue};
|
border-color: {$blue};
|
||||||
background: {$lightblue};
|
background: {$lightblue};
|
||||||
}
|
}
|
||||||
|
|
||||||
.phui-error-severity-nodata {
|
.phui-error-severity-notice .button {
|
||||||
|
color: {$blue};
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-error-severity-nodata,
|
||||||
|
.phui-error-severity-nodata .button {
|
||||||
border-color: {$lightgreyborder};
|
border-color: {$lightgreyborder};
|
||||||
background-color: #fff;
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-error-severity-nodata .button {
|
||||||
|
color: {$greytext};
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-error-severity-success,
|
||||||
|
.phui-error-severity-success .button {
|
||||||
|
border-color: {$green};
|
||||||
|
background: {$lightgreen};
|
||||||
|
}
|
||||||
|
|
||||||
|
.phui-error-severity-success .button {
|
||||||
|
color: {$green};
|
||||||
}
|
}
|
||||||
|
|
||||||
.legalpad .phui-error-view {
|
.legalpad .phui-error-view {
|
||||||
|
@ -96,6 +137,11 @@ h1.phui-error-view-head {
|
||||||
color: {$blue};
|
color: {$blue};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phui-object-box .phui-error-severity-success,
|
||||||
|
.aphront-dialog-body .phui-error-severity-success {
|
||||||
|
color: {$green};
|
||||||
|
}
|
||||||
|
|
||||||
.phui-crumbs-view + .phui-error-view {
|
.phui-crumbs-view + .phui-error-view {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue