From f6d80f6ae492f936280edccf6b56fa60dd4627d7 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Mon, 4 Nov 2019 13:27:31 +0200 Subject: [PATCH] Made big improvements to library page in preparation of adding library nodes to character sheets --- .../ui/creature/character/CharacterSheet.vue | 2 +- app/imports/ui/creature/character/TreeTab.vue | 59 ++++++++- .../CreaturePropertyFromLibraryDialog.vue | 35 +++++ app/imports/ui/dialogStack/DialogBase.vue | 17 ++- .../ui/dialogStack/DialogComponentIndex.js | 2 + app/imports/ui/layouts/Sidebar.vue | 2 +- app/imports/ui/library/LibraryAndNode.vue | 94 ++++++++++++++ app/imports/ui/library/LibraryBrowser.vue | 122 ++++++++++++++++++ .../ui/library/LibraryContentsContainer.vue | 28 ++-- app/imports/ui/pages/Libraries.vue | 71 ---------- app/imports/ui/pages/Library.vue | 108 +--------------- app/imports/ui/router.js | 13 +- app/imports/ui/styles/speedDial.css | 2 +- 13 files changed, 345 insertions(+), 210 deletions(-) create mode 100644 app/imports/ui/creature/creatureProperties/CreaturePropertyFromLibraryDialog.vue create mode 100644 app/imports/ui/library/LibraryAndNode.vue create mode 100644 app/imports/ui/library/LibraryBrowser.vue delete mode 100644 app/imports/ui/pages/Libraries.vue diff --git a/app/imports/ui/creature/character/CharacterSheet.vue b/app/imports/ui/creature/character/CharacterSheet.vue index d549c6a1..1cddf8b8 100644 --- a/app/imports/ui/creature/character/CharacterSheet.vue +++ b/app/imports/ui/creature/character/CharacterSheet.vue @@ -21,7 +21,7 @@ - + diff --git a/app/imports/ui/creature/character/TreeTab.vue b/app/imports/ui/creature/character/TreeTab.vue index 4194a1c1..462f6659 100644 --- a/app/imports/ui/creature/character/TreeTab.vue +++ b/app/imports/ui/creature/character/TreeTab.vue @@ -35,13 +35,46 @@ - - add - + + + + Property from library + + book + + + + New property + + edit + + + @@ -62,6 +95,7 @@ data(){ return { organize: false, selected: undefined, + fab: false, };}, props: { creatureId: { @@ -84,6 +118,17 @@ } }); }, + propertyFromLibrary(){ + let that = this; + this.$store.commit('pushDialogStack', { + component: 'creature-property-from-library-dialog', + elementId: 'insert-creature-property-fab', + callback(creatureProperty){ + console.log(creatureProperty); + return; + } + }); + }, editCreatureProperty(){ let that = this; this.$store.commit('pushDialogStack', { diff --git a/app/imports/ui/creature/creatureProperties/CreaturePropertyFromLibraryDialog.vue b/app/imports/ui/creature/creatureProperties/CreaturePropertyFromLibraryDialog.vue new file mode 100644 index 00000000..d2752de1 --- /dev/null +++ b/app/imports/ui/creature/creatureProperties/CreaturePropertyFromLibraryDialog.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/app/imports/ui/dialogStack/DialogBase.vue b/app/imports/ui/dialogStack/DialogBase.vue index ff219374..fc2f7891 100644 --- a/app/imports/ui/dialogStack/DialogBase.vue +++ b/app/imports/ui/dialogStack/DialogBase.vue @@ -20,8 +20,17 @@ example > bread > crumb - - +
+ +
+ @@ -32,7 +41,7 @@ - + @@ -73,7 +82,7 @@ z-index: 1; border-radius: 2px 2px 0 0; } - #base-dialog-body { + #base-dialog-body, .unwrapped-content { flex-grow: 1; overflow: auto; } diff --git a/app/imports/ui/dialogStack/DialogComponentIndex.js b/app/imports/ui/dialogStack/DialogComponentIndex.js index 8f8884b1..4caee188 100644 --- a/app/imports/ui/dialogStack/DialogComponentIndex.js +++ b/app/imports/ui/dialogStack/DialogComponentIndex.js @@ -2,6 +2,7 @@ import AttributeDialog from '/imports/ui/properties/attributes/AttributeDialog.v import AttributeDialogContainer from '/imports/ui/properties/attributes/AttributeDialogContainer.vue'; import AttributeCreationDialog from '/imports/ui/properties/attributes/AttributeCreationDialog.vue'; import CreaturePropertyCreationDialog from '/imports/ui/creature/creatureProperties/CreaturePropertyCreationDialog.vue'; +import CreaturePropertyFromLibraryDialog from '/imports/ui/creature/creatureProperties/CreaturePropertyFromLibraryDialog.vue' import FeatureCreationDialog from '/imports/ui/properties/features/FeatureCreationDialog.vue'; import FeatureDialogContainer from '/imports/ui/properties/features/FeatureDialogContainer.vue'; import LibraryCreationDialog from '/imports/ui/library/LibraryCreationDialog.vue'; @@ -14,6 +15,7 @@ export default { AttributeDialogContainer, AttributeCreationDialog, CreaturePropertyCreationDialog, + CreaturePropertyFromLibraryDialog, FeatureCreationDialog, FeatureDialogContainer, LibraryCreationDialog, diff --git a/app/imports/ui/layouts/Sidebar.vue b/app/imports/ui/layouts/Sidebar.vue index 4d21944a..36e85c90 100644 --- a/app/imports/ui/layouts/Sidebar.vue +++ b/app/imports/ui/layouts/Sidebar.vue @@ -98,7 +98,7 @@ let links = [ {title: "Home", icon: "home", to: "/"}, {title: "Creatures", icon: "group", to: "/characterList", vif: Meteor.userId()}, - {title: "Libraries", icon: "book", to: "/library", vif: Meteor.userId()}, + {title: "Library", icon: "book", to: "/library", vif: Meteor.userId()}, {title: "Send Feedback", icon: "bug_report", to: "/feedback"}, {title: "Patreon", icon: "", href: "https://www.patreon.com/dicecloud"}, {title: "Github", icon: "", href: "https://github.com/ThaumRystra/DiceCloud/tree/version-2"}, diff --git a/app/imports/ui/library/LibraryAndNode.vue b/app/imports/ui/library/LibraryAndNode.vue new file mode 100644 index 00000000..1ddd1428 --- /dev/null +++ b/app/imports/ui/library/LibraryAndNode.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/app/imports/ui/library/LibraryBrowser.vue b/app/imports/ui/library/LibraryBrowser.vue new file mode 100644 index 00000000..72b8aa36 --- /dev/null +++ b/app/imports/ui/library/LibraryBrowser.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/app/imports/ui/library/LibraryContentsContainer.vue b/app/imports/ui/library/LibraryContentsContainer.vue index 4b29834e..16c03e67 100644 --- a/app/imports/ui/library/LibraryContentsContainer.vue +++ b/app/imports/ui/library/LibraryContentsContainer.vue @@ -1,16 +1,14 @@ - - diff --git a/app/imports/ui/pages/Library.vue b/app/imports/ui/pages/Library.vue index 46051733..83b6de5f 100644 --- a/app/imports/ui/pages/Library.vue +++ b/app/imports/ui/pages/Library.vue @@ -1,119 +1,21 @@ diff --git a/app/imports/ui/router.js b/app/imports/ui/router.js index dba5c69f..17d04b1c 100644 --- a/app/imports/ui/router.js +++ b/app/imports/ui/router.js @@ -4,7 +4,6 @@ import Vue from 'vue'; // Components import Home from '/imports/ui/pages/Home.vue'; import CharacterList from '/imports/ui/pages/CharacterList.vue'; -import Libraries from '/imports/ui/pages/Libraries.vue'; import Library from '/imports/ui/pages/Library.vue'; import CharacterSheetPage from '/imports/ui/pages/CharacterSheetPage.vue'; import SignIn from '/imports/ui/pages/SignIn.vue' ; @@ -22,7 +21,6 @@ const routerFactory = new RouterFactory({ scrollBehavior: nativeScrollBehavior, }); - RouterFactory.configure(factory => { factory.addRoutes([ { @@ -34,17 +32,16 @@ RouterFactory.configure(factory => { component: CharacterList, },{ path: '/library', - component: Libraries, - },{ - path: '/library/:id', component: Library, },{ path: '/character/:id/:urlName', - component: CharacterSheetPage, - //component: NotImplemented, + //component: CharacterSheetPage, + component: NotImplemented, },{ path: '/character/:id', - component: CharacterSheetPage, + //component: CharacterSheetPage, + component: NotImplemented, + },{ path: '/sign-in', component: SignIn, diff --git a/app/imports/ui/styles/speedDial.css b/app/imports/ui/styles/speedDial.css index b7694705..e6fb0021 100644 --- a/app/imports/ui/styles/speedDial.css +++ b/app/imports/ui/styles/speedDial.css @@ -1,3 +1,3 @@ .v-speed-dial__list{ - margin-bottom: 12px; + padding-bottom: 12px; }