Skip to content

Commit

Permalink
optimize: sub rel add and remove logic in console SubjectRelationDial…
Browse files Browse the repository at this point in the history
…og.vue (#659)
  • Loading branch information
chivehao authored Aug 16, 2024
1 parent b8b940e commit 794f3a4
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions console/src/modules/content/subject/SubjectRelationDialog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -92,25 +92,24 @@ const loadSubjectRelationTabItems = ()=>{
countMap.set(type, 1);
}
});
const tabItems:SubjectRelationTabItem[] = [];
subjectRelationTabItems.value = [];
countMap.forEach((val, key) => {
tabItems.push({
subjectRelationTabItems.value.push({
type: key,
label: t('module.subject.relaction.type.' + key)
+ '(' + val + ')',
count: val,
});
});
subjectRelationTabItems.value = tabItems;
console.debug('subjectRelationTabItems', subjectRelationTabItems.value);
if (subjectRelationTabItems.value.length > 0) {
activeTabName.value = subjectRelationTabItems.value[0].label
}
}
const typeRelSubjectMap = ref<Map<SubjectRelationRelationTypeEnum, Subject[]>>()
const typeRelSubjectMap = ref<Map<SubjectRelationRelationTypeEnum, Subject[]>>(new Map())
const loadTypeRelSubjectMap = async ()=>{
if (!(subjectRelations.value instanceof Array)) return;
const typeRelSubMap = new Map<SubjectRelationRelationTypeEnum, Subject[]>();
typeRelSubjectMap.value.clear();
await subjectRelations.value.forEach(async (subRel) => {
const type = subRel.relation_type;
const relSubs: Set<number> = subRel.relation_subjects;
Expand All @@ -119,21 +118,23 @@ const loadTypeRelSubjectMap = async ()=>{
let tmpSub = await subjectStore.getSubjectById(id);
subjects.push(tmpSub);
});
typeRelSubMap.set(type, subjects);
typeRelSubjectMap.value.set(type, subjects);
});
typeRelSubjectMap.value = typeRelSubMap;
}
const subjectRelationPostDialogVisible = ref(false);
const onSubjectRelationPostDialogClose = async () => {
// await loadSubjectRelations();
window.location.reload();
await loadSubjectRelations();
setTimeout(() => {
window.location.reload();
}, 500);
};
const onSubjectRelationDeleteDialogClose = async () => {
// await loadSubjectRelations();
window.location.reload();
await loadSubjectRelations();
setTimeout(() => {
window.location.reload();
}, 500);
};
const subjectRelationDeleteDialogVisible = ref(false);
Expand Down

0 comments on commit 794f3a4

Please sign in to comment.