diff --git a/app/imports/ui/components/LabeledFab.vue b/app/imports/ui/components/LabeledFab.vue
index 0b77b3db..10d94217 100644
--- a/app/imports/ui/components/LabeledFab.vue
+++ b/app/imports/ui/components/LabeledFab.vue
@@ -3,6 +3,8 @@
fab
small
v-bind="$attrs"
+ :disabled="disabled"
+ :style="disabled ? 'background-color: #616161 !important;' : ''"
@click="$emit('click')"
>
{{ icon }}
@@ -18,7 +20,7 @@
* component creates a v-btn with a label.
*/
export default {
- props: ['icon', 'label'],
+ props: ['icon', 'label', 'disabled'],
}
diff --git a/app/imports/ui/creature/character/CharacterSheetFab.vue b/app/imports/ui/creature/character/CharacterSheetFab.vue
new file mode 100644
index 00000000..a5c8b1ef
--- /dev/null
+++ b/app/imports/ui/creature/character/CharacterSheetFab.vue
@@ -0,0 +1,104 @@
+
+
+
+
+ add
+ close
+
+
+
+
+
+
+
+
+
+
diff --git a/app/imports/ui/creature/character/CharacterSheetToolbar.vue b/app/imports/ui/creature/character/CharacterSheetToolbar.vue
index 7e08886c..2ea85c71 100644
--- a/app/imports/ui/creature/character/CharacterSheetToolbar.vue
+++ b/app/imports/ui/creature/character/CharacterSheetToolbar.vue
@@ -5,6 +5,7 @@
:color="toolbarColor"
:dark="isDark"
:light="!isDark"
+ extended
tabs
dense
>
@@ -73,11 +74,12 @@
>
+
@@ -119,8 +125,15 @@ import { theme } from '/imports/ui/theme.js';
import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js';
import { updateUserSharePermissions } from '/imports/api/sharing/sharing.js';
import isDarkColor from '/imports/ui/utility/isDarkColor.js';
+import CharacterSheetFab from '/imports/ui/creature/character/CharacterSheetFab.vue';
export default {
+ inject: {
+ context: { default: {} }
+ },
+ components: {
+ CharacterSheetFab,
+ },
data(){return {
theme,
}},
@@ -231,4 +244,8 @@ export default {
.character-sheet-toolbar .v-tabs__bar {
background: none !important;
}
+.character-sheet-fab {
+ bottom: -24px;
+ margin-right: -8px;
+}
diff --git a/app/imports/ui/creature/creatureProperties/CreaturePropertyCreationDialog.vue b/app/imports/ui/creature/creatureProperties/CreaturePropertyCreationDialog.vue
index 3359c841..0a78cba0 100644
--- a/app/imports/ui/creature/creatureProperties/CreaturePropertyCreationDialog.vue
+++ b/app/imports/ui/creature/creatureProperties/CreaturePropertyCreationDialog.vue
@@ -1,11 +1,11 @@
-
-
-
+
+
+
diff --git a/app/imports/ui/creature/creatureProperties/CreaturePropertyInsertForm.vue b/app/imports/ui/creature/creatureProperties/CreaturePropertyInsertForm.vue
index 925db1f3..872a0ef4 100644
--- a/app/imports/ui/creature/creatureProperties/CreaturePropertyInsertForm.vue
+++ b/app/imports/ui/creature/creatureProperties/CreaturePropertyInsertForm.vue
@@ -70,14 +70,22 @@ export default {
};},
watch: {
type(newType){
- if (!newType) return;
- this.schema = propertySchemasIndex[newType];
- this.validationContext = this.schema.newContext();
- let model = this.schema.clean({});
- model.type = newType;
- this.model = model;
+ this.changeType(newType);
},
},
+ mounted(){
+ this.changeType(this.type);
+ },
+ methods:{
+ changeType(type){
+ if (!type) return;
+ this.schema = propertySchemasIndex[type];
+ this.validationContext = this.schema.newContext();
+ let model = this.schema.clean({});
+ model.type = type;
+ this.model = model;
+ }
+ },
}
diff --git a/app/imports/ui/vueSetup.js b/app/imports/ui/vueSetup.js
index d3b10020..6cc1a8ea 100644
--- a/app/imports/ui/vueSetup.js
+++ b/app/imports/ui/vueSetup.js
@@ -25,7 +25,8 @@ for (const name in SVG_ICONS) {
}
Vue.use(VueMeteorTracker);
-Vue.config.meteor.freeze = true
+Vue.config.meteor.freeze = true;
+Vue.config.devtools = true;
Vue.use(Vuetify, {
theme,
iconfont: 'md',