App\Http\Controllers\DynamicFieldController::getSkinOption PHP Method

getSkinOption() public method

get skin options
public getSkinOption ( Request $request ) : Xpressengine\Presenter\RendererInterface
$request Xpressengine\Http\Request
return Xpressengine\Presenter\RendererInterface
    public function getSkinOption(Request $request)
    {
        /**
         * @var \Xpressengine\DynamicField\DynamicFieldHandler $dynamicField
         */
        $dynamicField = app('xe.dynamicField');
        /**
         * @var \Xpressengine\DynamicField\ConfigHandler $configHandler
         */
        $configHandler = $dynamicField->getConfigHandler();
        $skinId = '';
        if ($request->get('id') != null && ($config = $configHandler->get($request->get('group'), $request->get('id')))) {
            $skinId = $config->skinId;
        }
        /**
         * @var \Xpressengine\DynamicField\RegisterHandler $registerHandler
         */
        $registerHandler = $dynamicField->getRegisterHandler();
        // fieldType 에 따른 Skin 리스트
        /**
         * @var \Generator $skins
         */
        $skins = [];
        foreach ($registerHandler->getSkinsByType($dynamicField, $request->get('typeId')) as $skin) {
            $skins[$skin->getId()] = $skin->name();
        }
        return XePresenter::makeApi(['skins' => $skins, 'skinId' => $skinId]);
    }