Disable modal animation

This commit is contained in:
Marvin Scholz 2017-01-20 21:53:17 +01:00
parent 8e600051b8
commit d982446429
4 changed files with 27 additions and 9 deletions

View file

@ -6,15 +6,17 @@ Vue.component('modal', {
var app = new Vue({ var app = new Vue({
delimiters: ['[[', ']]'], delimiters: ['[[', ']]'],
el: '#app, #image-modal', el: '#app',
data: { data: {
mode: state, mode: state,
items: data, items: data,
currentItem: false, currentItem: false,
showModal: false showModal: false,
inboxCount: false
}, },
created: function () { created: function () {
window.addEventListener('keyup', this.handleKeyup); window.addEventListener('keyup', this.handleKeyup);
this.loadStats();
}, },
methods: { methods: {
detailPopup: function (itm, event) { detailPopup: function (itm, event) {
@ -68,6 +70,19 @@ var app = new Vue({
this.showModal = false; this.showModal = false;
} }
} }
},
loadStats: function () {
var req = new XMLHttpRequest();
req.addEventListener("load", function () {
stats = JSON.parse(req.responseText);
if (stats) {
app.inboxCount = stats.Count.Items.Inbox;
} else {
console.warn("Loading stats failed!");
}
});
req.open("GET", "/admin/stats");
req.send();
} }
} }
}) })
@ -79,6 +94,11 @@ exampleSocket.onopen = function (event) {
}; };
exampleSocket.onmessage = function (event) { exampleSocket.onmessage = function (event) {
item = JSON.parse(event.data); item = JSON.parse(event.data);
if (item.State === 0) {
app.inboxCount++;
} else {
app.loadStats();
}
if (item.State === state) { if (item.State === state) {
app.items.push(item); app.items.push(item);
} }

View file

@ -2,7 +2,7 @@
<!-- template for the modal component --> <!-- template for the modal component -->
<script type="text/x-template" id="modal-template"> <script type="text/x-template" id="modal-template">
<transition name="modal"> <!--<transition name="modal">-->
<div class="modal-mask"> <div class="modal-mask">
<div class="modal-wrapper"> <div class="modal-wrapper">
<div class="modal-container"> <div class="modal-container">
@ -28,13 +28,13 @@
</div> </div>
</div> </div>
</div> </div>
</transition> <!--</transition>-->
</script> </script>
<body> <body>
<div class="mdl-layout mdl-js-layout mdl-layout--no-desktop-drawer-button mdl-layout--fixed-header"> <div class="mdl-layout mdl-js-layout mdl-layout--no-desktop-drawer-button mdl-layout--fixed-header" id="app">
{{ template "menu.html" . }} {{ template "menu.html" . }}
<main class="mdl-layout__content" id="app" v-cloak="v-cloak"> <main class="mdl-layout__content" v-cloak="v-cloak">
<div class="mdl-grid"> <div class="mdl-grid">
<div class="mdl-cell mdl-cell--3-col" v-for="item in items"> <div class="mdl-cell mdl-cell--3-col" v-for="item in items">
<a v-on:click="detailPopup(item)"> <a v-on:click="detailPopup(item)">

View file

@ -6,7 +6,7 @@
<div class="mdl-layout-spacer"></div> <div class="mdl-layout-spacer"></div>
<!-- Navigation --> <!-- Navigation -->
<nav class="mdl-navigation mdl-layout--large-screen-only"> <nav class="mdl-navigation mdl-layout--large-screen-only">
<a class="mdl-navigation__link is-active" href="/admin/inbox">Inbox</a> <a class="mdl-navigation__link is-active" href="/admin/inbox"><span class="mdl-badge" :data-badge="(inboxCount) ? inboxCount : false">Inbox</span></a>
<a class="mdl-navigation__link" href="/admin/approved">Approved</a> <a class="mdl-navigation__link" href="/admin/approved">Approved</a>
<a class="mdl-navigation__link" href="/admin/rejected">Rejected</a> <a class="mdl-navigation__link" href="/admin/rejected">Rejected</a>
</nav> </nav>

View file

@ -61,12 +61,10 @@ func rejectSnap(c *gin.Context) {
func stats(c *gin.Context) { func stats(c *gin.Context) {
var ST Stats var ST Stats
database.Db.Begin()
database.Db.Model(database.Item{}).Where("state = ?", database.Inbox).Count(&ST.Count.Items.Inbox) database.Db.Model(database.Item{}).Where("state = ?", database.Inbox).Count(&ST.Count.Items.Inbox)
database.Db.Model(database.Item{}).Where("state = ?", database.Approved).Count(&ST.Count.Items.Approved) database.Db.Model(database.Item{}).Where("state = ?", database.Approved).Count(&ST.Count.Items.Approved)
database.Db.Model(database.Item{}).Where("state = ?", database.Rejected).Count(&ST.Count.Items.Rejected) database.Db.Model(database.Item{}).Where("state = ?", database.Rejected).Count(&ST.Count.Items.Rejected)
database.Db.Model(database.User{}).Where("blocked = ?", false).Count(&ST.Count.Users.Unblocked) database.Db.Model(database.User{}).Where("blocked = ?", false).Count(&ST.Count.Users.Unblocked)
database.Db.Model(database.User{}).Where("blocked = ?", true).Count(&ST.Count.Users.Blocked) database.Db.Model(database.User{}).Where("blocked = ?", true).Count(&ST.Count.Users.Blocked)
database.Db.Commit()
c.JSON(200, ST) c.JSON(200, ST)
} }