diff --git a/doc/panelmenu/BasicDoc.vue b/doc/panelmenu/BasicDoc.vue
index e8955c7df..19d1b86ed 100644
--- a/doc/panelmenu/BasicDoc.vue
+++ b/doc/panelmenu/BasicDoc.vue
@@ -3,7 +3,7 @@
PanelMenu requires a collection of menuitems as its model.
@@ -14,116 +14,78 @@ export default {
return {
items: [
{
- label: 'File',
- icon: 'pi pi-fw pi-file',
+ label: 'Files',
+ icon: 'pi pi-file',
items: [
{
- label: 'New',
- icon: 'pi pi-fw pi-plus',
+ label: 'Documents',
+ icon: 'pi pi-file',
items: [
{
- label: 'Bookmark',
- icon: 'pi pi-fw pi-bookmark'
- },
- {
- label: 'Video',
- icon: 'pi pi-fw pi-video'
- }
- ]
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-trash'
- },
- {
- label: 'Export',
- icon: 'pi pi-fw pi-external-link'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Left',
- icon: 'pi pi-fw pi-align-left'
- },
- {
- label: 'Right',
- icon: 'pi pi-fw pi-align-right'
- },
- {
- label: 'Center',
- icon: 'pi pi-fw pi-align-center'
- },
- {
- label: 'Justify',
- icon: 'pi pi-fw pi-align-justify'
- }
- ]
- },
- {
- label: 'Users',
- icon: 'pi pi-fw pi-user',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-user-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-user-minus'
- },
- {
- label: 'Search',
- icon: 'pi pi-fw pi-users',
- items: [
- {
- label: 'Filter',
- icon: 'pi pi-fw pi-filter',
+ label: 'Invoices',
+ icon: 'pi pi-file-pdf',
items: [
{
- label: 'Print',
- icon: 'pi pi-fw pi-print'
+ label: 'Pending',
+ icon: 'pi pi-stop'
+ },
+ {
+ label: 'Paid',
+ icon: 'pi pi-check-circle'
}
]
},
{
- icon: 'pi pi-fw pi-bars',
- label: 'List'
+ label: 'Clients',
+ icon: 'pi pi-users'
+ }
+ ]
+ },
+ {
+ label: 'Images',
+ icon: 'pi pi-image',
+ items: [
+ {
+ label: 'Logos',
+ icon: 'pi pi-image'
}
]
}
]
},
{
- label: 'Events',
- icon: 'pi pi-fw pi-calendar',
+ label: 'Cloud',
+ icon: 'pi pi-cloud',
items: [
{
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Save',
- icon: 'pi pi-fw pi-calendar-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
+ label: 'Upload',
+ icon: 'pi pi-cloud-upload'
},
{
- label: 'Archive',
- icon: 'pi pi-fw pi-calendar-times',
- items: [
- {
- label: 'Remove',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
+ label: 'Download',
+ icon: 'pi pi-cloud-download'
+ },
+ {
+ label: 'Sync',
+ icon: 'pi pi-refresh'
+ }
+ ]
+ },
+ {
+ label: 'Devices',
+ icon: 'pi pi-desktop',
+ items: [
+ {
+ label: 'Phone',
+ icon: 'pi pi-mobile'
+ },
+ {
+ label: 'Desktop',
+ icon: 'pi pi-desktop'
+ },
+ {
+ label: 'Tablet',
+ icon: 'pi pi-tablet'
}
]
}
@@ -135,7 +97,7 @@ export default {
options: `
@@ -145,116 +107,78 @@ export default {
return {
items: [
{
- label: 'File',
- icon: 'pi pi-fw pi-file',
+ label: 'Files',
+ icon: 'pi pi-file',
items: [
{
- label: 'New',
- icon: 'pi pi-fw pi-plus',
+ label: 'Documents',
+ icon: 'pi pi-file',
items: [
{
- label: 'Bookmark',
- icon: 'pi pi-fw pi-bookmark'
- },
- {
- label: 'Video',
- icon: 'pi pi-fw pi-video'
- }
- ]
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-trash'
- },
- {
- label: 'Export',
- icon: 'pi pi-fw pi-external-link'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Left',
- icon: 'pi pi-fw pi-align-left'
- },
- {
- label: 'Right',
- icon: 'pi pi-fw pi-align-right'
- },
- {
- label: 'Center',
- icon: 'pi pi-fw pi-align-center'
- },
- {
- label: 'Justify',
- icon: 'pi pi-fw pi-align-justify'
- }
- ]
- },
- {
- label: 'Users',
- icon: 'pi pi-fw pi-user',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-user-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-user-minus'
- },
- {
- label: 'Search',
- icon: 'pi pi-fw pi-users',
- items: [
- {
- label: 'Filter',
- icon: 'pi pi-fw pi-filter',
+ label: 'Invoices',
+ icon: 'pi pi-file-pdf',
items: [
{
- label: 'Print',
- icon: 'pi pi-fw pi-print'
+ label: 'Pending',
+ icon: 'pi pi-stop'
+ },
+ {
+ label: 'Paid',
+ icon: 'pi pi-check-circle'
}
]
},
{
- icon: 'pi pi-fw pi-bars',
- label: 'List'
+ label: 'Clients',
+ icon: 'pi pi-users'
+ }
+ ]
+ },
+ {
+ label: 'Images',
+ icon: 'pi pi-image',
+ items: [
+ {
+ label: 'Logos',
+ icon: 'pi pi-image'
}
]
}
]
},
{
- label: 'Events',
- icon: 'pi pi-fw pi-calendar',
+ label: 'Cloud',
+ icon: 'pi pi-cloud',
items: [
{
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Save',
- icon: 'pi pi-fw pi-calendar-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
+ label: 'Upload',
+ icon: 'pi pi-cloud-upload'
},
{
- label: 'Archive',
- icon: 'pi pi-fw pi-calendar-times',
- items: [
- {
- label: 'Remove',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
+ label: 'Download',
+ icon: 'pi pi-cloud-download'
+ },
+ {
+ label: 'Sync',
+ icon: 'pi pi-refresh'
+ }
+ ]
+ },
+ {
+ label: 'Devices',
+ icon: 'pi pi-desktop',
+ items: [
+ {
+ label: 'Phone',
+ icon: 'pi pi-mobile'
+ },
+ {
+ label: 'Desktop',
+ icon: 'pi pi-desktop'
+ },
+ {
+ label: 'Tablet',
+ icon: 'pi pi-tablet'
}
]
}
@@ -267,7 +191,7 @@ export default {
composition: `
@@ -276,116 +200,78 @@ import { ref } from "vue";
const items = ref([
{
- label: 'File',
- icon: 'pi pi-fw pi-file',
+ label: 'Files',
+ icon: 'pi pi-file',
items: [
{
- label: 'New',
- icon: 'pi pi-fw pi-plus',
+ label: 'Documents',
+ icon: 'pi pi-file',
items: [
{
- label: 'Bookmark',
- icon: 'pi pi-fw pi-bookmark'
- },
- {
- label: 'Video',
- icon: 'pi pi-fw pi-video'
- }
- ]
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-trash'
- },
- {
- label: 'Export',
- icon: 'pi pi-fw pi-external-link'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Left',
- icon: 'pi pi-fw pi-align-left'
- },
- {
- label: 'Right',
- icon: 'pi pi-fw pi-align-right'
- },
- {
- label: 'Center',
- icon: 'pi pi-fw pi-align-center'
- },
- {
- label: 'Justify',
- icon: 'pi pi-fw pi-align-justify'
- }
- ]
- },
- {
- label: 'Users',
- icon: 'pi pi-fw pi-user',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-user-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-user-minus'
- },
- {
- label: 'Search',
- icon: 'pi pi-fw pi-users',
- items: [
- {
- label: 'Filter',
- icon: 'pi pi-fw pi-filter',
+ label: 'Invoices',
+ icon: 'pi pi-file-pdf',
items: [
{
- label: 'Print',
- icon: 'pi pi-fw pi-print'
+ label: 'Pending',
+ icon: 'pi pi-stop'
+ },
+ {
+ label: 'Paid',
+ icon: 'pi pi-check-circle'
}
]
},
{
- icon: 'pi pi-fw pi-bars',
- label: 'List'
+ label: 'Clients',
+ icon: 'pi pi-users'
+ }
+ ]
+ },
+ {
+ label: 'Images',
+ icon: 'pi pi-image',
+ items: [
+ {
+ label: 'Logos',
+ icon: 'pi pi-image'
}
]
}
]
},
{
- label: 'Events',
- icon: 'pi pi-fw pi-calendar',
+ label: 'Cloud',
+ icon: 'pi pi-cloud',
items: [
{
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Save',
- icon: 'pi pi-fw pi-calendar-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
+ label: 'Upload',
+ icon: 'pi pi-cloud-upload'
},
{
- label: 'Archive',
- icon: 'pi pi-fw pi-calendar-times',
- items: [
- {
- label: 'Remove',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
+ label: 'Download',
+ icon: 'pi pi-cloud-download'
+ },
+ {
+ label: 'Sync',
+ icon: 'pi pi-refresh'
+ }
+ ]
+ },
+ {
+ label: 'Devices',
+ icon: 'pi pi-desktop',
+ items: [
+ {
+ label: 'Phone',
+ icon: 'pi pi-mobile'
+ },
+ {
+ label: 'Desktop',
+ icon: 'pi pi-desktop'
+ },
+ {
+ label: 'Tablet',
+ icon: 'pi pi-tablet'
}
]
}
diff --git a/doc/panelmenu/CommandDoc.vue b/doc/panelmenu/CommandDoc.vue
new file mode 100644
index 000000000..c24bc2dca
--- /dev/null
+++ b/doc/panelmenu/CommandDoc.vue
@@ -0,0 +1,225 @@
+
+
+ The command property defines the callback to run when an item is activated by click or a key event.
+
+
+
+
+
+
diff --git a/doc/panelmenu/ControlledDoc.vue b/doc/panelmenu/ControlledDoc.vue
new file mode 100644
index 000000000..639c7305a
--- /dev/null
+++ b/doc/panelmenu/ControlledDoc.vue
@@ -0,0 +1,337 @@
+
+
+
+ If the menuitem has a key defined, PanelMenu state can be controlled programmatically with the expandedKeys property that defines the keys that are expanded. This property is a Map instance whose key is the key of a node and
+ value is a boolean.
+
+
+
+
+
+
+
diff --git a/doc/panelmenu/MultipleDoc.vue b/doc/panelmenu/MultipleDoc.vue
deleted file mode 100644
index e4874ada7..000000000
--- a/doc/panelmenu/MultipleDoc.vue
+++ /dev/null
@@ -1,497 +0,0 @@
-
-
- Only one single root menuitem can be active by default, enable expandedKeys property to be able to open more than one items.
-
-
-
-
-
-
diff --git a/doc/panelmenu/ProgrammaticDoc.vue b/doc/panelmenu/ProgrammaticDoc.vue
deleted file mode 100644
index 378a4b9c6..000000000
--- a/doc/panelmenu/ProgrammaticDoc.vue
+++ /dev/null
@@ -1,558 +0,0 @@
-
-
-
- If the menuitem has a key defined, PanelMenu state can be controlled programmatically with the expandedKeys property that defines the keys that are expanded. This property is a Map instance whose key is the key of a node and
- value is a boolean. Note that expandedKeys also supports two-way binding with the v-model directive.
-
-
-
-
-
-
-
diff --git a/doc/panelmenu/RouterDoc.vue b/doc/panelmenu/RouterDoc.vue
index dc9dc9f95..85f6cab1d 100644
--- a/doc/panelmenu/RouterDoc.vue
+++ b/doc/panelmenu/RouterDoc.vue
@@ -1,8 +1,233 @@
-
- Since v3.33.0 the vue-router dependency of menu components is deprecated and templating should be used to define router links instead. This approach provides flexibility to be able to use any kind of router link component such as
- NuxtLink or router-link.
-
+ Items with navigation are defined with templating to be able to use a router link component, an external link or programmatic navigation.
+
+
+
+
diff --git a/doc/panelmenu/TemplateDoc.vue b/doc/panelmenu/TemplateDoc.vue
new file mode 100644
index 000000000..4566eaaf2
--- /dev/null
+++ b/doc/panelmenu/TemplateDoc.vue
@@ -0,0 +1,276 @@
+
+
+ PanelMenu offers item customization with the item template that receives the menuitem instance from the model as a parameter.
+
+
+
+
+
+
diff --git a/pages/panelmenu/index.vue b/pages/panelmenu/index.vue
index 4da02de32..4dab34415 100755
--- a/pages/panelmenu/index.vue
+++ b/pages/panelmenu/index.vue
@@ -13,10 +13,11 @@