diff --git a/src/components/Discover/Filter/Funnel.vue b/src/components/Discover/Filter/Funnel.vue
index 704739c..8514cc4 100644
--- a/src/components/Discover/Filter/Funnel.vue
+++ b/src/components/Discover/Filter/Funnel.vue
@@ -40,6 +40,7 @@ import LoadingStore from '@/stores/loading.js';
import AllMapDataStore from '@/stores/allMapData.js';
export default {
+ props:['setRule'],
setup() {
const loadingStore = LoadingStore();
const allMapDataStore = AllMapDataStore();
diff --git a/src/components/Discover/SidebarFilter.vue b/src/components/Discover/SidebarFilter.vue
index 610fe8a..a48680d 100644
--- a/src/components/Discover/SidebarFilter.vue
+++ b/src/components/Discover/SidebarFilter.vue
@@ -86,7 +86,7 @@
-
+
diff --git a/src/stores/allMapData.js b/src/stores/allMapData.js
index 5c150af..84c7e18 100644
--- a/src/stores/allMapData.js
+++ b/src/stores/allMapData.js
@@ -30,10 +30,11 @@ export default defineStore('allMapDataStore', {
allFilterTrace: [],
httpStatus: 200,
hasResultRule: null, // click Apply 後檢查是否有 Data
- temporaryData: [], // 沒被 apply 的 Data
+ temporaryData: [], // 沒被 apply all 的 Data
postRuleData: [], // has-result API & temp-filters API 的 Data
ruleData: [], // Funnle view's data
isRuleData: [], // toggle button data
+ allFunnelData: [],
}),
getters: {
processMap: state => {
@@ -75,6 +76,9 @@ export default defineStore('allMapDataStore', {
filterTrace: state => {
return state.allFilterTrace;
},
+ allFunnels: state => {
+ return state.allFunnelData;
+ },
},
actions: {
/**
@@ -83,12 +87,12 @@ export default defineStore('allMapDataStore', {
async getAllMapData() {
let logId = this.logId;
let tempFilterId = this.tempFilterId;
- let filterId = this.createFilterId
+ let createfilterId = this.createFilterId
let api = '';
// 先判斷暫存 再判斷 filter 最後 log
if(tempFilterId != null) api = `/api/temp-filters/${tempFilterId}/discover`;
- else if(filterId!= null) api = `/api/filters/${filterId}/discover`;
+ else if(createfilterId!= null) api = `/api/filters/${createfilterId}/discover`;
else api = `/api/logs/${logId}/discover`;
try {
@@ -233,10 +237,9 @@ export default defineStore('allMapDataStore', {
};
try {
- const response = await this.$axios.post(api, createFilterObj)
+ const response = await this.$axios.post(api, createFilterObj);
this.createFilterId = response.data.id;
this.tempFilterId = null;
- console.log('this.createFilterId', this.createFilterId);
}catch(error) {
this.httpStatus = error.request.status;
await delay();
@@ -246,6 +249,27 @@ export default defineStore('allMapDataStore', {
await delay(500);
$toast.default('Failed to load the Filters.',{position: 'bottom'});
};
- }
+ },
+ /**
+ * Fetch event logs api
+ */
+ async fetchFunnel(createfilterId) {
+ const api = `/api/filters/${createfilterId}`;
+
+ if(createfilterId){
+ try {
+ const response = await this.$axios.get(api);
+ this.temporaryData = response.data.rules;
+ }catch(error) {
+ this.httpStatus = error.request.status;
+ await delay();
+ loading.isLoading = true;
+ await delay(1000);
+ loading.isLoading = false;
+ await delay(500);
+ $toast.default('Failed to load the Filters.',{position: 'bottom'});
+ }
+ }
+ },
},
})
diff --git a/src/views/Discover/index.vue b/src/views/Discover/index.vue
index 34df867..98108d2 100644
--- a/src/views/Discover/index.vue
+++ b/src/views/Discover/index.vue
@@ -49,7 +49,7 @@
+ @submit-all="createCy(mapType)" ref="sidevarFilterRef">
@@ -68,9 +68,9 @@ export default {
const loadingStore = LoadingStore();
const allMapDataStore = AllMapDataStore();
const { isLoading } = storeToRefs(loadingStore);
- const { processMap, bpmn, stats, insights, traces, traceTaskSeq, cases, filterTasks, filterStartToEnd, filterEndToStart, filterTimeframe, filterTrace, } = storeToRefs(allMapDataStore);
+ const { processMap, bpmn, stats, insights, traces, traceTaskSeq, cases, filterTasks, filterStartToEnd, filterEndToStart, filterTimeframe, filterTrace, temporaryData, isRuleData, ruleData, createFilterId } = storeToRefs(allMapDataStore);
- return { isLoading, processMap, bpmn, stats, insights, traces, traceTaskSeq, cases, filterTasks, filterStartToEnd, filterEndToStart, filterTimeframe, filterTrace, allMapDataStore}
+ return { isLoading, processMap, bpmn, stats, insights, traces, traceTaskSeq, cases, filterTasks, filterStartToEnd, filterEndToStart, filterTimeframe, filterTrace, createFilterId, temporaryData, isRuleData, ruleData, allMapDataStore}
},
components: {
SidebarView,
@@ -300,6 +300,10 @@ export default {
await this.allMapDataStore.getTraceDetail();
this.createCy(this.mapType);
await this.allMapDataStore.getFilterParams();
+ await this.allMapDataStore.fetchFunnel(this.createFilterId)
+ this.isRuleData = await Array.from(this.temporaryData);
+ this.ruleData = await this.isRuleData.map(e => this.$refs.sidevarFilterRef.setRule(e));
+
this.isLoading = true;
await new Promise(resolve => setTimeout(resolve, 1000));
this.isLoading = false;
diff --git a/src/views/Files/index.vue b/src/views/Files/index.vue
index e3b44e9..1486c42 100644
--- a/src/views/Files/index.vue
+++ b/src/views/Files/index.vue
@@ -133,7 +133,10 @@
*/
enterDiscover(file){
let logId;
- if(file.fileType === 'Log') logId = file.id;
+ if(file.fileType === 'Log'){
+ logId = file.id;
+ this.createFilterId = null;
+ }
else if(file.fileType === 'Filter') {
this.createFilterId = file.id;
logId = file.log.id;
diff --git a/src/views/MainContainer.vue b/src/views/MainContainer.vue
index e168187..6ada27b 100644
--- a/src/views/MainContainer.vue
+++ b/src/views/MainContainer.vue
@@ -27,7 +27,7 @@ export default {
const loadingStore = LoadingStore();
const allMapDataStore = AllMapDataStore();
const { checkLogin } = loginStore;
- const { tempFilterId, createFilterId, temporaryData, postRuleData } = storeToRefs(allMapDataStore);
+ const { tempFilterId, createFilterId, temporaryData, postRuleData } = storeToRefs(allMapDataStore);
return { checkLogin, loadingStore, temporaryData, tempFilterId, createFilterId, postRuleData, allMapDataStore };
},