Skip to content

Commit 5421c82

Browse files
adamwojsGengar-i
andauthored
IBX-6680: Disabled add field action in field definition form when translating content type (#1094)
Co-authored-by: Robert Swoboda <53216935+Gengar-i@users.noreply.github.com>
1 parent b1903ea commit 5421c82

File tree

4 files changed

+29
-10
lines changed

4 files changed

+29
-10
lines changed

src/bundle/Resources/public/js/scripts/admin.contenttype.edit.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@
5454
const areAllAddGroupBtnsDisabled = [...addGroupBtns].every((btn) =>
5555
btn.classList.contains('ibexa-popup-menu__item-content--disabled'),
5656
);
57+
const isAddGroupTriggerBtnDisabled = addGroupTriggerBtn.dataset.isDisabled == 'true';
5758

58-
addGroupTriggerBtn.disabled = areAllAddGroupBtnsDisabled;
59+
addGroupTriggerBtn.disabled = isAddGroupTriggerBtnDisabled || areAllAddGroupBtnsDisabled;
5960
};
6061
const searchField = (event) => {
6162
const fieldFilterQueryLowerCase = event.currentTarget.value.toLowerCase();

src/bundle/Resources/public/scss/mixins/_drag-and-drop.scss

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
margin-bottom: calculateRem(24px);
118118
}
119119

120-
&:hover:not(&--unavailable) {
120+
&:hover:not(&--unavailable, &--immovable) {
121121
#{$self}__content {
122122
border-color: $ibexa-color-dark;
123123
transform: scale(1.02) translateX(-10px);
@@ -189,6 +189,21 @@
189189
}
190190
}
191191

192+
&--immovable {
193+
cursor: not-allowed;
194+
195+
#{$self}__content {
196+
color: $ibexa-color-dark-300;
197+
fill: $ibexa-color-dark-300;
198+
border-color: $ibexa-color-light-300;
199+
box-shadow: none;
200+
}
201+
202+
#{$self}__drag-icon {
203+
fill: $ibexa-color-dark-300;
204+
}
205+
}
206+
192207
&--is-dragging-out {
193208
#{$self}__content {
194209
opacity: 0;

src/bundle/Resources/views/themes/admin/content_type/available_field_types.html.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<ul class="ibexa-available-field-types__list">
1818
{% for item in field_type_toolbar %}
1919
<li
20-
class="ibexa-available-field-type"
20+
class="ibexa-available-field-type {{ is_draggable is defined and is_draggable == false ? 'ibexa-available-field-type--immovable' }}"
2121
data-item-identifier="{{ item.identifier }}"
2222
>
2323
<div

src/bundle/Resources/views/themes/admin/content_type/field_definitions.html.twig

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
})|e('html_attr') }}"
2525
>
2626
{% set should_show_first = true %}
27+
{% set is_field_definitions_draggable = is_draggable ?? true %}
2728

2829
{% for field_defintions in grouped_field_defintions %}
2930
{% if field_defintions is not empty %}
@@ -36,7 +37,6 @@
3637
'ibexa-collapse--field-definitions-group ibexa-field-definitions-group-%s'|format(id),
3738
field_defintions is empty and not loop.first or loop.first and not should_show_first and field_defintions is empty ? 'ibexa-collapse--hidden'
3839
] %}
39-
{% set is_field_definition_draggable = is_draggable ?? true %}
4040

4141
{%- embed "@ibexadesign/ui/component/collapse.html.twig" with {
4242
'class': field_definitions_group_class|join(' '),
@@ -57,24 +57,27 @@
5757
} -%}
5858
{% block body_content_wrapper %}
5959
<div
60-
class="ibexa-collapse__body-content ibexa-content-type-edit__field-definition-drop-zone"
60+
class="ibexa-collapse__body-content {% if is_field_definitions_draggable %}ibexa-content-type-edit__field-definition-drop-zone{% endif %}"
6161
data-placeholder="{{ include('@ibexadesign/content_type/field_definitions_placeholder.html.twig')|e('html_attr') }}"
6262
>
6363
{% block body_content %}
6464
{%- include "@ibexadesign/content_type/field_definitions_empty_group.html.twig" -%}
6565

6666
{% for field_definition in field_defintions %}
67-
{{ include('@ibexadesign/content_type/field_definition.html.twig', { is_draggable: is_field_definition_draggable }) }}
67+
{{ include('@ibexadesign/content_type/field_definition.html.twig', { is_draggable: is_field_definitions_draggable }) }}
6868
{% endfor %}
6969
{% endblock %}
7070
</div>
7171
{% endblock %}
7272
{%- endembed -%}
7373
{% endfor %}
7474
</div>
75-
7675
<div class="ibexa-content-type-edit__add-field-definitions-group">
77-
<button type="button" class="ibexa-content-type-edit__add-field-definitions-group-btn btn ibexa-btn ibexa-btn ibexa-btn--info">
76+
<button
77+
type="button"
78+
class="ibexa-content-type-edit__add-field-definitions-group-btn btn ibexa-btn ibexa-btn ibexa-btn--info"
79+
data-is-disabled="{{ is_field_definitions_draggable ? 'false' : 'true' }}"
80+
>
7881
<svg class="ibexa-icon ibexa-icon--small">
7982
<use xlink:href="{{ ibexa_icon_path('create') }}"></use>
8083
</svg>
@@ -84,8 +87,8 @@
8487
{{ include('@ibexadesign/ui/component/popup_menu/popup_menu.html.twig', {
8588
'items': grouped_field_defintions|keys|map(group => {
8689
'label': group | ibexa_field_group_name,
87-
'content_class': grouped_field_defintions[group] is not empty or (group is same as(grouped_field_defintions|keys|first) and should_show_first)
88-
? 'ibexa-popup-menu__item-content--disabled '
90+
'content_class': grouped_field_defintions[group] is not empty or (group is same as(grouped_field_defintions|keys|first) and should_show_first)
91+
? 'ibexa-popup-menu__item-content--disabled '
8992
: '',
9093
'action_attr': {
9194
'data-related-collapse-selector': '.ibexa-field-definitions-group-' ~ group

0 commit comments

Comments
 (0)