- {{ $t('portlets.noPortletInstancesYet') }}
+
+ fa-braille
+ {{ $t('portlets.noPortletInstancesYet') }}
+
+ {{ $t('layout.portletInstance.add') }}
+
diff --git a/layout-webapp/src/main/webapp/vue-app/portlets/initComponents.js b/layout-webapp/src/main/webapp/vue-app/portlets/initComponents.js
index 4a8b0b52d..857d070cf 100644
--- a/layout-webapp/src/main/webapp/vue-app/portlets/initComponents.js
+++ b/layout-webapp/src/main/webapp/vue-app/portlets/initComponents.js
@@ -41,6 +41,7 @@ import PortletInput from './components/instances/form/PortletInput.vue';
import PortletList from './components/portlets/List.vue';
import PortletItem from './components/portlets/Item.vue';
+import PortletMenu from './components/portlets/Menu.vue';
import PortletInstancesDrawer from './components/portlets/drawer/InstancesDrawer.vue';
@@ -66,6 +67,7 @@ const components = {
'portlets-list': PortletList,
'portlets-item': PortletItem,
+ 'portlets-item-menu': PortletMenu,
'portlets-item-instances-drawer': PortletInstancesDrawer,
};
diff --git a/layout-webapp/src/main/webapp/vue-app/portlets/main.js b/layout-webapp/src/main/webapp/vue-app/portlets/main.js
index 951914c1f..85302f68d 100644
--- a/layout-webapp/src/main/webapp/vue-app/portlets/main.js
+++ b/layout-webapp/src/main/webapp/vue-app/portlets/main.js
@@ -47,6 +47,7 @@ export function init() {
portlets: [],
portletInstances: [],
portletInstanceCategories: [],
+ selectedCategoryId: null,
loading: 0,
collator: new Intl.Collator(eXo.env.portal.language, {numeric: true, sensitivity: 'base'}),
}),
@@ -74,12 +75,17 @@ export function init() {
this.$root.$on('portlet-instance-deleted', this.refreshPortletInstances);
this.$root.$on('portlet-instance-category-saved', this.refreshPortletInstanceCategories);
this.$root.$on('portlet-instance-category-deleted', this.refreshPortletInstanceCategories);
+ this.$root.$on('portlet-instance-category-deleted', this.refreshPortletInstances);
+ this.$root.$on('portlet-instance-category-selected', this.selectCategory);
this.refreshPortlets();
this.refreshPortletInstances();
this.refreshPortletInstanceCategories();
},
methods: {
+ selectCategory(categoryId) {
+ this.selectedCategoryId = categoryId;
+ },
refreshPortlets() {
this.loading++;
return this.$portletService.getPortlets()