/**
  * @covers \NewFrontiers\Framework\Output\Javascript::registerLibrary
  * @covers \NewFrontiers\Framework\Output\Javascript::requireLibrary
  * @covers \NewFrontiers\Framework\Output\Javascript::includeRequiredLibraries
  * @covers \NewFrontiers\Framework\Output\Javascript::includeRegisteredLibrary
  * @covers \NewFrontiers\Framework\Output\Javascript::getInstance
  */
 public function testExternalLibrary()
 {
     Javascript::requireLibrary("nfs.StdControls");
     Javascript::requireLibrary("nfs.ExtControls");
     Javascript::requireLibrary("nfs.DataControls");
     Javascript::requireLibrary("jQuery");
     Javascript::requireLibrary("datetimepicker");
     Javascript::requireLibrary("magnific");
     Javascript::requireLibrary("typeahead");
     Javascript::requireLibrary("googlemaps");
     Javascript::requireLibrary("jqueryuploader");
     Javascript::requireLibrary("ckeditor");
     Javascript::requireLibrary("bootstrap-toggle");
     Javascript::requireLibrary("bootstrap-star-rating");
     Javascript::requireLibrary("code-prettify");
     Javascript::requireLibrary("bootstrap-slider");
     Javascript::requireLibrary("chosen");
     Javascript::requireLibrary("froala");
     Javascript::requireLibrary("Chart.js");
     $string = $this->getActualOutput();
     $this->assertEmpty($string);
     //Read test configuration for full path
     Configuration::getInstance()->readConfig();
     Javascript::includeRequiredLibraries();
     $this->expectOutputRegex('/.*(script)+.*/');
     //check that valid html is produced
     $html = $this->getActualOutput();
     $this->assertNotEmpty($html);
     $dom = new \DOMDocument();
     $dom->validateOnParse = true;
     $isValid = $dom->loadHTML($html);
     $this->assertTrue($isValid);
     /* now follows a quite complex way to check if all URLs are parsable and if all
      * scripts that are not located on localhost are accessible. The complex thing
      * about this is to check scheme-relative URLs. For example //domain.de */
     $URL_string = preg_replace('(.*src\\=\\"|\\".*)', "", $html);
     $URL_array = explode("\n", $URL_string);
     foreach ($URL_array as $URL) {
         if (!empty($URL)) {
             $parsed = parse_url($URL);
             if ($parsed === false) {
                 $this->fail("Malformed URL: {$URL}");
                 continue;
             }
             if (isset($parsed['host']) && $parsed['host'] != "localhost") {
                 if (empty($parsed['scheme'])) {
                     $httpURL = 'http://' . ltrim($URL, '/');
                     $headers = @get_headers($httpURL);
                     if (!$headers && strpos($headers[0], '200') !== false) {
                         $httpsURL = 'https://' . ltrim($URL, '/');
                         $headers = @get_headers($httpsURL);
                     }
                 } else {
                     $headers = @get_headers($URL);
                 }
                 $this->assertTrue($headers && strpos($headers[0], '200') !== false, "Script not found: {$URL}");
             }
         }
     }
 }
 /**
  * @inheritdoc
  */
 public function init()
 {
     Javascript::requireLibrary('froala');
     $this->options = new FroalaOptions();
     Logging::info('Requiring...');
     $this->options->requirePlugins();
 }
 /**
  * @inheritdoc
  */
 public function init()
 {
     Javascript::requireLibrary('froala');
     return;
     Javascript::requireLibrary('ckeditor');
     Javascript::requireLibrary('ckfinder');
     if (Application::getCurrentRequest()->admin) {
         $this->toolbar = self::TOOLBAR_LARGE;
     }
 }
 public function setOrdner($ordner)
 {
     Javascript::requireLibrary('magnific');
     if ($ordner === null) {
         $this->ordner = 0;
     } else {
         $this->ordnerObj = $ordner;
         $this->ordner = $ordner->id;
     }
     return $this;
 }
 public function init()
 {
     Javascript::requireLibrary('bootstrap');
     $this->defaultSkinFile = __DIR__ . '/TabControl.skin';
     if (isset(Application::getInstance()->getRequest()->initPanel)) {
         $this->initPanel = Application::getInstance()->getRequest()->initPanel;
     }
     $key = 'tab_active_' . $this->id;
     if (isset(Application::getInstance()->getRequest()->{$key}) && Application::getInstance()->getRequest()->{$key} != '') {
         $this->activePanel = Application::getInstance()->getRequest()->{$key};
     } else {
         if ($this->initPanel < 0) {
             $this->initPanel = 0;
         }
     }
 }
 protected function createControls()
 {
     $showNew = true;
     if (isset($this->request->showNew)) {
         $showNew = $this->request->showNew;
     }
     $showUp = true;
     if (isset($this->request->showUp)) {
         $showUp = $this->request->showUp;
     }
     if (!$this->request->ajax) {
         $panel = new CoreControls\ControlContainer($this, 'pnlAjax');
         $panel->setSkin('<div id="pnlAjax">{controls}</div>');
     } else {
         $panel = $this;
     }
     $panel = new CoreControls\ControlContainer($panel, 'panel');
     //$panel->setCaption('Dokumente / Medien');
     //if ($this->controller->kollektion != null) {
     //    $panel->setCaption($this->controller->kollektion->ko_bezeichnung);
     //}
     if ($showNew) {
         $button = new StdControls\ButtonControl($panel, 'btnNeuOrdner');
         $button->setCaption('Neuer Ordner')->addCssClass('btn-small')->addCssClass('nfs-modal');
         if ($this->controller->kollektion != null) {
             $button->setLink('medien', 'newKollektion', array('parent' => $this->controller->kollektion->id));
         } else {
             $button->setLink('medien', 'newKollektion', array('parent' => 0));
         }
     }
     if ($this->controller->kollektion !== null) {
         $uploader = new UploaderControl($this, 'uploader');
         $uploader->setKollektionId($this->controller->kollektion->id);
         //->setNotify('dok');
     } else {
         Javascript::requireLibrary('jqueryuploader');
     }
     $dokumente = new DokumentenControl($panel, 'dok');
     $dokumente->setOrdner($this->controller->kollektion)->setShowUp($showUp)->setAjaxTarget('pnlAjax');
 }
 /**
  * @inheritdoc
  */
 public function init()
 {
     parent::init();
     Javascript::requireLibrary('datetimepicker');
 }
 public function init()
 {
     Javascript::requireLibrary('bootstrap-toggle');
 }
 public function init()
 {
     Javascript::requireLibrary('nfs.ExtControls');
 }
 public function init()
 {
     Javascript::requireLibrary('jqueryuploader');
     $this->defaultSkinFile = __DIR__ . '/UploaderControl.skin';
 }
 public function setUseChosen($useChosen)
 {
     Javascript::requireLibrary('chosen');
     $this->useChosen = $useChosen;
     return $this;
 }
 public function init()
 {
     Javascript::requireLibrary('googlemaps');
 }
 public function toJavascript()
 {
     Javascript::requireLibrary('jQuery');
     Javascript::requireLibrary('nfs.DataControls');
     if (!isset($this->deleteModule)) {
         $this->deleteModule = $this->entity->getModuleName();
     }
     $gridUrl = Configuration::get('site.internalUrl') . '/ajaxGridControl.php';
     $url = Configuration::get('site.scriptUrl');
     $result = "\n            var {$this->id} = new GridControl(\$('#{$this->id}'), {\n                deleteModule: '{$this->deleteModule}',\n                deleteAction: '{$this->deleteAction}',\n                gridUrl: '{$gridUrl}',\n                url: '{$url}'\n            }).setup();\n            ";
     return $result;
 }
 public function init()
 {
     Javascript::requireLibrary('Chart.js');
 }
 public function requirePlugins()
 {
     if ($this->align) {
         Javascript::requireLibrary('froala-align');
     }
     if ($this->charCounter) {
         Javascript::requireLibrary('froala-charCounter');
         Css::requireLibrary('froala-charCounter');
     }
     if ($this->codeBeautifier) {
         Javascript::requireLibrary('froala-codeBeautifier');
     }
     if ($this->codeView) {
         Javascript::requireLibrary('froala-codeView');
         Css::requireLibrary('froala-codeView');
     }
     if ($this->colors) {
         Javascript::requireLibrary('froala-colors');
         Css::requireLibrary('froala-colors');
     }
     if ($this->draggable) {
         Javascript::requireLibrary('froala-draggable');
         Css::requireLibrary('froala-draggable');
     }
     if ($this->emoticons) {
         Javascript::requireLibrary('froala-emoticons');
         Css::requireLibrary('froala-emoticons');
     }
     if ($this->entities) {
         Javascript::requireLibrary('froala-entities');
         Css::requireLibrary('froala-entities');
     }
     if ($this->file) {
         Javascript::requireLibrary('froala-file');
         Css::requireLibrary('froala-file');
     }
     if ($this->fontFamily) {
         Javascript::requireLibrary('froala-fontFamily');
     }
     if ($this->fontSize) {
         Javascript::requireLibrary('froala-fontSize');
     }
     if ($this->fullscreen) {
         Javascript::requireLibrary('froala-fullscreen');
         Css::requireLibrary('froala-fullscreen');
     }
     if ($this->image) {
         Javascript::requireLibrary('froala-image');
         Css::requireLibrary('froala-image');
     }
     if ($this->imageManager) {
         Javascript::requireLibrary('froala-imageManager');
         Css::requireLibrary('froala-imageManager');
     }
     if ($this->inlineStyle) {
         Javascript::requireLibrary('froala-inlineStyle');
     }
     if ($this->lineBreaker) {
         Javascript::requireLibrary('froala-lineBreaker');
         Css::requireLibrary('froala-lineBreaker');
     }
     if ($this->link) {
         Javascript::requireLibrary('froala-link');
     }
     if ($this->lists) {
         Javascript::requireLibrary('froala-lists');
     }
     if ($this->paragraphFormat) {
         Javascript::requireLibrary('froala-paragraphFormat');
     }
     if ($this->paragraphStyle) {
         Javascript::requireLibrary('froala-paragraphStyle');
     }
     if ($this->quickInsert) {
         Javascript::requireLibrary('froala-quickInsert');
         Css::requireLibrary('froala-quickInsert');
     }
     if ($this->quote) {
         Javascript::requireLibrary('froala-quote');
     }
     if ($this->save) {
         Javascript::requireLibrary('froala-save');
     }
     if ($this->table) {
         Javascript::requireLibrary('froala-table');
         Css::requireLibrary('froala-table');
     }
     if ($this->url) {
         Javascript::requireLibrary('froala-url');
     }
     if ($this->video) {
         Javascript::requireLibrary('froala-video');
         Css::requireLibrary('froala-video');
     }
 }
 public function init()
 {
     Javascript::requireLibrary('jquery');
     $this->defaultSkinFile = __DIR__ . '/TopPanelControl.skin';
 }
 public function init()
 {
     $this->defaultSkinFile = __DIR__ . '/TypeaheadBoxControl.NoSearchButton.skin';
     Javascript::requireLibrary('typeahead');
 }
            <div class="modal-footer">
                <button type="button" id="btnYes" class="btn btn-danger">Ja</button>
                <button type="button" class="btn btn-default" data-dismiss="modal">Nein</button>
            </div>
        </div>
        <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
</div>


<!-- Placed at the end of the document so the pages load faster -->
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<?php 
Javascript::requireLibrary('nfs.StdControls');
Javascript::includeRequiredLibraries();
?>

<?php 
Debug::showDebugConsole();
Javascript::display();
?>

<script>

    Globalize.cultureSelector = "de-DE";

    $('.checkbox').click(function (event) {
        hiddenElement = '#' + event.target.id + '_hidden';
        if (event.target.checked)
 public function init()
 {
     Javascript::requireLibrary('bootstrap-star-rating');
 }
 public function init()
 {
     Javascript::requireLibrary('bootstrap-slider');
 }