menu
- {{ character.name }}
+ {{ creature.name }}
refresh
@@ -143,6 +143,10 @@
required: true,
},
},
+ reactiveProvide: {
+ name: 'computationContext',
+ include: ['creature'],
+ },
data(){return {
theme,
tab: 0,
@@ -181,7 +185,7 @@
component: 'delete-confirmation-dialog',
elementId: 'creature-menu',
data: {
- name: this.character.name,
+ name: this.creature.name,
typeName: 'Character'
},
callback(confirmation){
@@ -204,13 +208,10 @@
return [this.creatureId];
},
},
- character(){
+ creature(){
return Creatures.findOne(this.creatureId) || {};
},
},
- provide: {
- creature: this.character,
- }
}
diff --git a/app/imports/ui/creature/character/characterSheetTabs/StatsTab.vue b/app/imports/ui/creature/character/characterSheetTabs/StatsTab.vue
index 740fabf4..dcd09470 100644
--- a/app/imports/ui/creature/character/characterSheetTabs/StatsTab.vue
+++ b/app/imports/ui/creature/character/characterSheetTabs/StatsTab.vue
@@ -162,6 +162,14 @@
:data-id="action._id"
@click="clickProperty({_id: action._id})"
/>
+ Attacks
+
@@ -180,6 +188,7 @@
import ResourceCard from '/imports/ui/properties/components/attributes/ResourceCard.vue';
import SpellSlotListTile from '/imports/ui/properties/components/attributes/SpellSlotListTile.vue';
import ActionListTile from '/imports/ui/properties/components/actions/ActionListTile.vue';
+ import AttackListTile from '/imports/ui/properties/components/actions/AttackListTile.vue';
const getAttributeOfType = function(charId, type){
return CreatureProperties.find({
@@ -215,6 +224,7 @@
ResourceCard,
SpellSlotListTile,
ActionListTile,
+ AttackListTile,
},
props: {
creatureId: {
@@ -300,6 +310,14 @@
sort: {order: 1},
});
},
+ attacks(){
+ return CreatureProperties.find({
+ 'ancestors.id': this.creatureId,
+ type: 'attack',
+ }, {
+ sort: {order: 1},
+ });
+ },
},
methods: {
clickProperty({_id}){
diff --git a/app/imports/ui/properties/components/actions/ActionListTile.vue b/app/imports/ui/properties/components/actions/ActionListTile.vue
index 38af3baa..6f834193 100644
--- a/app/imports/ui/properties/components/actions/ActionListTile.vue
+++ b/app/imports/ui/properties/components/actions/ActionListTile.vue
@@ -10,7 +10,12 @@
+
+
diff --git a/app/imports/ui/vueSetup.js b/app/imports/ui/vueSetup.js
index 11460432..eb588b0d 100644
--- a/app/imports/ui/vueSetup.js
+++ b/app/imports/ui/vueSetup.js
@@ -4,6 +4,7 @@ import Vuetify from "vuetify";
import store from "/imports/ui/vuexStore.js";
import VueMeteorTracker from 'vue-meteor-tracker';
import AppLayout from '/imports/ui/layouts/AppLayout.vue';
+import ReactiveProvide from 'vue-reactive-provide';
import router from "/imports/ui/router.js";
import { theme } from '/imports/ui/theme.js';
import "vuetify/dist/vuetify.min.css";
@@ -15,6 +16,9 @@ Vue.use(Vuetify, {
theme,
iconfont: "md",
});
+Vue.use(ReactiveProvide, {
+ name: 'reactiveProvide', // default value
+})
// App start
Meteor.startup(() => {
diff --git a/app/package-lock.json b/app/package-lock.json
index b16ee609..30707cef 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -1273,18 +1273,18 @@
"integrity": "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw=="
},
"mathjs": {
- "version": "5.10.3",
- "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-5.10.3.tgz",
- "integrity": "sha512-ySjg30BC3dYjQm73ILZtwcWzFJde0VU6otkXW/57IjjuYRa3Qaf0Kb8pydEuBZYtqW2OxreAtsricrAmOj3jIw==",
+ "version": "6.6.4",
+ "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-6.6.4.tgz",
+ "integrity": "sha512-fvmP89ujJbDAC8ths7FZh7PWdA71dfA5WJVAzJbQhSDCHK1aBk8WRf1XcTw51ERs+sKx9nYBGsRshqmb/oe8Ag==",
"requires": {
- "complex.js": "2.0.11",
- "decimal.js": "10.2.0",
- "escape-latex": "1.2.0",
- "fraction.js": "4.0.12",
- "javascript-natural-sort": "0.7.1",
- "seed-random": "2.2.0",
- "tiny-emitter": "2.1.0",
- "typed-function": "1.1.0"
+ "complex.js": "^2.0.11",
+ "decimal.js": "^10.2.0",
+ "escape-latex": "^1.2.0",
+ "fraction.js": "^4.0.12",
+ "javascript-natural-sort": "^0.7.1",
+ "seed-random": "^2.2.0",
+ "tiny-emitter": "^2.1.0",
+ "typed-function": "^1.1.1"
}
},
"mem": {
@@ -2702,9 +2702,9 @@
"dev": true
},
"typed-function": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-1.1.0.tgz",
- "integrity": "sha512-TuQzwiT4DDg19beHam3E66oRXhyqlyfgjHB/5fcvsRXbfmWPJfto9B4a0TBdTrQAPGlGmXh/k7iUI+WsObgORA=="
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-1.1.1.tgz",
+ "integrity": "sha512-RbN7MaTQBZLJYzDENHPA0nUmWT0Ex80KHItprrgbTPufYhIlTePvCXZxyQK7wgn19FW5bnuaBIKcBb5mRWjB1Q=="
},
"underscore": {
"version": "1.10.2",
@@ -2769,6 +2769,11 @@
"lodash.omit": "^4.5.0"
}
},
+ "vue-reactive-provide": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/vue-reactive-provide/-/vue-reactive-provide-0.3.0.tgz",
+ "integrity": "sha512-hx2JtRPRvne9NY4s1r7ASsCaO8CIby30qwC1kGQRxsrWApO3he+rziGOzTDSfvmr852zWMb11n6qAwHCz6C/vw=="
+ },
"vue-router": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.6.tgz",
diff --git a/app/package.json b/app/package.json
index ef60434e..aba940f6 100644
--- a/app/package.json
+++ b/app/package.json
@@ -25,7 +25,7 @@
"date-fns": "^1.30.1",
"lodash": "^4.17.15",
"marked": "^0.8.2",
- "mathjs": "^5.10.3",
+ "mathjs": "^6.6.4",
"meteor-node-stubs": "^0.3.3",
"moo": "^0.5.1",
"nearley": "^2.19.1",
@@ -35,6 +35,7 @@
"underscore": "^1.10.2",
"vue": "2.6.10",
"vue-meteor-tracker": "^2.0.0-beta.5",
+ "vue-reactive-provide": "^0.3.0",
"vue-router": "^3.1.6",
"vuedraggable": "^2.23.2",
"vuetify": "^1.5.24",
@@ -61,9 +62,16 @@
],
"parser": "vue-eslint-parser",
"rules": {
- "vue/component-tags-order": ["error", {
- "order": ["template", "script", "style"]
- }]
+ "vue/component-tags-order": [
+ "error",
+ {
+ "order": [
+ "template",
+ "script",
+ "style"
+ ]
+ }
+ ]
}
}
],