diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 0a5598c32..4d3def2db 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -359,6 +359,7 @@ "close": "Close", "code_not_present": "Code not present", "code_not_reachable": "Code not reachable", + "collection_projects": "Collection Projects", "collectionLogic": "Project Collection Logic", "collection_indicator_tooltip": "Collection project with values calculated based on children.", "comment": "Comment", diff --git a/src/plugins/table.js b/src/plugins/table.js index bd3b95274..d7476ad30 100644 --- a/src/plugins/table.js +++ b/src/plugins/table.js @@ -6,6 +6,7 @@ import 'bootstrap'; import 'jquery-treegrid/js/jquery.treegrid.min.js'; import 'bootstrap-table/dist/bootstrap-table.js'; import 'bootstrap-table/dist/extensions/treegrid/bootstrap-table-treegrid.min.js'; +import 'bootstrap-table/dist/extensions/defer-url/bootstrap-table-defer-url.js'; import BootstrapTable from 'bootstrap-table/dist/bootstrap-table-vue.esm.js'; Vue.component('BootstrapTable', BootstrapTable); diff --git a/src/router/index.js b/src/router/index.js index 3f66346dc..3caf680c1 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,7 +10,7 @@ const DefaultContainer = () => import('@/containers/DefaultContainer'); // Views const Dashboard = () => import('@/views/Dashboard'); -const ProjectList = () => import('@/views/portfolio/projects/ProjectList'); +const ProjectListView = () => import('@/views/portfolio/projects/ProjectListView'); const TagList = () => import('@/views/portfolio/tags/TagList.vue'); const ComponentSearch = () => import('@/views/portfolio/components/ComponentSearch'); @@ -130,7 +130,7 @@ function configRoutes() { { path: 'projects', name: 'Projects', - component: ProjectList, + component: ProjectListView, meta: { title: i18n.t('message.projects'), i18n: 'message.projects', @@ -144,6 +144,7 @@ function configRoutes() { alias: [ 'projects/:uuid/overview', 'projects/:uuid/components', + 'projects/:uuid/collectionprojects', 'projects/:uuid/services', 'projects/:uuid/dependencyGraph', 'projects/:uuid/findings', diff --git a/src/shared/common.js b/src/shared/common.js index fb294b253..03dc8d517 100644 --- a/src/shared/common.js +++ b/src/shared/common.js @@ -407,7 +407,11 @@ $common.componentClassifierLabelFormatter = (i18n) => { */ $common.componentClassifierLabelProjectUrlFormatter = (i18n) => { return function (value) { - let url = '../projects/?classifier=' + value; + // if column defines a routerFunc returning the router we use a more robust solution + let url = !this.routerFunc ? + '../projects/?classifier=' + value : + this.routerFunc().resolve({name: 'Projects', query: {'classifier': value}}).href; + switch (value) { case 'APPLICATION': case 'FRAMEWORK': diff --git a/src/views/portfolio/projects/Project.vue b/src/views/portfolio/projects/Project.vue index 014895c50..71a5805a6 100644 --- a/src/views/portfolio/projects/Project.vue +++ b/src/views/portfolio/projects/Project.vue @@ -71,6 +71,7 @@ {{ project.version }} + {{ $t('message.inactive').toUpperCase() }} @@ -220,7 +221,7 @@ style="border-left: 0; border-right: 0; border-top: 0" /> - + - + + + + + - +