Added the ability to hide slots when full

This commit is contained in:
Stefan Zermatten
2020-11-05 14:05:17 +02:00
parent 749799d869
commit 7cb65954b5
5 changed files with 48 additions and 22 deletions

View File

@@ -8,6 +8,8 @@ export default function recomputeSlotFullness(ancestorId){
let children = CreatureProperties.find({
'parent.id': slot._id,
removed: {$ne: true},
}, {
fields: {slotQuantityFilled: 1}
}).fetch();
let totalFilled = 0;
children.forEach(child => {
@@ -17,9 +19,15 @@ export default function recomputeSlotFullness(ancestorId){
totalFilled++;
}
});
if (slot.totalFilled !== totalFilled){
let spaceLeft;
if (slot.quantityExpected === 0){
spaceLeft = null;
} else {
spaceLeft = slot.quantityExpected - totalFilled;
}
if (slot.totalFilled !== totalFilled || slot.spaceLeft !== spaceLeft){
CreatureProperties.update(slot._id, {
$set: {totalFilled},
$set: {totalFilled, spaceLeft},
}, {
selector: {type: 'propertySlot'}
});

View File

@@ -34,6 +34,10 @@ let SlotSchema = new SimpleSchema({
type: String,
optional: true,
},
hideWhenFull: {
type: Boolean,
optional: true,
}
});
const ComputedOnlySlotSchema = new SimpleSchema({
@@ -53,7 +57,11 @@ const ComputedOnlySlotSchema = new SimpleSchema({
totalFilled: {
type: SimpleSchema.Integer,
defaultValue: 0,
}
},
spaceLeft: {
type: SimpleSchema.Integer,
optional: true,
},
});
const ComputedSlotSchema = new SimpleSchema()