Level up dialog now working

This commit is contained in:
Stefan Zermatten
2022-07-05 15:40:55 +02:00
parent 1a71c2cfa7
commit b8a03245ea
4 changed files with 22 additions and 18 deletions

View File

@@ -27,14 +27,10 @@ export default function getSlotFillFilter({slot, libraryIds}){
filter.variableName = slot.variableName;
// Only search for levels the class needs
const levels = [];
if (slot.missingLevels && slot.missingLevels.length) {
levels.push(...slot.missingLevels);
} else if (slot.level) {
levels.push(slot.level);
}
if (levels.length) {
filter.level = {$or: levels};
filter.level = {$in: slot.missingLevels};
} else {
filter.level = (slot.level || 0) + 1;
}
}
let tagsOr = [];

View File

@@ -12,6 +12,8 @@ const LIBRARY_NODE_TREE_FIELDS = {
order: 1,
parent: 1,
ancestors: 1,
// SlotFillers
slotQuantityFilled: 1,
// Effect
operation: 1,
targetTags: 1,

View File

@@ -26,7 +26,6 @@
:string="model.description"
/>
<p>
{{ slotPropertyTypeName }} with tags:
<property-tags
v-for="(tags, index) in tagsSearched.or"
:key="index"
@@ -247,12 +246,6 @@ export default {
});
return {or, not};
},
slotPropertyTypeName(){
if (!this.model) return;
if (!this.model.slotType) return 'Property';
let propName = getPropertyName(this.model.slotType);
return propName;
},
},
methods: {
loadMore(){
@@ -352,7 +345,7 @@ export default {
return names;
},
libraryNodes(){
let filter = getSlotFillFilter({slot: this.model});
let filter = getSlotFillFilter({ slot: this.model });
let nodes = LibraryNodes.find(filter, {
sort: {name: 1, order: 1}
}).fetch();

View File

@@ -28,10 +28,10 @@
</div>
</div>
</property-field>
<property-description
<property-field
name="Missing Levels"
mono
:model="model.missingLevels &&
:value="model.missingLevels &&
(model.missingLevels.length || undefined) &&
model.missingLevels.join(', ')
"
@@ -73,6 +73,7 @@
<script lang="js">
import propertyViewerMixin from '/imports/ui/properties/viewers/shared/propertyViewerMixin.js';
import insertPropertyFromLibraryNode from '/imports/api/creature/creatureProperties/methods/insertPropertyFromLibraryNode.js';
export default {
mixins: [propertyViewerMixin],
@@ -83,13 +84,25 @@ export default {
},
methods: {
levelUpDialog(){
let classId = this.model._id;
this.$store.commit('pushDialogStack', {
component: 'level-up-dialog',
elementId: 'level-up-btn',
data: {
creatureId: this.creatureId,
creatureId: this.context.creatureId,
classId: this.model._id,
},
callback(nodeIds){
if (!nodeIds || !nodeIds.length) return;
let newPropertyId = insertPropertyFromLibraryNode.call({
nodeIds,
parentRef: {
'id': classId,
'collection': 'creatureProperties',
},
});
return `tree-node-${newPropertyId}`;
}
});
},
}