Path: blob/master/src/view/control/AphrontTokenizerTemplateView.php
12241 views
<?php12final class AphrontTokenizerTemplateView extends AphrontView {34private $value;5private $name;6private $id;7private $browseURI;8private $initialValue;910public function setBrowseURI($browse_uri) {11$this->browseURI = $browse_uri;12return $this;13}1415public function setID($id) {16$this->id = $id;17return $this;18}1920public function setValue(array $value) {21assert_instances_of($value, 'PhabricatorTypeaheadTokenView');22$this->value = $value;23return $this;24}2526public function getValue() {27return $this->value;28}2930public function setName($name) {31$this->name = $name;32return $this;33}3435public function getName() {36return $this->name;37}3839public function setInitialValue(array $initial_value) {40$this->initialValue = $initial_value;41return $this;42}4344public function getInitialValue() {45return $this->initialValue;46}4748public function render() {49require_celerity_resource('aphront-tokenizer-control-css');5051$id = $this->id;52$name = $this->getName();53$tokens = nonempty($this->getValue(), array());5455$input = javelin_tag(56'input',57array(58'mustcapture' => true,59'name' => $name,60'class' => 'jx-tokenizer-input',61'sigil' => 'tokenizer-input',62'style' => 'width: 0px;',63'disabled' => 'disabled',64'type' => 'text',65));6667$content = $tokens;68$content[] = $input;69$content[] = phutil_tag('div', array('style' => 'clear: both;'), '');7071$container = javelin_tag(72'div',73array(74'id' => $id,75'class' => 'jx-tokenizer-container',76'sigil' => 'tokenizer-container',77),78$content);7980$icon = id(new PHUIIconView())81->setIcon('fa-search');8283$browse = id(new PHUIButtonView())84->setTag('a')85->setIcon($icon)86->addClass('tokenizer-browse-button')87->setColor(PHUIButtonView::GREY)88->addSigil('tokenizer-browse');8990$classes = array();91$classes[] = 'jx-tokenizer-frame';9293if ($this->browseURI) {94$classes[] = 'has-browse';95}9697$initial = array();98$initial_value = $this->getInitialValue();99if ($initial_value) {100foreach ($this->getInitialValue() as $value) {101$initial[] = phutil_tag(102'input',103array(104'type' => 'hidden',105'name' => $name.'.initial[]',106'value' => $value,107));108}109}110111$frame = javelin_tag(112'div',113array(114'class' => implode(' ', $classes),115'sigil' => 'tokenizer-frame',116),117array(118$container,119$browse,120$initial,121));122123return $frame;124}125126}127128129