Identifier
Identifier
diff --git a/src/bundle/Resources/views/themes/admin/matrix_fieldtype/field_types.html.twig b/src/bundle/Resources/views/themes/admin/matrix_fieldtype/field_types.html.twig
index 314d608..787193b 100644
--- a/src/bundle/Resources/views/themes/admin/matrix_fieldtype/field_types.html.twig
+++ b/src/bundle/Resources/views/themes/admin/matrix_fieldtype/field_types.html.twig
@@ -21,14 +21,21 @@
body_row_cols: [
{ has_checkbox: true, content: col_checkbox, raw: true },
{ content: form_widget(form.columns.vars.prototype.name), raw: true },
- { content: form_widget(form.columns.vars.prototype.identifier), raw: true },
+ { content: form_widget(form.columns.vars.prototype.identifier, {
+ attr: {
+ class: 'ibexa-input--matrix-column-identifier'
+ }
+ }), raw: true },
],
class: 'ibexa-matrix-settings__column',
} %}
+
{{ form_label(form.columns, null, { 'label_attr': { 'class': 'ibexa-label' } }) }}
{{ form_errors(form.columns) }}
+
{% set body_rows = [] %}
+
{% for column in form.columns %}
{% set col_checkbox %}
{% endblock %}
diff --git a/src/lib/FieldType/Mapper/MatrixFormMapper.php b/src/lib/FieldType/Mapper/MatrixFormMapper.php
index c7ddfae..3bbdda0 100644
--- a/src/lib/FieldType/Mapper/MatrixFormMapper.php
+++ b/src/lib/FieldType/Mapper/MatrixFormMapper.php
@@ -43,13 +43,13 @@ public function mapFieldDefinitionForm(FormInterface $fieldDefinitionForm, Field
])
->add('columns', CollectionType::class, [
'entry_type' => ColumnType::class,
- 'entry_options' => ['required' => false],
+ 'entry_options' => ['required' => true],
'allow_add' => true,
'allow_delete' => true,
'delete_empty' => false,
'prototype' => true,
'prototype_name' => '__number__',
- 'required' => false,
+ 'required' => true,
'property_path' => 'fieldSettings[columns]',
'label' => false,
'translation_domain' => 'ibexa_matrix_fieldtype',
diff --git a/src/lib/Form/Type/ColumnType.php b/src/lib/Form/Type/ColumnType.php
index 22a831e..a6113d5 100644
--- a/src/lib/Form/Type/ColumnType.php
+++ b/src/lib/Form/Type/ColumnType.php
@@ -20,9 +20,11 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
$builder
->add('name', TextType::class, [
'label' => /** @Desc("Name") */ 'fieldtype.column.name',
+ 'required' => false,
])
->add('identifier', TextType::class, [
'label' => /** @Desc("Identifier") */ 'fieldtype.column.identifier',
+ 'required' => true,
]);
}
diff --git a/tests/integration/Kernel.php b/tests/integration/Kernel.php
index 4eaec91..6e9d1bf 100644
--- a/tests/integration/Kernel.php
+++ b/tests/integration/Kernel.php
@@ -17,6 +17,7 @@
use Ibexa\Bundle\Notifications\IbexaNotificationsBundle;
use Ibexa\Bundle\Rest\IbexaRestBundle;
use Ibexa\Bundle\Search\IbexaSearchBundle;
+use Ibexa\Bundle\TwigComponents\IbexaTwigComponentsBundle;
use Ibexa\Bundle\User\IbexaUserBundle;
use Ibexa\Contracts\Test\Core\IbexaTestKernel;
use Knp\Bundle\MenuBundle\KnpMenuBundle;
@@ -47,6 +48,7 @@ public function registerBundles(): iterable
yield new IbexaAdminUiBundle();
yield new IbexaNotificationsBundle();
yield new IbexaGraphQLBundle();
+ yield new IbexaTwigComponentsBundle();
yield new IbexaFieldTypeMatrixBundle();
}