Files
phabricator/src/view/form/AphrontFormLayoutView.php
Chad Little 614e826e7b Add fullWidth option to AphrontFormView
Summary: This piggybacks onto device-phone's CSS rules to enable a full width form (for smaller spaces).

Test Plan: Convert New Message dialog to fullWidth.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D5924
2013-05-14 12:21:00 -07:00

54 lines
1.1 KiB
PHP

<?php
/**
* This provides the layout of an AphrontFormView without actually providing
* the <form /> tag. Useful on its own for creating forms in other forms (like
* dialogs) or forms which aren't submittable.
*/
final class AphrontFormLayoutView extends AphrontView {
private $backgroundShading;
private $padded;
private $fullWidth;
public function setBackgroundShading($shading) {
$this->backgroundShading = $shading;
return $this;
}
public function setPadded($padded) {
$this->padded = $padded;
return $this;
}
public function setFullWidth($width) {
$this->fullWidth = $width;
return $this;
}
public function render() {
$classes = array('aphront-form-view');
if ($this->backgroundShading) {
$classes[] = 'aphront-form-view-shaded';
}
if ($this->padded) {
$classes[] = 'aphront-form-view-padded';
}
if ($this->fullWidth) {
$classes[] = 'aphront-form-full-width';
}
$classes = implode(' ', $classes);
return phutil_tag(
'div',
array(
'class' => $classes,
),
$this->renderChildren());
}
}