diff --git a/src/bundle/Resources/public/img/ibexa-icons.svg b/src/bundle/Resources/public/img/ibexa-icons.svg
index 8f37ea5032..a6c1a53c6a 100644
--- a/src/bundle/Resources/public/img/ibexa-icons.svg
+++ b/src/bundle/Resources/public/img/ibexa-icons.svg
@@ -219,6 +219,9 @@
+
+
+
diff --git a/src/bundle/Resources/public/img/icons/circle-minus.svg b/src/bundle/Resources/public/img/icons/circle-minus.svg
new file mode 100755
index 0000000000..a492a9b5d7
--- /dev/null
+++ b/src/bundle/Resources/public/img/icons/circle-minus.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/bundle/Resources/public/js/scripts/core/multilevel.popup.menu.js b/src/bundle/Resources/public/js/scripts/core/multilevel.popup.menu.js
index bb1830d920..a11dd76c49 100644
--- a/src/bundle/Resources/public/js/scripts/core/multilevel.popup.menu.js
+++ b/src/bundle/Resources/public/js/scripts/core/multilevel.popup.menu.js
@@ -101,6 +101,9 @@
if (isTopBranch) {
triggerElement.addEventListener('click', this.handleItemWithSubitemsClick, false);
+ processBranchAfter(branchElement);
+ branchItems.forEach((itemElement) => processBranchItemAfter(itemElement));
+
return;
}
diff --git a/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu.html.twig
index bc25898ab6..40d57b953b 100644
--- a/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu.html.twig
+++ b/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu.html.twig
@@ -1,5 +1,9 @@
{%- import '@ibexadesign/ui/component/macros.html.twig' as html -%}
+{%- set branch_template_path = branch_template_path|default('@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig') -%}
+{%- set group_template_path = group_template_path|default('@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_group.html.twig') -%}
+{%- set item_template_path = item_template_path|default('@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig') -%}
+
{%- set is_template = is_template|default(false) -%}
{%- set branch_template_params = branch_template_params|default({})|merge({
@@ -26,28 +30,28 @@
~ attr.class|default(''))|trim,
'data-branch-template': items_container_attr['data-branch-template']|default(
include(
- '@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig',
+ branch_template_path,
branch_template_params,
with_context = false
)
),
'data-group-template': items_container_attr['data-group-template']|default(
include(
- '@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_group.html.twig',
+ group_template_path,
group_template_params,
with_context = false
)
),
'data-item-template-btn': items_container_attr['data-item-template-btn']|default(
include(
- '@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig',
+ item_template_path,
item_template_params,
with_context = false
)
),
'data-item-template-link': items_container_attr['data-item-template-link']|default(
include(
- '@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig',
+ item_template_path,
item_template_params|merge({ is_button: false }),
with_context = false
)
@@ -58,7 +62,7 @@
{%- block branch -%}
{%- if groups is defined and groups is not null -%}
- {%- include '@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig' with {
+ {%- include branch_template_path with {
groups,
} -%}
{%- endif -%}
diff --git a/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig
index a20ee14c6c..0f6d230cef 100644
--- a/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig
+++ b/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig
@@ -1,5 +1,7 @@
{%- import '@ibexadesign/ui/component/macros.html.twig' as html -%}
+{%- set group_template_path = group_template_path|default('@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_group.html.twig') -%}
+
{%- set is_template = is_template|default(false) -%}
{%- set branch_attr = branch_attr|default({})|merge({
@@ -17,11 +19,17 @@
{%- block branch_groups -%}
@@ -32,10 +40,12 @@
group_attr: group.group_attr|default({}),
}) -%}
- {%- include '@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_group.html.twig'
- with group_params -%}
+ {%- include group_template_path with group_params -%}
{%- endfor -%}
{%- endblock -%}
+
+ {% block footer %}
+ {% endblock %}
{%- endblock -%}
diff --git a/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_group.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_group.html.twig
index 87bc1c554e..cf6ebfd8d1 100644
--- a/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_group.html.twig
+++ b/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_group.html.twig
@@ -1,5 +1,7 @@
{%- import '@ibexadesign/ui/component/macros.html.twig' as html -%}
+{%- set item_template_path = item_template_path|default('@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig') -%}
+
{%- set is_template = is_template|default(false) -%}
{%- set group_attr = group_attr|default({})|merge({
@@ -20,8 +22,7 @@
action_attr: item.action_attr|default({}),
}) -%}
- {%- include '@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig'
- with item_params -%}
+ {%- include item_template_path with item_params -%}
{%- endfor -%}
{%- endblock %}
diff --git a/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig
index 2abad5f78b..3da8429554 100644
--- a/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig
+++ b/src/bundle/Resources/views/themes/admin/ui/component/multilevel_popup_menu/multilevel_popup_menu_item.html.twig
@@ -1,5 +1,7 @@
{%- import '@ibexadesign/ui/component/macros.html.twig' as html -%}
+{%- set branch_template_path = branch_template_path|default('@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig') -%}
+
{%- set is_template = is_template|default(false) -%}
{%- set item_attr = item_attr|default({})|merge({
@@ -62,8 +64,7 @@
branch_attr: subitems.branch_attr|default({}),
}) -%}
- {%- include '@ibexadesign/ui/component/multilevel_popup_menu/multilevel_popup_menu_branch.html.twig'
- with branch_params -%}
+ {%- include branch_template_path with branch_params -%}
{%- endif -%}
{%- endblock -%}
{%- endblock -%}