diff --git a/src/components/panelmenu/PanelMenu.vue b/src/components/panelmenu/PanelMenu.vue
index 23d07269d..8dc7483e7 100644
--- a/src/components/panelmenu/PanelMenu.vue
+++ b/src/components/panelmenu/PanelMenu.vue
@@ -9,6 +9,13 @@
+
+
+
@@ -31,7 +38,26 @@ export default {
},
methods: {
onItemClick(event, item) {
+ if (item.disabled) {
+ event.preventDefault();
+ return;
+ }
+ if (!item.url) {
+ event.preventDefault();
+ }
+
+ if (item.command) {
+ item.command({
+ originalEvent: event,
+ item: item
+ });
+ }
+
+ if (this.activeItem && this.activeItem === item)
+ this.activeItem = null;
+ else
+ this.activeItem = item;
},
getPanelClass(item) {
return ['p-panelmenu-panel', item.class, {'p-disabled': item.disabled}];
@@ -119,4 +145,24 @@ export default {
display: block;
text-decoration: none;
}
+
+.p-panelmenu-content-wrapper-enter,
+.p-panelmenu-content-wrapper-leave-to {
+ max-height: 0;
+}
+
+.p-panelmenu-content-wrapper-enter-to,
+.p-panelmenu-content-wrapper-leave {
+ max-height: 1000px;
+}
+
+.p-panelmenu-content-wrapper-leave-active {
+ overflow: hidden;
+ transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);
+}
+
+.p-panelmenu-content-wrapper-enter-active {
+ overflow: hidden;
+ transition: max-height 1s ease-in-out;
+}
diff --git a/src/components/panelmenu/PanelMenuSub.vue b/src/components/panelmenu/PanelMenuSub.vue
index 196850181..590bb5f47 100644
--- a/src/components/panelmenu/PanelMenuSub.vue
+++ b/src/components/panelmenu/PanelMenuSub.vue
@@ -1,15 +1,71 @@
-
+
\ No newline at end of file