public function renderBegin(\blaze\web\application\BlazeContext $context, \blaze\web\component\UIComponent $component) { $writer = $context->getResponse()->getWriter(); $type = $component->getType(); $writer->write('<script type="text/javascript">'); foreach ($component->getEffects() as $effect) { $id = $component->getParent()->getClientId($context); $writer->write('var listener = '); $effect->processRender($context); $writer->write(';'); $writer->write('var element = document.getElementById(\'' . $id . '\');'); // $writer->write('if(document.addEventListener) // element.addEventListener(\''.$type.'\', listener, false); // else // element.attachEvent(\'on'.$type.'\', listener);'); $writer->write('element.on' . $type . ' = listener;'); } $writer->write('</script>'); }
private function getRoot(\blaze\web\component\UIComponent $component) { $parent = $component->getParent(); if ($parent == null) { return $component; } else { return $this->getRoot($parent); } }