code: public function getOptions(GetPropertyOptionsEvent $event)
      {
          if (('tl_metamodel_filtersetting' !== $event->getEnvironment()->getDataDefinition()->getName())
              || ('attr_id' !== $event->getPropertyName())) {
              return;
          }
  
          $result      = [];
          $model       = $event->getModel();
          $metaModel   = $this->filterFactory->createCollection($model->getProperty('fid'))->getMetaModel();
          $typeFactory = $this->filterFactory->getTypeFactory($model->getProperty('type'));
  
          $typeFilter = null;
          if ($typeFactory) {
              $typeFilter = $typeFactory->getKnownAttributeTypes();
          }
  
          foreach ($metaModel->getAttributes() as $attribute) {
              $typeName = $attribute->get('type');
  
              if ($typeFilter && (!in_array($typeName, $typeFilter))) {
                  continue;
              }
  
              $strSelectVal          = $metaModel->getTableName() .'_' . $attribute->getColName();
              $result[$strSelectVal] = $attribute->getName() . ' [' . $typeName . ']';
          }
  
          $event->setOptions($result);
      }
docs: Provide options for default selection.
  
  @param GetPropertyOptionsEvent $event The event.
  
  @return void