Newer
Older
Sébastien DA ROCHA
committed
<template>
<transition name="fadeDownUp">
<div
v-if="messages && messages.length > 0"
class="row over-content"
>
<div class="fourteen wide column">
<div
v-for="(message, index) in messages"
:key="'message-' + index"
:class="['ui', message.level ? message.level : 'info', 'message']"
>
<i
class="close icon"
aria-hidden="true"
@click="DISCARD_MESSAGE(message)"
/>
<div class="header">
class="info circle icon"
Informations
<ul class="list">
{{
message.comment
}}
</ul>
Sébastien DA ROCHA
committed
</div>
</div>
</div>
</transition>
<AppHeader />
<div id="content">
:class="{ active: loader.isLoading }"
class="ui inverted dimmer"
Sébastien DA ROCHA
committed
</div>

Timothee P
committed
<router-view class="page-content" />
Sébastien DA ROCHA
committed
</div>
</template>
<script
type="application/javascript"
:src="
baseUrl +
'resources/leaflet-control-geocoder-1.13.0/Control.Geocoder.js'
"
/>
Sébastien DA ROCHA
committed
<script>
import { mapMutations, mapState } from 'vuex';
Sébastien DA ROCHA
committed
import AppHeader from '@/components/AppHeader';
import AppFooter from '@/components/AppFooter';
Sébastien DA ROCHA
committed
export default {
Sébastien DA ROCHA
committed
Sébastien DA ROCHA
committed
},
data() {
return {
menuIsOpen: false,
rightMenuIsOpen: true,
width: window.innerWidth > 0 ? window.innerWidth : screen.width,
Sébastien DA ROCHA
committed
};
},
computed: {
'user',
'USER_LEVEL_PROJECTS',
'configuration',
'messages',
'loader',
'projects',
'project',
Sébastien DA ROCHA
committed
},
Sébastien DA ROCHA
committed
methods: {
...mapMutations(['DISCARD_MESSAGE']),
Sébastien DA ROCHA
committed
},
};
</script>
<style>
@import "./assets/styles/base.css";
@import "./assets/resources/semantic-ui-2.4.2/semantic.min.css";
.vertical {
flex-direction: column;
justify-content: center;
}
.leaflet-container {
background: white !important;
}
.flex {
display: flex;
}
/* keep above loader */
#menu-dropdown {
z-index: 1001;
}
@media screen and (max-width: 985px) {
.abstract{
display: none !important;
}
}
.mobile {
display: none !important;
}
min-width: 560px;
}
.menu.container {
width: auto !important;
}
.push-right-desktop {
margin-left: auto;
}
}
.desktop {
display: none !important;
}
div.dropdown-list {
width: 100vw;
left: -70px !important; /* should be the same than belows */
.menu.container a.header {
width: 70px;
}
.menu.container a.header > img {
margin: 0;
}
#menu-dropdown {
width: calc(100vw - 70px);
justify-content: space-between;
}
#menu-dropdown > span {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.row.over-content {
position: absolute; /* to display message info over page content */
width: calc(100% - 4em); /* 4em is #content left + right paddings */
top: calc(61px + 1em); /* 61p. is #app-header height defined in base.css */
right: 2em; /* 2em is #content left paddings */
animation: fadeInDown .5s;
}
animation: fadeOutUp .5s;
}
@keyframes fadeOutUp {
0% {
opacity: 1;
}
100% {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
.ui.message > .close.icon {
cursor: pointer;
position: absolute;
margin: 0em;
top: 0.78575em;
right: 0.5em;
opacity: 0.7;
-webkit-transition: opacity 0.1s ease;
transition: opacity 0.1s ease;
}