Discover: fix filter's save done.
This commit is contained in:
@@ -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');
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user