Jarves\Admin\AdminAssets::registerEditor PHP Method

registerEditor() public method

This register in parent.jarves a new jarves.Editor.
public registerEditor ( )
    public function registerEditor()
    {
        $this->addMainResources(['noJs' => true]);
        $this->addSessionScripts();
        $page = $this->pageStack->getCurrentPage();
        $response = $this->pageStack->getPageResponse();
        $response->addJsFile('@JarvesBundle/admin/mootools-core-1.4.5-fixed-memory-leak.js');
        $response->addJsFile('@JarvesBundle/admin/mootools-more.js');
        $response->setResourceCompression(false);
        $response->setDomainHandling(false);
        $request = $this->pageStack->getRequest();
        $nodeArray['id'] = $page->getId();
        $nodeArray['title'] = $page->getTitle();
        $nodeArray['domainId'] = $page->getDomainId();
        $nodeArray['theme'] = $page->getTheme();
        $nodeArray['layout'] = $request->query->get('_jarves_editor_layout') ?: $page->getLayout();
        $domain = DomainQuery::create()->findPk($page->getDomainId());
        $domainArray['id'] = $domain->getId();
        $domainArray['domain'] = $domain->getDomain();
        $domainArray['path'] = $domain->getPath();
        $domainArray['theme'] = $domain->getTheme();
        $domainArray['themeOptions'] = $domain->getThemeOptions();
        $options = ['id' => $request->query->get('_jarves_editor_id'), 'node' => $nodeArray, 'domain' => $domainArray];
        if (is_array($extraOptions = $request->query->get('_jarves_editor_options'))) {
            $options = array_merge($options, $extraOptions);
            $options['standalone'] = filter_var($options['standalone'], FILTER_VALIDATE_BOOLEAN);
        }
        $response->addJsAtBottom('window.editor = new parent.jarves.Editor(' . json_encode($options) . ', document.documentElement);');
    }

Usage Example

Example #1
0
 /**
  * @see AdminAssets::registerEditor
  */
 public function registerEditor()
 {
     $adminAssets = new AdminAssets($this->jarves, $this->pageStack, $this->acl);
     $adminAssets->registerEditor();
 }