diff --git a/src/components/Discover/StatusBar.vue b/src/components/Discover/StatusBar.vue index 0957bc1..da6d3a3 100644 --- a/src/components/Discover/StatusBar.vue +++ b/src/components/Discover/StatusBar.vue @@ -149,6 +149,7 @@ export default { }, async mounted() { let params = this.$route.params; + let parent = this.$route.meta.parent; switch (params.type) { case 'log': @@ -158,12 +159,12 @@ export default { this.createFilterId = params.fileId; break; case 'rule': - switch (params.checkType) { + switch (parent.type) { case 'log': - this.logId = params.checkFileId; + this.logId = parent.id; break; case 'filter': - this.createFilterId = params.checkFileId; + this.createFilterId = parent.id; } break; } diff --git a/src/router/index.js b/src/router/index.js index bc639ad..d19ee6c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -68,6 +68,9 @@ const routes = [ path: "/discover/conformance/:type/:fileId", name: "Conformance", component: Conformance, + mate: { + parent: {} + } }, // { // // type: rule(名稱待討論) diff --git a/src/views/Discover/Conformance/index.vue b/src/views/Discover/Conformance/index.vue index 3ee5e51..17bec6a 100644 --- a/src/views/Discover/Conformance/index.vue +++ b/src/views/Discover/Conformance/index.vue @@ -15,6 +15,7 @@ import ConformanceStore from '@/stores/conformance.js'; import StatusBar from '@/components/Discover/StatusBar.vue'; import ConformanceResults from '@/components/Discover/Conformance/ConformanceResults.vue'; import ConformanceSidebar from '@/components/Discover/Conformance/ConformanceSidebar.vue'; +import axios from 'axios'; export default { setup() { @@ -34,16 +35,8 @@ export default { }, async created() { let params = this.$route.params; - let parent; + let parent = this.$route.meta.parent; - this.isLoading = true; - await this.filesStore.fetchAllFiles(); - await this.allFiles.forEach(file => { - if(file.id == params.fileId) { - parent = file.parent; - this.conformanceParent = file.parent; - } - }); // type: log | filter | rule(名稱待討論) | log-check(MAP page 來的已存檔 rule) | filter-check(MAP page 來的已存檔 rule) switch (params.type) { case 'log': // FILES page 來的 log @@ -119,5 +112,19 @@ export default { this.conformanceRuleData = null; this.conformanceFileName = null; }, + async beforeRouteEnter(to, from, next) { + const filesStore = FilesStore(); + // Save token in Headers. + const token = document.cookie.replace(/(?:(?:^|.*;\s*)luciaToken\s*\=\s*([^;]*).*$)|^.*$/, "$1"); + axios.defaults.headers.common['Authorization'] = `Bearer ${token}`; + + await filesStore.fetchAllFiles(); + await filesStore.allFiles.forEach(file => { + if(file.id == to.params.fileId) { + to.meta.parent = file.parent; + } + }); + next(); + } }