src/CoreBundle/EventListener/DcGeneral/Table/RenderSettings/JumpToListener.php
public function buildWidget(BuildWidgetEvent $event)
    {
        if (!$this->wantToHandle($event) || ($event->getProperty()->getName() !== 'jumpTo')) {
            return;
        }

        $model     = $event->getModel();
        $metaModel =
            $this->factory->getMetaModel($this->factory->translateIdToMetaModelName($model->getProperty('pid')));

        $extra = $event->getProperty()->getExtra();

        if ($metaModel->isTranslated()) {
            $arrLanguages = [];
            foreach ((array) $metaModel->getAvailableLanguages() as $strLangCode) {
                $arrLanguages[$strLangCode] = $this->translator
                    ->trans('LNG.'. $strLangCode, [], 'contao_languages');
            }
            asort($arrLanguages);

            $extra['minCount'] = count($arrLanguages);
            $extra['maxCount'] = count($arrLanguages);

            $extra['columnFields']['langcode']['options'] = $arrLanguages;
        } else {
            $extra['minCount'] = 1;
            $extra['maxCount'] = 1;

            $extra['columnFields']['langcode']['options'] = [
                'xx' => $this->translator
                    ->trans(
                        'tl_metamodel_rendersettings.jumpTo_allLanguages',
                        [],
                        'contao_tl_metamodel_rendersettings'
                    )
            ];
        }

        $extra['columnFields']['filter']['options'] = $this->getFilterSettings($model);

        $event->getProperty()->setExtra($extra);
    }
public function buildWidget(BuildWidgetEvent $event)
    {
        if (!$this->wantToHandle($event) || ($event->getProperty()->getName() !== 'jumpTo')) {
            return;
        }

        $model     = $event->getModel();
        $metaModel =
            $this->factory->getMetaModel($this->factory->translateIdToMetaModelName($model->getProperty('pid')));

        $extra = $event->getProperty()->getExtra();

        if ($metaModel->isTranslated()) {
            $arrLanguages = [];
            foreach ((array) $metaModel->getAvailableLanguages() as $strLangCode) {
                $arrLanguages[$strLangCode] = $this->translator
                    ->trans('LNG.'. $strLangCode, [], 'contao_languages');
            }
            asort($arrLanguages);

            $extra['minCount'] = count($arrLanguages);
            $extra['maxCount'] = count($arrLanguages);

            $extra['columnFields']['langcode']['options'] = $arrLanguages;
        } else {
            $extra['minCount'] = 1;
            $extra['maxCount'] = 1;

            $extra['columnFields']['langcode']['options'] = [
                'xx' => $this->translator
                    ->trans(
                        'tl_metamodel_rendersettings.jumpTo_allLanguages',
                        [],
                        'contao_tl_metamodel_rendersettings'
                    )
            ];
        }

        $extra['columnFields']['filter']['options'] = $this->getFilterSettings($model);

        $event->getProperty()->setExtra($extra);
    }
Provide options for template selection.

@param BuildWidgetEvent $event The event.

@return void

@SuppressWarnings(PHPMD.Superglobals)
@SuppressWarnings(PHPMD.CamelCaseVariableName)