Skip to content
Snippets Groups Projects
Commit 222b8d89 authored by Pierre-Jean CHANCELLIER's avatar Pierre-Jean CHANCELLIER
Browse files

bootstrat-vue integration + loader + forecasts reorganization

parent 91fa81a6
No related branches found
No related tags found
No related merge requests found
...@@ -37,6 +37,7 @@ $close-font-weight: 500; ...@@ -37,6 +37,7 @@ $close-font-weight: 500;
@import 'font'; @import 'font';
@import 'bootstrap'; @import 'bootstrap';
@import '~bootstrap-vue/src/index.scss';
.card-subtitle { .card-subtitle {
font-style: italic; font-style: italic;
......
assets/img/loader.gif

1.45 MiB

<template> <template>
<div class="spinner-border text-primary mx-auto" role="status" v-if="isLoading"> <div class="loader mx-auto" role="status" v-if="isLoading">
<span class="sr-only">Chargement...</span> <span class="sr-only">Chargement...</span>
</div> </div>
</template> </template>
...@@ -8,4 +8,12 @@ ...@@ -8,4 +8,12 @@
export default { export default {
props: {isLoading: Boolean} props: {isLoading: Boolean}
} }
</script> </script>
\ No newline at end of file
<style lang="scss" scoped>
.loader {
background-image: url('~@/assets/img/loader.gif');
height: 300px;
width: 400px;
}
</style>
\ No newline at end of file
...@@ -10,12 +10,15 @@ export default { ...@@ -10,12 +10,15 @@ export default {
data() { data() {
return { return {
breadcrumb: [], breadcrumb: [],
menus : [ menus : [{
title: 'Prévisions',
items : [
{path: '/previsions',title: 'En préparation'},
{path: '/previsions/newcomers',title: 'Futurs membres'}
]},
{ {
title: 'Toile de confiance', title: 'Toile de confiance',
items : [ items : [
{path: '/previsions',title: 'Prévisions'},
{path: '/inout',title: 'Entrées et sorties'},
{path: '/membres',title: 'Membres'} {path: '/membres',title: 'Membres'}
]}, ]},
{ {
......
...@@ -43,6 +43,7 @@ export default { ...@@ -43,6 +43,7 @@ export default {
modules: [ modules: [
// https://github.com/nuxt-community/apollo-module // https://github.com/nuxt-community/apollo-module
'@nuxtjs/apollo', '@nuxtjs/apollo',
'bootstrap-vue/nuxt'
], ],
// PWA module configuration: https://go.nuxtjs.dev/pwa // PWA module configuration: https://go.nuxtjs.dev/pwa
...@@ -58,8 +59,13 @@ export default { ...@@ -58,8 +59,13 @@ export default {
}, },
}, },
bootstrapVue: {
css: false,
bvCSS: false
},
router: { router: {
linkActiveClass: 'active' linkExactActiveClass: 'active'
}, },
// Build Configuration: https://go.nuxtjs.dev/config-build // Build Configuration: https://go.nuxtjs.dev/config-build
......
...@@ -10,13 +10,15 @@ ...@@ -10,13 +10,15 @@
"dependencies": { "dependencies": {
"@nuxtjs/apollo": "^4.0.1-rc.5", "@nuxtjs/apollo": "^4.0.1-rc.5",
"@nuxtjs/pwa": "^3.3.5", "@nuxtjs/pwa": "^3.3.5",
"bootstrap": "^4.6.0", "bootstrap": "^4.6.1",
"bootstrap-vue": "^2.21.2",
"chart.js": "^3.6.2", "chart.js": "^3.6.2",
"core-js": "^3.15.1", "core-js": "^3.15.1",
"dayjs": "^1.10.7", "dayjs": "^1.10.7",
"graphql-tag": "^2.12.6", "graphql-tag": "^2.12.6",
"nuxt": "^2.15.8", "nuxt": "^2.15.8",
"nuxt-purgecss": "^1.0.0" "nuxt-purgecss": "^1.0.0",
"vue": "^2.6.14"
}, },
"devDependencies": { "devDependencies": {
"sass": "^1.45.0", "sass": "^1.45.0",
...@@ -7627,6 +7629,19 @@ ...@@ -7627,6 +7629,19 @@
"popper.js": "^1.16.1" "popper.js": "^1.16.1"
} }
}, },
"node_modules/bootstrap-vue": {
"version": "2.21.2",
"resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz",
"integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==",
"hasInstallScript": true,
"dependencies": {
"@nuxt/opencollective": "^0.3.2",
"bootstrap": ">=4.5.3 <5.0.0",
"popper.js": "^1.16.1",
"portal-vue": "^2.1.7",
"vue-functional-data-merge": "^3.1.0"
}
},
"node_modules/boxen": { "node_modules/boxen": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
...@@ -13095,6 +13110,12 @@ ...@@ -13095,6 +13110,12 @@
"jiti": "bin/jiti.js" "jiti": "bin/jiti.js"
} }
}, },
"node_modules/jquery": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==",
"peer": true
},
"node_modules/js-message": { "node_modules/js-message": {
"version": "1.0.7", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz",
...@@ -15783,6 +15804,24 @@ ...@@ -15783,6 +15804,24 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/popper.js": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
"deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/portal-vue": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz",
"integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==",
"peerDependencies": {
"vue": "^2.5.18"
}
},
"node_modules/posix-character-classes": { "node_modules/posix-character-classes": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
...@@ -20534,6 +20573,11 @@ ...@@ -20534,6 +20573,11 @@
"resolved": "https://registry.npmjs.org/vue-client-only/-/vue-client-only-2.1.0.tgz", "resolved": "https://registry.npmjs.org/vue-client-only/-/vue-client-only-2.1.0.tgz",
"integrity": "sha512-vKl1skEKn8EK9f8P2ZzhRnuaRHLHrlt1sbRmazlvsx6EiC3A8oWF8YCBrMJzoN+W3OnElwIGbVjsx6/xelY1AA==" "integrity": "sha512-vKl1skEKn8EK9f8P2ZzhRnuaRHLHrlt1sbRmazlvsx6EiC3A8oWF8YCBrMJzoN+W3OnElwIGbVjsx6/xelY1AA=="
}, },
"node_modules/vue-functional-data-merge": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
"integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
},
"node_modules/vue-hot-reload-api": { "node_modules/vue-hot-reload-api": {
"version": "2.3.4", "version": "2.3.4",
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
...@@ -27632,6 +27676,18 @@ ...@@ -27632,6 +27676,18 @@
"integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==",
"requires": {} "requires": {}
}, },
"bootstrap-vue": {
"version": "2.21.2",
"resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz",
"integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==",
"requires": {
"@nuxt/opencollective": "^0.3.2",
"bootstrap": ">=4.5.3 <5.0.0",
"popper.js": "^1.16.1",
"portal-vue": "^2.1.7",
"vue-functional-data-merge": "^3.1.0"
}
},
"boxen": { "boxen": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
...@@ -31846,6 +31902,12 @@ ...@@ -31846,6 +31902,12 @@
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.12.9.tgz", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.12.9.tgz",
"integrity": "sha512-TdcJywkQtcwLxogc4rSMAi479G2eDPzfW0fLySks7TPhgZZ4s/tM6stnzayIh3gS/db3zExWJyUx4cNWrwAmoQ==" "integrity": "sha512-TdcJywkQtcwLxogc4rSMAi479G2eDPzfW0fLySks7TPhgZZ4s/tM6stnzayIh3gS/db3zExWJyUx4cNWrwAmoQ=="
}, },
"jquery": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==",
"peer": true
},
"js-message": { "js-message": {
"version": "1.0.7", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz",
...@@ -33928,6 +33990,17 @@ ...@@ -33928,6 +33990,17 @@
"ts-pnp": "^1.1.6" "ts-pnp": "^1.1.6"
} }
}, },
"popper.js": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
},
"portal-vue": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz",
"integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==",
"requires": {}
},
"posix-character-classes": { "posix-character-classes": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
...@@ -37699,6 +37772,11 @@ ...@@ -37699,6 +37772,11 @@
"resolved": "https://registry.npmjs.org/vue-client-only/-/vue-client-only-2.1.0.tgz", "resolved": "https://registry.npmjs.org/vue-client-only/-/vue-client-only-2.1.0.tgz",
"integrity": "sha512-vKl1skEKn8EK9f8P2ZzhRnuaRHLHrlt1sbRmazlvsx6EiC3A8oWF8YCBrMJzoN+W3OnElwIGbVjsx6/xelY1AA==" "integrity": "sha512-vKl1skEKn8EK9f8P2ZzhRnuaRHLHrlt1sbRmazlvsx6EiC3A8oWF8YCBrMJzoN+W3OnElwIGbVjsx6/xelY1AA=="
}, },
"vue-functional-data-merge": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
"integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
},
"vue-hot-reload-api": { "vue-hot-reload-api": {
"version": "2.3.4", "version": "2.3.4",
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
...@@ -12,13 +12,15 @@ ...@@ -12,13 +12,15 @@
"dependencies": { "dependencies": {
"@nuxtjs/apollo": "^4.0.1-rc.5", "@nuxtjs/apollo": "^4.0.1-rc.5",
"@nuxtjs/pwa": "^3.3.5", "@nuxtjs/pwa": "^3.3.5",
"bootstrap": "^4.6.0", "bootstrap": "^4.6.1",
"bootstrap-vue": "^2.21.2",
"chart.js": "^3.6.2", "chart.js": "^3.6.2",
"core-js": "^3.15.1", "core-js": "^3.15.1",
"dayjs": "^1.10.7", "dayjs": "^1.10.7",
"graphql-tag": "^2.12.6", "graphql-tag": "^2.12.6",
"nuxt": "^2.15.8", "nuxt": "^2.15.8",
"nuxt-purgecss": "^1.0.0" "nuxt-purgecss": "^1.0.0",
"vue": "^2.6.14"
}, },
"devDependencies": { "devDependencies": {
"sass": "^1.45.0", "sass": "^1.45.0",
......
<template> <template>
<main class="container-fluid"> <main class="container-fluid">
<h2 class="display-2 text-center mb-5">Test ChartJS</h2> <h2 class="display-2 text-center mb-5">Test ChartJS</h2>
<div class="row">
<div class="col-md-6 mx-auto">
<b-alert variant="danger" show>En développement</b-alert>
</div>
</div>
<div class="demo p-5 m-auto"> <div class="demo p-5 m-auto">
<select class="form-control my-4" v-model="chartType"> <select class="form-control my-4" v-model="chartType">
<option v-for="type in allTypes" :key="type">{{ type }}</option> <option v-for="type in allTypes" :key="type">{{ type }}</option>
......
<template> <template>
<main class="container"> <main class="container">
<h2 class="text-center mb-5 font-weight-light">Bienvenue</h2> <h2 class="text-center mb-5 font-weight-light">Entrées et sorties de la toile de confiance des 2 derniers jours</h2>
<NavigationLoader :isLoading="$apollo.queries.newMembers.loading" class="d-block mx-auto" />
<div class="row text-center" v-if="!$apollo.queries.newMembers.loading && newMembers">
<div class="col-lg-6">
<h2 class="h4 text-success">Bienvenue à</h2>
<MemberList :members="newMembers['entrees']" :displayPubkey="false" :displayHead="false" />
</div>
<div class="col-lg-6">
<h2 class="h4 text-danger">Au revoir à</h2>
<MemberList :members="newMembers['sorties']" :displayPubkey="false" :displayHead="false" />
</div>
</div>
</main> </main>
</template> </template>
<script> <script>
import gql from 'graphql-tag'
const today = Math.round(Date.now() /1000)
export default { export default {
data() { data() {
// Variables locales // Variables locales
...@@ -14,11 +28,59 @@ export default { ...@@ -14,11 +28,59 @@ export default {
breadcrumb: [ breadcrumb: [
{ {
text: 'Accueil', text: 'Accueil',
active: true to: '/'
} }
] ]
} }
}, },
// Fonctions locales
methods: {
},
apollo: {
newMembers : {
query: gql`query LastEvents($start: Int64, $end: Int64) {
membersCount(start: $start, end: $end) {
idList {
id {
pubkey
uid
status
hash
limitDate
received_certifications {
limit
}
}
inOut
}
}
} `,
variables(){return {start:today-86400*2,end:today}},
update (data) {
let result = {'entrees':[],'sorties':[]}
for (let i = 0; i < data.membersCount.length; i++) {
let member = data.membersCount[i].idList[0]
member.id.inOut = member.inOut
if (member.inOut || member.id.status=='MEMBER') {
if (result['entrees'].filter(function(e) { return e.hash === member.id.hash; }).length == 0) {
result['entrees'].push(member.id)
}
} else {
result['sorties'].push(member.id)
}
}
for (let list in result) {
result[list].sort((a, b) => (a.uid.toLowerCase() > b.uid.toLowerCase()) ? 1 : -1)
}
return result
}
}
},
mounted () { mounted () {
// Mise à jour du fil d'ariane au chargement // Mise à jour du fil d'ariane au chargement
$nuxt.$emit('changeRoute',this.breadcrumb) $nuxt.$emit('changeRoute',this.breadcrumb)
......
<template>
<main class="container">
<h2 class="text-center mb-5 font-weight-light">Entrées et sorties de la toile de confiance des 2 derniers jours</h2>
<NavigationLoader :isLoading="$apollo.queries.newMembers.loading" class="d-block mx-auto" />
<div class="row text-center" v-if="!$apollo.queries.newMembers.loading && newMembers">
<div class="col-lg-6">
<h2 class="h4 text-success">Bienvenue à</h2>
<MemberList :members="newMembers['entrees']" :displayPubkey="false" :displayHead="false" />
</div>
<div class="col-lg-6">
<h2 class="h4 text-danger">Au revoir à</h2>
<MemberList :members="newMembers['sorties']" :displayPubkey="false" :displayHead="false" />
</div>
</div>
</main>
</template>
<script>
import gql from 'graphql-tag'
const today = Math.round(Date.now() /1000)
export default {
data() {
// Variables locales
return {
// Fil d'ariane
breadcrumb: [
{
text: 'Accueil',
to: '/'
},
{
text: 'Entrées et sorties',
active: true
}
]
}
},
// Fonctions locales
methods: {
},
apollo: {
newMembers : {
query: gql`query LastEvents($start: Int64, $end: Int64) {
membersCount(start: $start, end: $end) {
idList {
id {
pubkey
uid
status
hash
limitDate
received_certifications {
limit
}
}
inOut
}
}
} `,
variables(){return {start:today-86400*2,end:today}},
update (data) {
let result = {'entrees':[],'sorties':[]}
for (let i = 0; i < data.membersCount.length; i++) {
let member = data.membersCount[i].idList[0]
member.id.inOut = member.inOut
if (member.inOut || member.id.status=='MEMBER') {
if (result['entrees'].filter(function(e) { return e.hash === member.id.hash; }).length == 0) {
result['entrees'].push(member.id)
}
} else {
result['sorties'].push(member.id)
}
}
for (let list in result) {
result[list].sort((a, b) => (a.uid.toLowerCase() > b.uid.toLowerCase()) ? 1 : -1)
}
return result
}
}
},
mounted () {
// Mise à jour du fil d'ariane au chargement
$nuxt.$emit('changeRoute',this.breadcrumb)
}
}
</script>
\ No newline at end of file
<template>
<main class="content container">
<NavigationLoader :isLoading="$apollo.queries.idFromHash.loading" class="d-block mb-3" />
<div v-if="!$apollo.queries.idFromHash.loading">
<div class="row">
<div class="col-md-10 col-lg-8 col-xl-6 mx-auto mt-3">
<h2 class="text-center mb-5 font-weight-light">Prévisions <small><span class="badge badge-secondary">{{ idFromHash.uid }}</span></small></h2>
<MemberCard :hash="idFromHash" />
</div>
</div>
</div>
</main>
</template>
<script>
import gql from "graphql-tag"
export default {
data() {
// Variables locales
return {
breadcrumb: [
{
text: 'Accueil',
to: '/'
},
{
text: 'Prévisions',
to: '/previsions'
},
{
text: '',
active: true
}
]
};
},
// Fonctions locales
methods: {},
apollo: {
idFromHash: {
query: gql`
query Search($hash: Hash!) {
idFromHash(hash: $hash) {
...memberAttributes
pubkey
isLeaving
sentry
minDate
minDatePassed
membership_pending
limitDate
distance {
value {
ratio
}
dist_ok
}
received_certifications {
certifications {
from {
...memberAttributes
}
expires_on
}
}
sent_certifications {
to {
...memberAttributes
}
expires_on
}
}
}
fragment memberAttributes on Identity {
uid
hash
status
quality {
ratio
}
received_certifications {
limit
}
}
`,
variables() {
return { hash: this.$route.params.hash };
},
skip() {
return false;
},
},
},
computed: {
classWarning: function() {
return {
'text-danger' : !this.idFromHash.received_certifications.limit,
'text-warning' : this.$options.filters.dateStatus(this.idFromHash.received_certifications.limit) == 'warning'
}
}
},
watch: {
idFromHash: {
handler(n,o) {
this.breadcrumb[2].text = this.idFromHash.uid
$nuxt.$emit("changeRoute", this.breadcrumb);
}
}
}
};
</script>
\ No newline at end of file
<template>
<main class="container">
<h2 class="text-center mb-5 font-weight-light">En préparation</h2>
<b-alert variant="danger" show>En développement</b-alert>
<NavigationLoader :isLoading="$apollo.queries.test.loading" class="d-block mb-3" />
<div v-if="test">
{{ test }}
</div>
</main>
</template>
<script>
import gql from 'graphql-tag'
export default {
data() {
// Variables locales
return {
// Fil d'ariane
breadcrumb: [
{
text: 'Accueil',
to: '/'
},
{
text: 'Prévisions',
active: true
}
],
display: 'forecastsByNames'
}
},
// Fonctions locales
methods: {
},
apollo: {
test : {
query: gql`query {
now {
number
bct
}
parameter(name: sigQty) {
sigQty:value
}
wwFile(full: true) {
certifs_dossiers {
... on MarkedDatedCertification {
datedCertification {
date
certification {
from {
uid
}
to {
uid
}
expires_on
}
}
}
... on MarkedDossier {
dossier {
main_certifs
newcomer {
uid
lastApplication {
lastAppDate: bct
}
distance: distanceE {
value {
ratio
}
dist_ok
}
}
date
minDate
expires_on:limit
certifications {
date
certification {
from {
uid
quality {
ratio
}
}
expires_on
}
}
}
}
}
}
} `,
update (data) {
return {
now: data.now,
sigQty: data.parameter.sigQty,
certifs_dossiers: data.wwFile.certifs_dossiers
}
}
}
},
mounted () {
// Mise à jour du fil d'ariane au chargement
$nuxt.$emit('changeRoute',this.breadcrumb)
}
}
</script>
\ No newline at end of file
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-striped table-hover"> <table class="table table-striped table-hover">
<tbody> <tbody>
<tr v-for="forecast in wwResult.forecastsByNames" :key="forecast.member.uid" @click="$router.push({ path: '/membres/' + forecast.member.hash })"> <tr v-for="forecast in wwResult.forecastsByNames" :key="forecast.member.uid" @click="$router.push({ path: '/previsions/' + forecast.member.hash })">
<th scope="row"> <th scope="row">
{{ forecast.member.uid }} {{ forecast.member.uid }}
<BadgeStatus :membre="forecast.member" /> <BadgeStatus :membre="forecast.member" />
...@@ -87,6 +87,10 @@ export default { ...@@ -87,6 +87,10 @@ export default {
}, },
{ {
text: 'Prévisions', text: 'Prévisions',
to: '/previsions'
},
{
text: 'Futurs membres',
active: true active: true
} }
], ],
...@@ -124,7 +128,6 @@ export default { ...@@ -124,7 +128,6 @@ export default {
} }
} `, } `,
update (data) { update (data) {
console.log(data)
let result = {'byName':[],'byDate':[]} let result = {'byName':[],'byDate':[]}
let forecasts = data.wwResult.forecastsByNames let forecasts = data.wwResult.forecastsByNames
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment