Discover: fix filter's save done.

This commit is contained in:
chiayin
2023-05-03 13:25:18 +08:00
parent 51b56c0ccb
commit 162af24a2a
5 changed files with 32 additions and 24 deletions

View File

@@ -25,7 +25,7 @@
</div>
</div>
<!-- Button -->
<div class="">
<div>
<div class="float-right space-x-4 px-4 py-2">
<button type="button" class="btn btn-sm " :class="[ temporaryData.length === 0 ? 'btn-disable' : 'btn-neutral']" :disabled="temporaryData.length === 0" @click="deleteRule('all')">Delete All</button>
<button type="button" class="btn btn-sm" :class="[ temporaryData.length === 0 ? 'btn-disable' : 'btn-neutral']" :disabled="temporaryData.length === 0" @click="submitAll">Apply All</button>
@@ -61,11 +61,14 @@ export default {
if(!e) this.temporaryData[index] = 0;
else this.temporaryData[index] = rule;
},
// header:Funnel 刪除全部的 Funnel
/**
* header:Funnel 刪除全部的 Funnel
*/
deleteRule(index) {
if(index === 'all') {
this.temporaryData = [];
this.isRuleData = [];
this.ruleData = [];
this.$toast.success('All deleted.');
}else{
this.$toast.success(`Delete ${this.ruleData[index].label}.`);
@@ -74,7 +77,9 @@ export default {
this.ruleData.splice(index, 1);
}
},
// header:Funnel 發送暫存的選取資料
/**
* header:Funnel 發送暫存的選取資料
*/
async submitAll() {
this.postRuleData = this.temporaryData.filter(item => item !== 0); // 取得 submit 的資料,有 toggle button 的話,找出並刪除陣列中為 0 的項目
if(!this.postRuleData?.length) return this.$toast.error('Not selected');

View File

@@ -439,7 +439,7 @@ export default {
}else {
this.temporaryData.push(...postData);
this.isRuleData.push(...postData);
this.ruleData.push(this.setRule(...postData));
this.ruleData.push(...postData.map(e => this.setRule(e)))
}
this.reset(false);
this.isLoading = true;

View File

@@ -36,7 +36,7 @@
<!-- Other Page: Save and Download -->
<!-- Save data 跳重新命名沒有 data 跳要不要儲存沒有動都不跳 -->
<div v-else class="space-x-4">
<button class="btn btn-sm" :class="[ disabledSave ? 'btn-disable' : 'btn-neutral']" :disabled="disabledSave" @click="showAlert">Save</button>
<button class="btn btn-sm" :class="[ disabledSave ? 'btn-disable' : 'btn-neutral']" :disabled="disabledSave" @click="saveModal">Save</button>
<button class="btn btn-sm btn-neutral">Download</button>
</div>
</div>
@@ -79,9 +79,9 @@ export default {
setup() {
const store = filesStore();
const allMapDataStore = AllMapDataStore();
const { tempFilterId, createfilterId, filterName, postRuleData, isUpdataFilter } = storeToRefs(allMapDataStore);
const { logId, tempFilterId, createFilterId, filterName, postRuleData, isUpdataFilter } = storeToRefs(allMapDataStore);
return { store, allMapDataStore, tempFilterId, createfilterId, filterName, postRuleData, isUpdataFilter}
return { store, allMapDataStore, logId, tempFilterId, createFilterId, filterName, postRuleData, isUpdataFilter}
},
components: {
IconSearch,
@@ -90,33 +90,36 @@ export default {
savedSuccessfully
},
mounted() {
this.showNavbarBreadcrumb = this.$route.matched[0].name !== ('AuthContainer')? true : false;
this.getNavViewName();
let filterId = this.$route.params.filterId;
this.createfilterId = filterId;
this.showNavbarBreadcrumb = this.$route.matched[0].name !== ('AuthContainer')? true : false;
this.getNavViewName();
},
methods: {
/**
* switch navbar item
*/
switchNavItem(event) {
this.store.filesTag = event.target.innerText;
},
getNavViewName() {
this.navViewName = this.$route.name.toUpperCase();
if(this.navViewName === 'DISCOVERLOG' || this.navViewName === 'DISCOVERFILTER'){
this.navViewName = 'DISCOVER';
}
if(this.navViewName === 'DISCOVERLOG' || this.navViewName === 'DISCOVERFILTER') this.navViewName = 'DISCOVER';
},
showAlert() {
/**
* Save button' modal
*/
async saveModal() {
// 先判斷有沒有 filter Id有就儲存 return沒有就往下走
// 沒有 filter Id, 有暫存 tempFilterId Id 可以另存新檔
console.log(this.createfilterId);
if(this.createfilterId) {
this.allMapDataStore.updataFilter();
console.log(this.isUpdataFilter);
if(this.isUpdataFilter) savedSuccessfully(this.filterName);
this.tempFilterId = false
}else{
if(this.createFilterId) {
await this.allMapDataStore.updataFilter();
if(this.isUpdataFilter) await savedSuccessfully(this.filterName);
this.tempFilterId = null;
}else if(this.logId){
saveFilter(this.allMapDataStore.addFilterId);
}
};
}
},
}