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
54 lines
1.1 KiB
PHP
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());
|
|
}
|
|
}
|