diff --git a/CHANGELOG.md b/CHANGELOG.md index 6aa2451e..cdf321ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this project will be documented in this file. (Skipped major version 1, 2 and 3 to match versioning of IDS DataSpaceConnector, this way the major version of DSC, CM and UI indicates compatibility) +## [7.1.0] - 2021-06-29 + +### Added +- Show route error list on page "Data Offering > Routes" + ## [7.0.1] - 2021-06-17 ### Fixes diff --git a/package.json b/package.json index e62b89f4..bff3c604 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ids-configmanager-ui", - "version": "7.0.1", + "version": "7.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve --open --port 8082", diff --git a/src/pages/dataoffering/routes/RoutesPage.css b/src/pages/dataoffering/routes/RoutesPage.css index 818b3ba2..209f3d7d 100644 --- a/src/pages/dataoffering/routes/RoutesPage.css +++ b/src/pages/dataoffering/routes/RoutesPage.css @@ -21,3 +21,8 @@ display: flex; justify-content: center; } + +.route-errors-title { + font-weight: bold; + margin-top: 15px; +} \ No newline at end of file diff --git a/src/pages/dataoffering/routes/RoutesPage.html b/src/pages/dataoffering/routes/RoutesPage.html index 45092e73..5627d39f 100644 --- a/src/pages/dataoffering/routes/RoutesPage.html +++ b/src/pages/dataoffering/routes/RoutesPage.html @@ -30,6 +30,18 @@ + + + Route errors: + + + + + + + + \ No newline at end of file diff --git a/src/pages/dataoffering/routes/RoutesPage.js b/src/pages/dataoffering/routes/RoutesPage.js index a6471875..98f4a491 100644 --- a/src/pages/dataoffering/routes/RoutesPage.js +++ b/src/pages/dataoffering/routes/RoutesPage.js @@ -20,9 +20,25 @@ export default { sortable: false, align: 'right' }], + errorHeaders: [{ + text: 'Time', + value: 'timestamp', + width: 135 + }, { + text: 'Route ID', + value: 'routeId', + }, { + text: 'Error', + value: 'message' + }, { + text: 'Endpoint', + value: 'endpoint' + }], sortBy: 'description', + errorSortBy: 'timestamp', sortDesc: true, - routes: [] + routes: [], + routeErrors: [] }; }, mounted: function () { @@ -31,6 +47,7 @@ export default { methods: { async getRoutes() { this.$root.$emit('showBusyIndicator', true); + await this.getRouteErrors(); let response = await dataUtils.getRoutes(); if (response.name !== undefined && response.name == "Error") { this.$root.$emit('error', "Get routes failed."); @@ -45,6 +62,18 @@ export default { this.$root.$emit('showBusyIndicator', false); } }, + async getRouteErrors() { + let response = await dataUtils.getRouteErrors(); + if (response.name !== undefined && response.name == "Error") { + this.$root.$emit('error', "Get route errors failed."); + } else { + let routeErrors = response.reverse(); + for (let routeError of routeErrors) { + routeError.timestamp = routeError.timestamp.substring(0, 19).replace("T", " "); + } + this.$data.routeErrors = routeErrors; + } + }, deleteItem(item) { this.$refs.confirmationDialog.title = "Delete Route"; this.$refs.confirmationDialog.text = "Are you sure you want to delete the route '" + item.description + "'?"; diff --git a/src/utils/dataUtils.js b/src/utils/dataUtils.js index 3e576e9f..07397aa9 100644 --- a/src/utils/dataUtils.js +++ b/src/utils/dataUtils.js @@ -734,6 +734,17 @@ export default { }); }, + getRouteErrors() { + return new Promise(function (resolve) { + restUtils.call("GET", "/api/ui/route/error").then(response => { + resolve(response.data); + }).catch(error => { + console.log("Error in getRouteErrors(): ", error); + resolve(error); + }); + }); + }, + createNewRoute(description) { return new Promise(function (resolve) { let params = {