From 3efba9b3e4e472f050f8c7195c2a4ec3867b98e4 Mon Sep 17 00:00:00 2001
From: Joakim Olsson
Date: Sat, 2 Mar 2019 21:51:25 +0100
Subject: [PATCH] Add handling of filters
---
components/pages/events/Event/index.vue | 12 +-
components/pages/events/index.vue | 77 +++++-------
components/pages/filters/List/index.vue | 42 +++++++
components/pages/filters/index.vue | 154 ++++++++++++++++++++++++
layouts/default.vue | 10 +-
pages/filters.vue | 18 +++
utils/graph-client/index.js | 11 +-
utils/graph-client/mutationStrings.js | 30 ++---
utils/graph-client/mutations.js | 30 ++---
utils/graph-client/queries.js | 2 +
utils/graph-client/queryStrings.js | 10 ++
11 files changed, 309 insertions(+), 87 deletions(-)
create mode 100644 components/pages/filters/List/index.vue
create mode 100644 components/pages/filters/index.vue
create mode 100644 pages/filters.vue
diff --git a/components/pages/events/Event/index.vue b/components/pages/events/Event/index.vue
index b5e912b..26a4be9 100644
--- a/components/pages/events/Event/index.vue
+++ b/components/pages/events/Event/index.vue
@@ -1,7 +1,7 @@
-
+ mdi-eye-off{{event.band.name}}
@@ -9,10 +9,10 @@
Tid: {{event.time}}
- Var: mdi-eye-off {{event.danceHall.name}}
- Ort: mdi-eye-off {{event.danceHall.city}}
- Kommun: mdi-eye-off {{event.danceHall.municipality}}
- Län: mdi-eye-off {{event.danceHall.state}}
+ Var:mdi-eye-off{{event.danceHall.name}}
+ Ort:mdi-eye-off{{event.danceHall.city}}
+ Kommun:mdi-eye-off{{event.danceHall.municipality}}
+ Län:mdi-eye-off{{event.danceHall.state}}
@@ -41,7 +41,7 @@
type: Boolean,
required: true
},
- ignore: {
+ toggleIgnore: {
type: Function,
required: true
}
diff --git a/components/pages/events/index.vue b/components/pages/events/index.vue
index 027d25e..fb5796f 100644
--- a/components/pages/events/index.vue
+++ b/components/pages/events/index.vue
@@ -6,7 +6,7 @@
{{submitInfo}}
-
+
OBS! Logga in för att kunna filtrera listan
@@ -40,7 +40,7 @@
-
+
@@ -59,11 +59,11 @@
findEvents,
findEventsAndOrigins,
fetchAddress,
- ignoreBand,
- ignoreDanceHall,
- ignoreCity,
- ignoreMunicipality,
- ignoreState,
+ toggleIgnoreBand,
+ toggleIgnoreDanceHall,
+ toggleIgnoreCity,
+ toggleIgnoreMunicipality,
+ toggleIgnoreState,
saveOrigin,
removeOrigin
} from "~/utils/graph-client";
@@ -101,9 +101,6 @@
isLoading() {
return this.status === "loading";
},
- isLoadFailed() {
- return this.status === "load-failed";
- },
isReady() {
return this.status === "ready";
},
@@ -113,8 +110,8 @@
isSubmitted() {
return this.status === "submitted";
},
- isSubmitFailed() {
- return this.status === "submit-failed";
+ isRefreshing() {
+ return this.status === "refreshing";
},
hasUser() {
return this.user !== undefined && this.user !== null;
@@ -136,8 +133,8 @@
}
},
methods: {
- fetchEvents () {
- this.status = "loading";
+ fetchEvents (status) {
+ this.status = status || "loading";
const origins = this.origins;
if (this.origin) {
origins.push(this.origin);
@@ -167,44 +164,44 @@
fetchUser() {
this.user = auth.getUserInfo();
},
- ignore(type, name) {
+ toggleIgnore(type, name) {
switch (type) {
case 'band':
- ignoreBand({name: name})
- .then(this.ignoreSuccess(name))
- .catch(this.ignoreFailed);
+ toggleIgnoreBand({name: name})
+ .then(this.toggleIgnoreSuccess(name))
+ .catch(this.toggleIgnoreFailed);
break;
case 'danceHall':
- ignoreDanceHall({name: name})
- .then(this.ignoreSuccess(name))
- .catch(this.ignoreFailed);
+ toggleIgnoreDanceHall({name: name})
+ .then(this.toggleIgnoreSuccess(name))
+ .catch(this.toggleIgnoreFailed);
break;
case 'city':
- ignoreCity({name: name})
- .then(this.ignoreSuccess(name))
- .catch(this.ignoreFailed);
+ toggleIgnoreCity({name: name})
+ .then(this.toggleIgnoreSuccess(name))
+ .catch(this.toggleIgnoreFailed);
break;
case 'municipality':
- ignoreMunicipality({name: name})
- .then(this.ignoreSuccess(name))
- .catch(this.ignoreFailed);
+ toggleIgnoreMunicipality({name: name})
+ .then(this.toggleIgnoreSuccess(name))
+ .catch(this.toggleIgnoreFailed);
break;
case 'state':
- ignoreState({name: name})
- .then(this.ignoreSuccess(name))
- .catch(this.ignoreFailed);
+ toggleIgnoreState({name: name})
+ .then(this.toggleIgnoreSuccess(name))
+ .catch(this.toggleIgnoreFailed);
break;
}
},
- ignoreSuccess(name) {
+ toggleIgnoreSuccess(name) {
return () => {
- this.fetchEvents();
+ this.fetchEvents('refreshing');
this.snackColor = 'success';
this.snackText = `${name} har dolts`;
this.snackbar = true;
}
},
- ignoreFailed(name) {
+ toggleIgnoreFailed(name) {
return () => {
this.snackColor = 'error';
this.snackText = `${name} kunde inte döljas`;
@@ -217,7 +214,7 @@
if (saved) {
this.origins = [];
this.origin = "";
- this.fetchEvents();
+ this.fetchEvents('refreshing');
} else {
this.snackColor = 'error';
this.snackText = `${origin} kunde inte sparas`;
@@ -242,7 +239,7 @@
.then(response => {
this.status = 'submitted';
this.origin = response.data.address;
- this.fetchEvents();
+ this.fetchEvents('refreshing');
})
})
}
@@ -252,12 +249,6 @@