That's all looking great, lets call it a night for today

This commit is contained in:
Alicia Sykes 2019-08-17 06:23:16 +01:00
parent cfdb34a891
commit 2456352d2a
4 changed files with 32 additions and 69 deletions

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="collapsable"> <div class="collapsable">
<input id="collapsible" class="toggle" type="checkbox" checked> <input :id="`collapsible-${uniqueKey}`" class="toggle" type="checkbox" checked>
<label for="collapsible" class="lbl-toggle" tabindex="0"> <label :for="`collapsible-${uniqueKey}`" class="lbl-toggle" tabindex="0">
<h2>{{ title }}</h2> <h2>{{ title }}</h2>
</label> </label>
<div class="collapsible-content"> <div class="collapsible-content">
@ -16,6 +16,7 @@
export default { export default {
name: 'CollapsableContainer', name: 'CollapsableContainer',
props: { props: {
uniqueKey: String,
title: String title: String
} }
} }
@ -25,7 +26,7 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
.collapsable { .collapsable {
min-width: 350px; width: 310px;
padding: 5px; padding: 5px;
margin: 10px; margin: 10px;
border-radius: 10px; border-radius: 10px;
@ -101,7 +102,7 @@ export default {
} }
.collapsible-content .content-inner { .collapsible-content .content-inner {
padding: 0.5rem 1rem; padding: 0.5rem;
} }
} }
</style> </style>

View File

@ -58,6 +58,7 @@ export default {
.item { .item {
width: 120px; width: 120px;
height: 100px; height: 100px;
color: #1CA8DD;
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
margin: 8px; margin: 8px;

View File

@ -1,82 +1,51 @@
<template> <template>
<div class="item-group-outer"> <Collapsable :title="title" :uniqueKey="groupId">
<h2>{{ title }}</h2> <div v-if="!items || items.length < 1" class="no-items">
<div class="item-group-inner"> No Items to Show Yet
<span v-if="!items || items.length < 1" class="no-items"> </div>
No Items to Show Yet <div v-else class="there-are-items">
</span> <Item
<div v-else class="there-are-items"> v-for="item in items"
<Item :key="item.id"
v-for="item in items" :id="item.id"
:key="item.id" :title="item.title"
:id="item.id" :description="item.description"
:title="item.title" :icon="item.icon"
:description="item.description" />
:icon="item.icon" </div>
/> </Collapsable>
</div>
</div>
</div>
</template> </template>
<script> <script>
import Item from '@/components/Item.vue' import Item from '@/components/Item.vue'
import Collapsable from '@/components/Collapsable.vue'
export default { export default {
name: 'ItemGroup', name: 'ItemGroup',
props: { props: {
groupId: String,
title: String, title: String,
items: Array items: Array
}, },
components: { components: {
Collapsable,
Item Item
} }
} }
</script> </script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss"> <style scoped lang="scss">
.item-group-outer {
width: 300px;
height: 500px;
border-radius: 10px;
padding: 5px;
display: flex;
flex-direction: column;
background: #1CA8DD;
background: -webkit-linear-gradient(to left top, #9F86FF, #1CA8DD, #007AE1);
background: linear-gradient(to left top, #9F86FF, #1CA8DD, #007AE1);
box-shadow: 1px 1px 2px #130f23;
h2 {
color: #2f323ae6;
font-size: 1.5em;
margin: 0.4em;
text-shadow: 1px 1px 2px #056bc1;
}
}
.item-group-inner {
color: #1CA8DD;
background: #2f323ae6;
height: 100%;
width: 100%;
text-align: left;
border-radius: 0 0 10px 10px;
display: flex;
justify-content: space-evenly;
flex-direction: column;
}
.no-items { .no-items {
background: #607d8b33;
width: 100px; width: 100px;
text-align: center;
margin: 0 auto; margin: 0 auto;
padding: 0.8em; padding: 0.8em;
border-radius: 10px; text-align: center;
box-shadow: 1px 1px 2px #373737;
cursor: default; cursor: default;
border-radius: 10px;
background: #607d8b33;
color: #1CA8DD;
box-shadow: 1px 1px 2px #373737;
} }
.there-are-items { .there-are-items {

View File

@ -6,16 +6,10 @@
<ItemGroup <ItemGroup
v-for="item in items" v-for="item in items"
:key="item.id" :key="item.id"
:id="item.id" :groupId="item.id"
:title="item.name" :title="item.name"
:items="item.items" :items="item.items"
/> />
<ItemGroup title="External Infrastructure"/>
<ItemGroup title="Utilities"/>
<Collapsable title="Server Management">
<p>Lorem Ipsum</p>
</Collapsable>
</div> </div>
</div> </div>
</template> </template>
@ -23,14 +17,12 @@
<script> <script>
import ItemGroup from '@/components/ItemGroup.vue' import ItemGroup from '@/components/ItemGroup.vue'
import Collapsable from '@/components/Collapsable.vue';
import * as linkData from './../data/item-data.json' import * as linkData from './../data/item-data.json'
export default { export default {
name: 'home', name: 'home',
components: { components: {
ItemGroup, ItemGroup
Collapsable,
}, },
data: () => { data: () => {
return { return {