diff --git a/administrator/components/com_fields/forms/field.xml b/administrator/components/com_fields/forms/field.xml index 88157e4abbf3e..c4b1196266fc8 100644 --- a/administrator/components/com_fields/forms/field.xml +++ b/administrator/components/com_fields/forms/field.xml @@ -81,7 +81,6 @@ label="COM_FIELDS_FIELD_ONLY_USE_IN_SUBFORM_LABEL" layout="joomla.form.field.radio.switcher" default="0" - showon="type!:subform" > diff --git a/administrator/components/com_fields/src/Field/SubfieldsField.php b/administrator/components/com_fields/src/Field/SubfieldsField.php index c84d2592ba015..c8dc4cfeba751 100644 --- a/administrator/components/com_fields/src/Field/SubfieldsField.php +++ b/administrator/components/com_fields/src/Field/SubfieldsField.php @@ -75,11 +75,6 @@ protected function getOptions() // Iterate over the custom fields for this context foreach (static::$customFieldsCache[$this->context] as $customField) { - // Skip our own subform type. We won't have subform in subform. - if ($customField->type == 'subform') { - continue; - } - $options[] = HTMLHelper::_( 'select.option', $customField->id, diff --git a/administrator/components/com_fields/src/Model/FieldModel.php b/administrator/components/com_fields/src/Model/FieldModel.php index 9b1a84afb4121..f0e2c35fd545d 100644 --- a/administrator/components/com_fields/src/Model/FieldModel.php +++ b/administrator/components/com_fields/src/Model/FieldModel.php @@ -580,17 +580,9 @@ public function getForm($data = [], $loadData = true) $form->setFieldAttribute('created_user_id', 'filter', 'unset'); } - // In case we are editing a field, field type cannot be changed, so some extra handling below is needed + // In case we are editing a field, field type cannot be changed, so remove showon attribute to avoid js errors if ($fieldId) { - $fieldType = $form->getField('type'); - - if ($fieldType->value == 'subform') { - // Only Use In subform should not be available for subform field type, so we remove it - $form->removeField('only_use_in_subform'); - } else { - // Field type could not be changed, so remove showon attribute to avoid js errors - $form->setFieldAttribute('only_use_in_subform', 'showon', ''); - } + $form->setFieldAttribute('only_use_in_subform', 'showon', ''); } return $form;