Add environment page
This commit is contained in:
parent
e53570539e
commit
0a53808d73
|
@ -1,6 +1,7 @@
|
|||
import Vue from 'vue'
|
||||
import Router from 'vue-router'
|
||||
import Applications from '@/views/Applications'
|
||||
import Environment from '@/views/Environment'
|
||||
import Environments from '@/views/Environments'
|
||||
|
||||
Vue.use(Router)
|
||||
|
@ -17,6 +18,12 @@ export default new Router({
|
|||
name: 'environments',
|
||||
component: Environments,
|
||||
props: true,
|
||||
},
|
||||
{
|
||||
path: '/:id/environments/:environmentName',
|
||||
name: 'environment',
|
||||
component: Environment,
|
||||
props: true,
|
||||
}
|
||||
]
|
||||
})
|
||||
|
|
241
src/views/Environment.vue
Normal file
241
src/views/Environment.vue
Normal file
|
@ -0,0 +1,241 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="fixed pin-t w-full z-30">
|
||||
<navbar></navbar>
|
||||
|
||||
<title-block>
|
||||
<template slot="left">
|
||||
<div class="text-xs mb-3">
|
||||
<ol class="list-reset flex">
|
||||
<li class="flex items-center pr-1">
|
||||
<router-link to="/" class="text-blue-dark no-underline hover:underline mr-1">Applications</router-link>
|
||||
<svg class="w-3 h-3 fill-current text-grey" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M12.95 10.707l.707-.707L8 4.343 6.586 5.757 10.828 10l-4.242 4.243L8 15.657l4.95-4.95z" fill-rule="evenodd"/></svg>
|
||||
</li>
|
||||
<li class="flex items-center pr-1">
|
||||
<router-link :to="{ name: 'environments' }" class="text-blue-dark no-underline hover:underline mr-1">{{ application.name }}</router-link>
|
||||
<svg class="w-3 h-3 fill-current text-grey" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M12.95 10.707l.707-.707L8 4.343 6.586 5.757 10.828 10l-4.242 4.243L8 15.657l4.95-4.95z" fill-rule="evenodd"/></svg>
|
||||
</li>
|
||||
<li>{{ environment.name }}</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<button class="flex flex-1 items-center justify-between md:justify-start">
|
||||
<div class="text-2xl font-hairline mr-2">{{ application.name }} : {{ environment.name }}</div>
|
||||
<svg class="h-6 w-6 text-blue-dark fill-current" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__down-arrow"></use></svg>
|
||||
</button>
|
||||
</template>
|
||||
|
||||
<template slot="right">
|
||||
<header-buttons :links="[
|
||||
{ title: 'Add database', icon: 'actions__new-database', disabled: false },
|
||||
{ title: 'Git Info', icon: 'actions__info', disabled: false },
|
||||
{ title: 'Rename', icon: 'actions__edit', disabled: false },
|
||||
{ title: 'Cancel', icon: 'actions__remove--circle', disabled: false },
|
||||
]"></header-buttons>
|
||||
</template>
|
||||
</title-block>
|
||||
</div>
|
||||
|
||||
<div class="mt-48">
|
||||
<div class="-mt-4 md:-mt-2 flex flex-row-reverse h-full">
|
||||
<div class="flex-1 p-4 lg:p-12 ml-16 lg:ml-64 overflow-x-hidden">
|
||||
<div class="mb-6">
|
||||
<div>
|
||||
<h1 class="text-hairline mb-2">Overview</h1>
|
||||
|
||||
<application-tags :type="application.type" :level="application.level"></application-tags>
|
||||
</div>
|
||||
|
||||
<div class="my-10">
|
||||
<a :href="environment.url" class="flex items-center text-sm text-blue-dark no-underline hover:underline focus:underline">
|
||||
<svg class="h-6 w-6 fill-current mr-1" role="presentation"><use xlink:href="/img/icons.symbol.svg#alpha__globe"></use></svg>
|
||||
{{ environment.url }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="mb-6">
|
||||
<div class="flex flex-wrap -mx-4 -mb-4">
|
||||
<div class="w-full md:w-1/3 px-4 mb-4">
|
||||
<div class="border border-grey rounded shadow bg-white overflow-hidden">
|
||||
<div class="border-t-4 border-teal">
|
||||
<div class="border-b border-grey-dark">
|
||||
<div class="px-3 py-4">
|
||||
<div class="flex flex-row-reverse">
|
||||
<div class="flex-1">
|
||||
<h2 class="text-grey-darker text-base mb-1">Code</h2>
|
||||
<div class="text-xs text-grey-darker">{{ environment.name }}: {{ environment.label }}</div>
|
||||
</div>
|
||||
|
||||
<div class="mr-3">
|
||||
<svg class="h-8 w-8 fill-current text-teal" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__code"></use></svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="list-reset flex -ml-px">
|
||||
<li class="w-1/2 flex-1 text-center border-l border-grey-dark">
|
||||
<a href="#0" class="py-3 text-blue-dark text-xs font-bold no-underline hover:underline focus:underline hover:bg-grey-lighter focus:bg-grey-lighter focus:outline-none block">
|
||||
<svg class="h-6 w-6 fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__fork"></use></svg>
|
||||
<span class="block">Deploy</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="w-1/2 flex-1 text-center border-l border-grey-dark">
|
||||
<a href="#0" class="py-3 text-blue-dark text-xs font-bold no-underline hover:underline focus:underline hover:bg-grey-lighter focus:bg-grey-lighter focus:outline-none block">
|
||||
<svg class="h-6 w-6 fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__switch"></use></svg>
|
||||
<span class="block">Switch</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full md:w-1/3 px-4 mb-4">
|
||||
<div class="border border-grey rounded shadow bg-white overflow-hidden">
|
||||
<div class="border-t-4 border-teal">
|
||||
<div class="border-b border-grey-dark">
|
||||
<div class="px-3 py-4">
|
||||
<div class="flex flex-row-reverse">
|
||||
<div class="flex-1">
|
||||
<h2 class="text-grey-darker text-base mb-1">Databases</h2>
|
||||
<div class="text-xs text-grey-darker">{{ environment.name }}</div>
|
||||
</div>
|
||||
|
||||
<div class="mr-3">
|
||||
<svg class="h-8 w-8 fill-current text-teal" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__database"></use></svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="list-reset flex -ml-px">
|
||||
<li class="w-1/2 flex-1 text-center border-l border-grey-dark">
|
||||
<a href="#0" class="py-3 text-blue-dark text-xs font-bold no-underline hover:underline focus:underline hover:bg-grey-lighter focus:bg-grey-lighter focus:outline-none block">
|
||||
<svg class="h-6 w-6 fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__copy"></use></svg>
|
||||
<span class="block">Copy</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="w-1/2 flex-1 text-center border-l border-grey-dark">
|
||||
<a href="#0" class="py-3 text-blue-dark text-xs font-bold no-underline hover:underline focus:underline hover:bg-grey-lighter focus:bg-grey-lighter focus:outline-none block">
|
||||
<svg class="h-6 w-6 fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__backup"></use></svg>
|
||||
<span class="block">Back up</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="w-1/2 flex-1 text-center border-l border-grey-dark">
|
||||
<a href="#0" class="py-3 text-blue-dark text-xs font-bold no-underline hover:underline focus:underline hover:bg-grey-lighter focus:bg-grey-lighter focus:outline-none block">
|
||||
<svg class="h-6 w-6 fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__restore"></use></svg>
|
||||
<span class="block">Restore</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full md:w-1/3 px-4 mb-4">
|
||||
<div class="border border-grey rounded shadow bg-white overflow-hidden">
|
||||
<div class="border-t-4 border-teal">
|
||||
<div class="border-b border-grey-dark">
|
||||
<div class="px-3 py-4">
|
||||
<div class="flex flex-row-reverse">
|
||||
<div class="flex-1">
|
||||
<h2 class="text-grey-darker text-base mb-1">Files</h2>
|
||||
<div class="text-xs text-grey-darker">{{ environment.name }}</div>
|
||||
</div>
|
||||
|
||||
<div class="mr-3">
|
||||
<svg class="h-8 w-8 fill-current text-teal" role="presentation"><use xlink:href="/img/icons.symbol.svg#objects__environment"></use></svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="list-reset flex -ml-px">
|
||||
<li class="w-1/2 flex-1 text-center border-l border-grey-dark">
|
||||
<a href="#0" class="py-3 text-blue-dark text-xs font-bold no-underline hover:underline focus:underline hover:bg-grey-lighter focus:bg-grey-lighter focus:outline-none block">
|
||||
<svg class="h-6 w-6 fill-current mb-2" role="presentation"><use xlink:href="/img/icons.symbol.svg#actions__copy"></use></svg>
|
||||
<span class="block">Copy</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="lg:flex lg:items-baseline mb-2">
|
||||
<div class="mr-16 mb-4 lg:mb-0">
|
||||
<h1 class="text-4xl font-hairline mb-2">Environments</h1>
|
||||
|
||||
<application-tags :type="application.type" :level="application.level"></application-tags>
|
||||
</div>
|
||||
|
||||
<div class="lg:flex lg:flex-row-reverse flex-1 justify-between _bg-blue items-baseline">
|
||||
<div class="w-full lg:w-1/2 xl:w-1/3">
|
||||
<form action="#">
|
||||
<input type="text" placeholder="Filter environments" class="w-full py-2 px-3 border border-grey-darker rounded">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="flex-1">
|
||||
<toggle-help @toggle="help.hidden = !help.hidden"></toggle-help>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<sidebar :links="[
|
||||
{ title: 'Environments', icon: 'alpha__grid', active: true, disabled: false },
|
||||
{ title: 'Product Keys', icon: 'locations__keys', active: false, disabled: true },
|
||||
{ title: 'Security', icon: 'alpha__security', active: false, disabled: true },
|
||||
{ title: 'Acquia Search', icon: 'actions__search', active: false, disabled: false },
|
||||
]"></sidebar>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ApplicationTags from '@/components/Application/ApplicationTags'
|
||||
import data from '@/data.json'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ApplicationTags,
|
||||
},
|
||||
|
||||
props: {
|
||||
id: String,
|
||||
environmentName: String,
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
applications: data.applications,
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
application: function () {
|
||||
return this.applications[this.id]
|
||||
},
|
||||
environment: function () {
|
||||
return this.application['environments'][this.environmentName]
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
Reference in a new issue