public function render(View $view, $titel) { $result = ' <div class="modal-dialog" id="this_window"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">' . $titel . '</h4> </div> <div class="modal-body"> ' . $view->render() . ' </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> <!-- TODO --> <script> $(\'#this_window .checkbox\').click(function (event) { hiddenElement = \'#\' + event.target.id + \'_hidden\'; if (event.target.checked) $(hiddenElement).attr(\'value\', 1); else $(hiddenElement).attr(\'value\', 0); }); </script> '; echo $result; Javascript::display(); }
<!-- /.modal-dialog --> </div> <?php Template::js('jquery-2.1.1.js'); Template::js('bootstrap.min.js'); Template::js('plugins/metisMenu/jquery.metisMenu.js'); Template::js('plugins/slimscroll/jquery.slimscroll.min.js'); Template::js('inspinia.js'); Template::js('plugins/pace/pace.min.js'); Template::js('plugins/jvectormap/jquery-jvectormap-2.0.2.min.js'); Template::js('plugins/jvectormap/jquery-jvectormap-world-mill-en.js'); Template::js('ModalizerControl.js', Configuration::get('site.internalUrl') . '/assets'); Template::js('GridControl.js', Configuration::get('site.internalUrl') . '/assets'); Template::js('spin.js', Configuration::get('site.internalUrl') . '/bower_components/spin.js'); Template::js('jquery.spin.js', Configuration::get('site.internalUrl') . '/bower_components/spin.js'); Template::js('jquery.validate.min.js', Configuration::get('site.internalUrl') . '/bower_components/jquery-validation/dist'); Template::js('globalize.js', Configuration::get('site.internalUrl') . '/bower_components/globalize/lib'); Template::js('globalize.culture.de-DE.js', Configuration::get('site.internalUrl') . '/bower_components/globalize/lib/cultures'); Template::js('validator.languages.de.js', Configuration::get('site.internalUrl') . '/assets'); Template::js('jquery.validate.globalize.min.js', Configuration::get('site.internalUrl') . '/assets'); Template::js('Chart.min.js', Configuration::get('site.internalUrl') . '/bower_components/Chart.js/dist'); Debug::showDebugConsole(); Javascript::display(); ?> </body> </html>
/** * Führt den Request aus * @param Controller $controller * @param Request $request * @return null */ protected function executeRequestViaController(Controller $controller, Request $request) { $response = null; if ($controller->hatBerechtigung()) { try { $response = $controller->execute($request); } catch (Exception $ex) { Logging::error($ex->getMessage()); $response = null; } if ($response !== null) { $content = $response->getContent(); if ($content instanceof Action) { $request = $request->createSubRequest($request->getArray()); $request->module = $content->module->qualifiedName; $request->action = $content->name; $this->handleRequest($request); } elseif ($content instanceof View) { if ($request->ajax && $request->dialog) { $this->modalDialog($content); Javascript::display(); } elseif ($request->ajax) { $this->flashMessagesAusgeben(); $content->display(); Javascript::display(); } else { $this->display($content); } } elseif (is_string($content)) { echo $content; } elseif (is_array($content)) { echo json_encode($content); } } } else { $this->showNoAccess(); } return $response; }
/** * @covers \NewFrontiers\Framework\Output\Javascript::addJs * @covers \NewFrontiers\Framework\Output\Javascript::render * @covers \NewFrontiers\Framework\Output\Javascript::clear * @covers \NewFrontiers\Framework\Output\Javascript::display */ public function testJS() { Javascript::addJs('alert("test");'); Javascript::addJs(["test2", "test3"]); $renderResult = Javascript::render(); $dom = new \DOMDocument(); $dom->validateOnParse = true; $isValid = $dom->loadHTML($renderResult); $this->assertTrue($isValid); //check that every script got included $this->assertContains('alert("test");', $renderResult); $this->assertContains("test2", $renderResult); $this->assertContains("test3", $renderResult); $newRenderResult = Javascript::render(); $this->assertEmpty($newRenderResult); Javascript::addJs('alert("test");'); Javascript::addJs(["test2", "test3"]); Javascript::display(); $this->expectOutputString($renderResult); }