Jarves\Admin\AdminAssets::addMainResources PHP Method

addMainResources() public method

public addMainResources ( $options = [] )
    public function addMainResources($options = array())
    {
        $response = $this->pageStack->getPageResponse();
        $request = $this->pageStack->getRequest();
        $options['noJs'] = isset($options['noJs']) ? $options['noJs'] : false;
        $prefix = substr($this->jarves->getAdminPrefix(), 1);
        $response->addJs('
        window._path = window._baseUrl = ' . json_encode($request->getBasePath() . '/') . '
        window._pathAdmin = ' . json_encode($request->getBaseUrl() . '/' . $prefix . '/'), 3001);
        if ($this->jarves->isDebugMode()) {
            foreach ($this->jarves->getConfigs() as $bundleConfig) {
                foreach ($bundleConfig->getAdminAssetsInfo() as $assetInfo) {
                    if ($options['noJs'] && $assetInfo->isJavaScript()) {
                        continue;
                    }
                    $response->addAsset($assetInfo);
                }
            }
        } else {
            $response->addCssFile($prefix . '/admin/backend/css');
            if (!$options['noJs']) {
                $response->addJsFile($prefix . '/admin/backend/script', 3000);
            }
            foreach ($this->jarves->getConfigs() as $bundleConfig) {
                foreach ($bundleConfig->getAdminAssetsInfo() as $assetInfo) {
                    if ($options['noJs'] && $assetInfo->isJavaScript()) {
                        continue;
                    }
                    if ($assetInfo->getPath()) {
                        // load javascript files, that are not accessible (means those point to a controller)
                        // because those can't be compressed
                        $path = $this->jarves->resolveWebPath($assetInfo->getPath());
                        if (!file_exists($path)) {
                            $response->addAsset($assetInfo);
                            continue;
                        }
                    }
                    if ($assetInfo->getContent()) {
                        // load inline assets because we can't compress those
                        $response->addAsset($assetInfo);
                        continue;
                    }
                    if (!$assetInfo->isCompressionAllowed()) {
                        $response->addAsset($assetInfo);
                    }
                }
            }
        }
        $response->setDocType('JarvesBundle:Admin:index.html.twig');
        $response->addHeader('<meta name="viewport" content="initial-scale=1.0" >');
        $response->addHeader('<meta name="apple-mobile-web-app-capable" content="yes">');
        $response->setResourceCompression(false);
    }

Usage Example

Example #1
0
 /**
  * @ApiDoc(
  *  section="Administration",
  *  description="Show the login page of the administration"
  * )
  *
  * @Rest\Get("%jarves_admin_prefix%")
  * @param Request $request
  *
  * @return \Jarves\PageResponse
  */
 public function showLoginAction(Request $request)
 {
     /** @var PageStack $pageStack */
     $pageStack = $this->get('jarves.page_stack');
     /** @var Jarves $jarves */
     $jarves = $this->get('jarves');
     /** @var ACL $acl */
     $acl = $this->get('jarves.acl');
     /** @var JarvesConfig $jarvesConfig */
     $jarvesConfig = $this->get('jarves.config');
     $adminAssets = new AdminAssets($jarves, $pageStack, $acl);
     $adminAssets->addMainResources();
     $adminAssets->addLanguageResources();
     $adminAssets->addSessionScripts();
     $response = $pageStack->getPageResponse();
     $response->addJs("\n        tinymce.baseURL =  _path+'bundles/jarves/tinymce',\n        window.addEvent('domready', function(){\n            jarves.adminInterface = new jarves.AdminInterface();\n        });\n");
     $response->setResourceCompression(false);
     $response->setDomainHandling(false);
     $response->setRenderFrontPage(false);
     $response->setTitle($jarvesConfig->getSystemConfig()->getSystemTitle() . ' | Jarves Administration');
     $response->prepare($request);
     return $response;
 }