App\Http\Sections\SkinSection::makeView PHP Method

makeView() protected method

makeView
protected makeView ( $target, $instanceId ) : Illuminate\Contracts\View\View
$target
$instanceId
return Illuminate\Contracts\View\View
    protected function makeView($target, $instanceId)
    {
        /** @var SkinHandler $skinHandler */
        $skinHandler = app('xe.skin');
        $skinInstanceId = $skinHandler->mergeKey($target, $instanceId);
        $selectedSkin = [];
        $selectedSkin['desktop'] = $skinHandler->getAssigned([$target, $instanceId], 'desktop');
        $selectedSkin['mobile'] = $skinHandler->getAssigned([$target, $instanceId], 'mobile');
        // get skin list
        $skinList = $skinHandler->getList($target);
        $skins = function ($skinList, $selectedSkin) {
            (yield ['text' => '선택하세요', 'selected' => false]);
            foreach ($skinList as $id => $skin) {
                $support = [];
                $support[] = $skin->supportDesktop() ? '데스크탑' : '';
                $support[] = $skin->supportMobile() ? '모바일' : '';
                $support = '[' . implode('|', $support) . ']';
                (yield ['value' => $id, 'text' => $skin->getTitle() . $support, 'selected' => $selectedSkin === null ? false : $id === $selectedSkin->getId()]);
            }
        };
        $skins = $skins($skinList, $selectedSkin);
        $url = route('settings.skin.section.setting');
        \XeFrontend::html('skin.loadSkinSetting')->content("<script>\n                var skinSection = {\n                    loadUrl: '{$url}',\n                    'saveUrl': '{$url}'\n                }\n            </script>")->load();
        \XeFrontend::js(['assets/core/xe-ui-component/js/xe-page.js', 'assets/core/skin/section.js'])->load();
        return View::make('skin.section', compact('skinInstanceId', 'skinList', 'selectedSkin'));
    }