Changeset View
Changeset View
Standalone View
Standalone View
src/view/phui/PHUIBigInfoView.php
- This file was added.
<?php | |||||
final class PHUIBigInfoView extends AphrontTagView { | |||||
private $icon; | |||||
private $title; | |||||
private $description; | |||||
private $actions = array(); | |||||
public function setIcon($icon) { | |||||
$this->icon = $icon; | |||||
return $this; | |||||
} | |||||
public function setTitle($title) { | |||||
$this->title = $title; | |||||
return $this; | |||||
} | |||||
public function setDescription($description) { | |||||
$this->description = $description; | |||||
return $this; | |||||
} | |||||
public function addAction(PHUIButtonView $button) { | |||||
$this->actions[] = $button; | |||||
return $this; | |||||
} | |||||
protected function getTagName() { | |||||
return 'div'; | |||||
} | |||||
protected function getTagAttributes() { | |||||
$classes = array(); | |||||
$classes[] = 'phui-big-info-view'; | |||||
return array( | |||||
'class' => implode(' ', $classes), | |||||
); | |||||
} | |||||
protected function getTagContent() { | |||||
require_celerity_resource('phui-big-info-view-css'); | |||||
$icon = id(new PHUIIconView()) | |||||
->setIconFont($this->icon) | |||||
->addClass('phui-big-info-icon'); | |||||
$icon = phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'phui-big-info-icon-container', | |||||
), | |||||
$icon); | |||||
$title = phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'phui-big-info-title', | |||||
), | |||||
$this->title); | |||||
$description = phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'phui-big-info-description', | |||||
), | |||||
$this->description); | |||||
$buttons = array(); | |||||
foreach ($this->actions as $button) { | |||||
$buttons[] = phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'phui-big-info-button', | |||||
), | |||||
$button); | |||||
} | |||||
$actions = null; | |||||
if ($buttons) { | |||||
$actions = phutil_tag( | |||||
'div', | |||||
array( | |||||
'class' => 'phui-big-info-actions', | |||||
), | |||||
$buttons); | |||||
} | |||||
return array($icon, $title, $description, $actions); | |||||
} | |||||
} |