mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-13 02:12:41 +01:00
Icons for TagView
Summary: Adds the ability to set icons into Tags. Test Plan: tested on UIExamples page. Reviewers: epriestley, btrahan Reviewed By: epriestley CC: Korvin, epriestley, aran Differential Revision: https://secure.phabricator.com/D7961
This commit is contained in:
parent
3d9e328fb3
commit
c8d1d06344
4 changed files with 92 additions and 19 deletions
|
@ -7,7 +7,7 @@
|
||||||
return array(
|
return array(
|
||||||
'names' =>
|
'names' =>
|
||||||
array(
|
array(
|
||||||
'core.pkg.css' => '5c4061d8',
|
'core.pkg.css' => 'a35f9047',
|
||||||
'core.pkg.js' => 'c907bd96',
|
'core.pkg.js' => 'c907bd96',
|
||||||
'darkconsole.pkg.js' => 'ca8671ce',
|
'darkconsole.pkg.js' => 'ca8671ce',
|
||||||
'differential.pkg.css' => '827749c1',
|
'differential.pkg.css' => '827749c1',
|
||||||
|
@ -124,7 +124,7 @@ return array(
|
||||||
'rsrc/css/layout/phabricator-hovercard-view.css' => '67c12b16',
|
'rsrc/css/layout/phabricator-hovercard-view.css' => '67c12b16',
|
||||||
'rsrc/css/layout/phabricator-side-menu-view.css' => '503699d0',
|
'rsrc/css/layout/phabricator-side-menu-view.css' => '503699d0',
|
||||||
'rsrc/css/layout/phabricator-source-code-view.css' => '62a99814',
|
'rsrc/css/layout/phabricator-source-code-view.css' => '62a99814',
|
||||||
'rsrc/css/layout/phabricator-tag-view.css' => 'c0363c26',
|
'rsrc/css/layout/phabricator-tag-view.css' => '4c983c74',
|
||||||
'rsrc/css/layout/phabricator-timeline-view.css' => 'f4f846c4',
|
'rsrc/css/layout/phabricator-timeline-view.css' => 'f4f846c4',
|
||||||
'rsrc/css/phui/phui-box.css' => '21da4d8c',
|
'rsrc/css/phui/phui-box.css' => '21da4d8c',
|
||||||
'rsrc/css/phui/phui-button.css' => '8106a67a',
|
'rsrc/css/phui/phui-button.css' => '8106a67a',
|
||||||
|
@ -707,7 +707,7 @@ return array(
|
||||||
'phabricator-slowvote-css' => '266df6a1',
|
'phabricator-slowvote-css' => '266df6a1',
|
||||||
'phabricator-source-code-view-css' => '62a99814',
|
'phabricator-source-code-view-css' => '62a99814',
|
||||||
'phabricator-standard-page-view' => '517cdfb1',
|
'phabricator-standard-page-view' => '517cdfb1',
|
||||||
'phabricator-tag-view-css' => 'c0363c26',
|
'phabricator-tag-view-css' => '4c983c74',
|
||||||
'phabricator-textareautils' => 'b3ec3cfc',
|
'phabricator-textareautils' => 'b3ec3cfc',
|
||||||
'phabricator-timeline-view-css' => 'f4f846c4',
|
'phabricator-timeline-view-css' => 'f4f846c4',
|
||||||
'phabricator-tooltip' => '0a81ea29',
|
'phabricator-tooltip' => '0a81ea29',
|
||||||
|
|
|
@ -80,9 +80,7 @@ final class PhabricatorTagExample extends PhabricatorUIExample {
|
||||||
|
|
||||||
$intro = id(new PHUIBoxView())
|
$intro = id(new PHUIBoxView())
|
||||||
->appendChild($intro)
|
->appendChild($intro)
|
||||||
->setShadow(true)
|
->addPadding(PHUI::PADDING_LARGE);
|
||||||
->addPadding(PHUI::PADDING_LARGE)
|
|
||||||
->addMargin(PHUI::MARGIN_LARGE);
|
|
||||||
|
|
||||||
$header1 = id(new PHUIHeaderView())
|
$header1 = id(new PHUIHeaderView())
|
||||||
->setHeader('Colors');
|
->setHeader('Colors');
|
||||||
|
@ -99,13 +97,7 @@ final class PhabricatorTagExample extends PhabricatorUIExample {
|
||||||
|
|
||||||
$content1 = id(new PHUIBoxView())
|
$content1 = id(new PHUIBoxView())
|
||||||
->appendChild($tags)
|
->appendChild($tags)
|
||||||
->setShadow(true)
|
->addPadding(PHUI::PADDING_LARGE);
|
||||||
->addPadding(PHUI::PADDING_LARGE)
|
|
||||||
->addMargin(PHUI::MARGIN_LARGE);
|
|
||||||
|
|
||||||
$header2 = id(new PHUIHeaderView())
|
|
||||||
->setHeader('Holidays?');
|
|
||||||
|
|
||||||
|
|
||||||
$tags = array();
|
$tags = array();
|
||||||
$tags[] = id(new PhabricatorTagView())
|
$tags[] = id(new PhabricatorTagView())
|
||||||
|
@ -131,10 +123,59 @@ final class PhabricatorTagExample extends PhabricatorUIExample {
|
||||||
|
|
||||||
$content2 = id(new PHUIBoxView())
|
$content2 = id(new PHUIBoxView())
|
||||||
->appendChild($tags)
|
->appendChild($tags)
|
||||||
->setShadow(true)
|
->addPadding(PHUI::PADDING_LARGE);
|
||||||
->addPadding(PHUI::PADDING_LARGE)
|
|
||||||
->addMargin(PHUI::MARGIN_LARGE);
|
|
||||||
|
|
||||||
return array($intro, $header1, $content1, $header2, $content2);
|
$icons = array();
|
||||||
|
$icons[] = id(new PhabricatorTagView())
|
||||||
|
->setType(PhabricatorTagView::TYPE_STATE)
|
||||||
|
->setBackgroundColor(PhabricatorTagView::COLOR_GREEN)
|
||||||
|
->setIcon('check-white')
|
||||||
|
->setName('Passed');
|
||||||
|
$icons[] = hsprintf('<br /><br />');
|
||||||
|
$icons[] = id(new PhabricatorTagView())
|
||||||
|
->setType(PhabricatorTagView::TYPE_STATE)
|
||||||
|
->setBackgroundColor(PhabricatorTagView::COLOR_RED)
|
||||||
|
->setIcon('delete-white')
|
||||||
|
->setName('Failed');
|
||||||
|
$icons[] = hsprintf('<br /><br />');
|
||||||
|
$icons[] = id(new PhabricatorTagView())
|
||||||
|
->setType(PhabricatorTagView::TYPE_STATE)
|
||||||
|
->setBackgroundColor(PhabricatorTagView::COLOR_BLUE)
|
||||||
|
->setIcon('refresh-white')
|
||||||
|
->setName('Running');
|
||||||
|
$icons[] = hsprintf('<br /><br />');
|
||||||
|
$icons[] = id(new PhabricatorTagView())
|
||||||
|
->setType(PhabricatorTagView::TYPE_STATE)
|
||||||
|
->setBackgroundColor(PhabricatorTagView::COLOR_GREY)
|
||||||
|
->setIcon('pause-white')
|
||||||
|
->setName('Paused');
|
||||||
|
$icons[] = hsprintf('<br /><br />');
|
||||||
|
$icons[] = id(new PhabricatorTagView())
|
||||||
|
->setType(PhabricatorTagView::TYPE_STATE)
|
||||||
|
->setBackgroundColor(PhabricatorTagView::COLOR_BLACK)
|
||||||
|
->setIcon('stop-white')
|
||||||
|
->setName('Stopped');
|
||||||
|
|
||||||
|
$content3 = id(new PHUIBoxView())
|
||||||
|
->appendChild($icons)
|
||||||
|
->addPadding(PHUI::PADDING_LARGE);
|
||||||
|
|
||||||
|
$box = id(new PHUIObjectBoxView())
|
||||||
|
->setHeaderText('Inline')
|
||||||
|
->appendChild($intro);
|
||||||
|
|
||||||
|
$box1 = id(new PHUIObjectBoxView())
|
||||||
|
->setHeaderText('Colors')
|
||||||
|
->appendChild($content1);
|
||||||
|
|
||||||
|
$box2 = id(new PHUIObjectBoxView())
|
||||||
|
->setHeaderText('Holidays')
|
||||||
|
->appendChild($content2);
|
||||||
|
|
||||||
|
$box3 = id(new PHUIObjectBoxView())
|
||||||
|
->setHeaderText('Icons')
|
||||||
|
->appendChild($content3);
|
||||||
|
|
||||||
|
return array($box, $box1, $box2, $box3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,7 @@ final class PhabricatorTagView extends AphrontView {
|
||||||
private $closed;
|
private $closed;
|
||||||
private $external;
|
private $external;
|
||||||
private $id;
|
private $id;
|
||||||
|
private $icon;
|
||||||
|
|
||||||
public function setID($id) {
|
public function setID($id) {
|
||||||
$this->id = $id;
|
$this->id = $id;
|
||||||
|
@ -88,6 +89,14 @@ final class PhabricatorTagView extends AphrontView {
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setIcon($icon) {
|
||||||
|
$icon_view = id(new PHUIIconView())
|
||||||
|
->setSpriteSheet(PHUIIconView::SPRITE_ICONS)
|
||||||
|
->setSpriteIcon($icon);
|
||||||
|
$this->icon = $icon_view;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function render() {
|
public function render() {
|
||||||
if (!$this->type) {
|
if (!$this->type) {
|
||||||
throw new Exception(pht("You must call setType() before render()!"));
|
throw new Exception(pht("You must call setType() before render()!"));
|
||||||
|
@ -120,6 +129,13 @@ final class PhabricatorTagView extends AphrontView {
|
||||||
$dot = null;
|
$dot = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->icon) {
|
||||||
|
$icon = $this->icon;
|
||||||
|
$classes[] = 'phabricator-tag-icon-view';
|
||||||
|
} else {
|
||||||
|
$icon = null;
|
||||||
|
}
|
||||||
|
|
||||||
$content = phutil_tag(
|
$content = phutil_tag(
|
||||||
'span',
|
'span',
|
||||||
array(
|
array(
|
||||||
|
@ -155,7 +171,7 @@ final class PhabricatorTagView extends AphrontView {
|
||||||
),
|
),
|
||||||
'target' => $this->external ? '_blank' : null,
|
'target' => $this->external ? '_blank' : null,
|
||||||
),
|
),
|
||||||
array($bar, $content));
|
array($bar, $icon, $content));
|
||||||
} else {
|
} else {
|
||||||
return phutil_tag(
|
return phutil_tag(
|
||||||
$this->href ? 'a' : 'span',
|
$this->href ? 'a' : 'span',
|
||||||
|
@ -165,7 +181,7 @@ final class PhabricatorTagView extends AphrontView {
|
||||||
'class' => implode(' ', $classes),
|
'class' => implode(' ', $classes),
|
||||||
'target' => $this->external ? '_blank' : null,
|
'target' => $this->external ? '_blank' : null,
|
||||||
),
|
),
|
||||||
array($bar, $content));
|
array($bar, $icon, $content));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.phabricator-tag-view:hover {
|
a.phabricator-tag-view:hover {
|
||||||
|
@ -23,6 +24,21 @@ a.phabricator-tag-view:hover {
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phabricator-tag-type-state .phabricator-tag-core {
|
||||||
|
padding: 0 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phabricator-tag-view .phui-icon-view {
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
top: 1px;
|
||||||
|
left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phabricator-tag-icon-view .phabricator-tag-core {
|
||||||
|
padding-left: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
.phabricator-tag-view-has-bar .phabricator-tag-core {
|
.phabricator-tag-view-has-bar .phabricator-tag-core {
|
||||||
border-radius: 0 3px 3px 0;
|
border-radius: 0 3px 3px 0;
|
||||||
border-width: 1px 1px 1px 0;
|
border-width: 1px 1px 1px 0;
|
||||||
|
|
Loading…
Reference in a new issue