lot of fixes & cleaning
This commit is contained in:
@@ -1,17 +1,20 @@
|
||||
<template lang="pug">
|
||||
b-modal(hide-footer hide-header
|
||||
@hide='$router.go(-1)' size='lg' :visible='true')
|
||||
@hide='$router.replace("/")' size='lg' :visible='true')
|
||||
h4.text-center Admin
|
||||
b-tabs(pills)
|
||||
b-tab
|
||||
|
||||
b-tab.pt-1
|
||||
template(slot='title')
|
||||
v-icon(name='users')
|
||||
span {{$t('Users')}}
|
||||
b-table(:items='users' :fields='userFields' striped hover)
|
||||
b-table(:items='users' :fields='userFields' striped small hover
|
||||
:per-page='5' :current-page='userPage')
|
||||
template(slot='action' slot-scope='data')
|
||||
b-button.mr-1(:variant='data.item.is_active?"warning":"success"' @click='toggle(data.item)') {{data.item.is_active?$t('Deactivate'):$t('Activate')}}
|
||||
b-button(:variant='data.item.is_admin?"danger":"warning"' @click='toggleAdmin(data.item)') {{data.item.is_admin?$t('Remove Admin'):$t('Admin')}}
|
||||
b-tab
|
||||
b-pagination(:per-page='5' v-model='userPage' :total-rows='users.length')
|
||||
b-tab.pt-1
|
||||
template(slot='title')
|
||||
v-icon(name='map-marker-alt')
|
||||
span {{$t('Places')}}
|
||||
@@ -29,12 +32,15 @@
|
||||
template(slot='title')
|
||||
v-icon(name='tag')
|
||||
span {{$t('Tags')}}
|
||||
b-table(:items='tags' :fields='tagFields' striped hover)
|
||||
p You can choose colors of your tags
|
||||
b-table(:items='tags' :fields='tagFields'
|
||||
striped small hover :per-page='10' :current-page='tagPage')
|
||||
template(slot='tag' slot-scope='data')
|
||||
b-badge(:style='{backgroundColor: data.item.color}') {{data.item.tag}}
|
||||
template(slot='color' slot-scope='data')
|
||||
el-color-picker(v-model='data.item.color' @change='updateColor(data.item)')
|
||||
b-tab
|
||||
b-pagination(:per-page='10' v-model='tagPage' :total-rows='tags.length')
|
||||
b-tab.pt-1
|
||||
template(slot='title')
|
||||
v-icon(name='tools')
|
||||
span {{$t('Settings')}}
|
||||
@@ -51,8 +57,12 @@ export default {
|
||||
users: [],
|
||||
userFields: ['email', 'action'],
|
||||
placeFields: ['name', 'address'],
|
||||
placePage: 1,
|
||||
userPage: 1,
|
||||
tagPage: 1,
|
||||
tagFields: ['tag', 'color'],
|
||||
description: '',
|
||||
place: {name: '', address: '' }
|
||||
}
|
||||
},
|
||||
async mounted () {
|
||||
@@ -83,4 +93,4 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
@@ -43,7 +43,8 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
const color = event.tags.length && event.tags[0].color ? event.tags[0].color : 'rgba(200,200,200,0.5)'
|
||||
let color = event.tags.length && event.tags[0].color ? event.tags[0].color : 'rgba(200,200,200,0.5)'
|
||||
if (event.past) color = 'rgba(200,200,200,0.5)'
|
||||
if (event.multidate) {
|
||||
e.dates = {
|
||||
start: event.start_datetime, end: event.end_datetime
|
||||
@@ -60,18 +61,19 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
filteredEvents () {
|
||||
if (!this.filters.tags.length && !this.filters.places.length) return this.events
|
||||
return this.events.filter(e => {
|
||||
if (this.filters.tags.length) {
|
||||
const m = intersection(e.tags.map(t => t.tag), this.filters.tags)
|
||||
if (m.length>0) return true
|
||||
}
|
||||
if (this.filters.places.length) {
|
||||
if (this.filters.places.find(p => p === e.place.name))
|
||||
return true
|
||||
}
|
||||
return 0
|
||||
})
|
||||
return this.$store.getters.filteredEvents
|
||||
// if (!this.filters.tags.length && !this.filters.places.length) return this.events
|
||||
// return this.events.filter(e => {
|
||||
// if (this.filters.tags.length) {
|
||||
// const m = intersection(e.tags.map(t => t.tag), this.filters.tags)
|
||||
// if (m.length>0) return true
|
||||
// }
|
||||
// if (this.filters.places.length) {
|
||||
// if (this.filters.places.find(p => p === e.place.name))
|
||||
// return true
|
||||
// }
|
||||
// return 0
|
||||
// })
|
||||
},
|
||||
...mapState(['events', 'tags', 'filters']),
|
||||
attributes () {
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
b-card(bg-variant='dark' text-variant='white'
|
||||
@click='$router.push("/event/" + event.id)'
|
||||
:img-src='imgPath')
|
||||
h5 {{event.title}}
|
||||
strong {{event.title}}
|
||||
div <v-icon name='clock'/> {{event.start_datetime|datetime}}
|
||||
span(v-b-popover.hover="event.place && event.place.address || ''") <v-icon name='map-marker-alt'/> {{event.place.name}}
|
||||
span <v-icon name='map-marker-alt'/> {{event.place.name}}
|
||||
br
|
||||
b-badge(:style='{backgroundColor: tag.color}' v-for='tag in event.tags' href='#'
|
||||
@click.stop='addSearchTag(tag)') {{tag.tag}}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template lang="pug">
|
||||
b-modal#eventDetail(hide-footer hide-header
|
||||
@hide='$router.go(-1)' size='lg' :visible='true')
|
||||
@hide='$router.replace("/")' size='lg' :visible='true')
|
||||
|
||||
b-card(bg-variant='dark' href='#' text-variant='white'
|
||||
no-body, :img-src='imgPath')
|
||||
|
||||
@@ -13,24 +13,15 @@ import filters from '@/filters.js'
|
||||
import Event from '@/components/Event'
|
||||
import Calendar from '@/components/Calendar'
|
||||
import {intersection} from 'lodash'
|
||||
import moment from 'moment'
|
||||
|
||||
export default {
|
||||
name: 'Home',
|
||||
components: { Event, Calendar },
|
||||
computed: {
|
||||
...mapState(['events', 'filters']),
|
||||
filteredEvents () {
|
||||
if (!this.filters.tags.length && !this.filters.places.length) return this.events
|
||||
return this.events.filter(e => {
|
||||
if (this.filters.tags.length) {
|
||||
const m = intersection(e.tags.map(t => t.tag), this.filters.tags)
|
||||
if (m.length>0) return true
|
||||
}
|
||||
if (this.filters.places.length) {
|
||||
if (this.filters.places.find(p => p === e.place.name))
|
||||
return true
|
||||
}
|
||||
return 0
|
||||
})
|
||||
return this.$store.getters.filteredEvents.filter(e => !e.past)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template lang='pug'>
|
||||
b-modal(hide-header hide-footer @shown="$refs.email.focus()"
|
||||
@hide='$router.go(-1)' :visible='true')
|
||||
@hide='$router.replace("/")' :visible='true')
|
||||
h4.text-center.center {{$t('Login')}}
|
||||
b-form
|
||||
//- p.text-muted Sign In to your account
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template lang='pug'>
|
||||
b-modal(hide-header hide-footer
|
||||
@hide='$router.go(-1)' :visible='true' @shown='$refs.email.focus()')
|
||||
@hide='$router.replace("/")' :visible='true' @shown='$refs.email.focus()')
|
||||
h4.text-center.center {{$t('Register')}}
|
||||
b-form
|
||||
p.text-muted(v-html="$t('register_explanation')")
|
||||
@@ -42,8 +42,6 @@ export default {
|
||||
async register () {
|
||||
try {
|
||||
const user = await api.register(this.user)
|
||||
// this.login(user)
|
||||
// this.user = { name: '' }
|
||||
this.$router.go(-1)
|
||||
this.$message({
|
||||
message: this.$t('registration_complete'),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template lang="pug">
|
||||
b-modal(hide-header hide-footer no-close-on-backdrop
|
||||
@hide='$router.go(-1)' no-close-on-esc size='lg' :visible='true')
|
||||
@hide='$router.replace("/")' no-close-on-esc size='lg' :visible='true')
|
||||
h4.text-center.center {{edit?$t('Edit event'):$t('New event')}}
|
||||
b-tabs#tabss(pills v-model='activeTab')
|
||||
b-form
|
||||
|
||||
Reference in New Issue
Block a user