57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'
|
|
import FolderGroupCard from '/imports/client/ui/properties/components/folders/FolderGroupCard.vue';
|
|
import softRemoveProperty from '/imports/api/creature/creatureProperties/methods/softRemoveProperty.js';
|
|
import { snackbar } from '/imports/client/ui/components/snackbars/SnackbarQueue.js';
|
|
|
|
function getFolders(creatureId, tab, location) {
|
|
return CreatureProperties.find({
|
|
'ancestors.id': creatureId,
|
|
groupStats: true,
|
|
inactive: { $ne: true },
|
|
removed: { $ne: true },
|
|
tab,
|
|
location,
|
|
}, {
|
|
sort: {
|
|
order: 1,
|
|
}
|
|
});
|
|
}
|
|
|
|
export default {
|
|
components: {
|
|
FolderGroupCard,
|
|
},
|
|
meteor: {
|
|
startFolders() {
|
|
return getFolders(this.creatureId, this.tabName, 'start');
|
|
},
|
|
endFolders() {
|
|
return getFolders(this.creatureId, this.tabName, 'end');
|
|
},
|
|
},
|
|
methods: {
|
|
clickProperty({ _id }) {
|
|
this.$store.commit('pushDialogStack', {
|
|
component: 'creature-property-dialog',
|
|
elementId: `${_id}`,
|
|
data: { _id },
|
|
});
|
|
},
|
|
clickTreeProperty({ _id }) {
|
|
this.$store.commit('pushDialogStack', {
|
|
component: 'creature-property-dialog',
|
|
elementId: `tree-node-${_id}`,
|
|
data: { _id },
|
|
});
|
|
},
|
|
softRemove(_id) {
|
|
softRemoveProperty.call({ _id }, error => {
|
|
if (error) {
|
|
snackbar({ text: error.reason || error.message || error.toString() });
|
|
console.error(error);
|
|
}
|
|
});
|
|
},
|
|
}
|
|
}; |