public function __invoke(OutputBuffer $out)
 {
     foreach ($this->flashes->pullMessages() as $message) {
         $builder = new TagBuilder('div');
         $builder->addClass($this->class)->addClass('kk-flash')->addClass($message->getType());
         switch ($message->getType()) {
             case FlashMessage::ERROR:
                 $builder->addClass($this->error);
                 break;
             case FlashMessage::WARNING:
                 $builder->addClass($this->warning);
                 break;
             case FlashMessage::SUCCESS:
                 $builder->addClass($this->success);
                 break;
             case FlashMessage::INFO:
                 $builder->addClass($this->info);
                 break;
         }
         $old = $this->expressContext->set('flash', $message);
         try {
             $message = $this->renderNestedNodes($out->createBuffer());
             $out->writeTag($builder, $message, false);
         } finally {
             $this->expressContext->set('flash', $old);
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function __invoke(OutputBuffer $out)
 {
     $builder = new TagBuilder('input');
     $builder->set('type', 'text');
     $this->populatePassthroughAttributes($builder);
     $inspection = $this->inspectAttribute('bind');
     $bind = $inspection->value;
     if (NULL !== ($name = $this->name)) {
         $builder->set('name', $name);
     } elseif (NULL !== $inspection->name) {
         $builder->set('name', $inspection->name);
     }
     $builder->addClass('kk');
     $builder->set('autocomplete', $this->autocomplete ? 'on' : 'off');
     $builder->setBoolean('disabled', $this->disabled);
     $builder->setBoolean('readonly', $this->readonly);
     if ($bind instanceof \DateTimeInterface) {
         $builder->set('value', $bind->format(\DateTime::ISO8601));
     } else {
         $builder->set('value', trim($bind));
     }
     $this->renderNestedNodes($out->createBuffer(), $builder);
     $out->writeEmptyTag($builder);
 }
Example #3
0
 public function addBodyScript($source, array $attributes = [], $priority = 0)
 {
     $builder = new TagBuilder('script', $attributes);
     if (!$builder->has('type')) {
         $builder->set('type', 'text/javascript');
     }
     return $this->insertIntoArray($this->bodyScripts, [$priority, $builder, (string) $source]);
 }
 protected function populatePassthroughAttributes(TagBuilder $builder)
 {
     foreach ((array) $this->__pass as $k => $v) {
         $builder->set($k, is_object($v) ? $v() : $v);
     }
     return $builder;
 }
Example #5
0
 public function writeClosingTag(TagBuilder $builder)
 {
     $this->buffer .= $builder->buildClosingTag();
     return $this;
 }