Skip to content
Snippets Groups Projects
Verified Commit 913ef8a9 authored by Louis-Olivier Brassard's avatar Louis-Olivier Brassard
Browse files

WIP Home: parcours aleatoires page accueil

parent 081d4696
No related branches found
No related tags found
No related merge requests found
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<span class="dash"> <span class="dash">
<span class="inner-dash"></span> <span class="inner-dash"></span>
</span> </span>
{{ parcours.versions[0].title }} {{ versionLanguage(parcours.versions).title }}
<sup>{{ index + 1 | romanize }}</sup> <sup>{{ index + 1 | romanize }}</sup>
</router-link> </router-link>
</li> </li>
...@@ -57,7 +57,8 @@ export default { ...@@ -57,7 +57,8 @@ export default {
data () { data () {
return { return {
data: '/static/img/home/meleagre-in-love.png', data: '/static/img/home/meleagre-in-love.png',
selectedParcours: [] selectedParcours: [],
parcoursAll: []
} }
}, },
created: function () { created: function () {
...@@ -68,31 +69,55 @@ export default { ...@@ -68,31 +69,55 @@ export default {
self.loader() self.loader()
self.hide() self.hide()
self.getCurrentThemeImg() self.getCurrentThemeImg()
self.getParcoursData() self.getSelectedParcours()
}) })
}, },
methods: { methods: {
getParcoursData () { versionLanguage: function (versions, options) {
return global.versionLanguage(versions, options)
},
getSelectedParcours () {
var self = this var self = this
self.$http.get(global.api + 'keywords?category=' + global.parcoursKeywordId).then(function (response) { // not really necessary, but just in case…
var parcoursData = JSON.parse(response.bodyText) // if parcours data is not set, go get it, then come back :)
var selectedParcours = [] if (!self.parcoursAll || !self.parcoursAll.length) {
var selectedParcoursIds = [ self.getParcoursData().then(function () {
432, // Bestiaire self.getSelectedParcours()
433, // Banquet })
435 // Regrets de la vie passée return
] }
// Only keep selected parcours // draw 7 random parcours
parcoursData.forEach(function (parcours) { let maxToDisplay = 8
// If ID is within the selected parcours for (var i = 0; i < maxToDisplay; i++) {
if (selectedParcoursIds.indexOf(parcours.id_keyword) !== -1) { let totalParcoursLen = self.parcoursAll.length
selectedParcours.push(parcours) let random = Math.floor(Math.random() * totalParcoursLen)
console.log('all parcours', totalParcoursLen)
console.log('a random parcours', '(' + random + ')', self.parcoursAll[random])
self.selectedParcours.push(self.parcoursAll[random])
// remove that selected parcours to not draw it again
self.parcoursAll.splice(random, 1)
}
},
getParcoursData: function () {
var self = this
// return promise object
return self.$http.get(global.api + 'keywords?category=' + global.parcoursKeywordId).then(function (response) {
var parcoursAllData = JSON.parse(response.bodyText)
parcoursAllData.forEach(function (parcours, i) {
// if there is no title set for the parcours, not sexy for the homepage
// exclude it from the collection
if (!parcours.versions || !parcours.versions.length) {
parcoursAllData.splice(i, 1)
} }
}) })
self.$set(self, 'selectedParcours', selectedParcours) self.$set(this, 'parcoursAll', parcoursAllData)
}, function (err) { }, function (err) {
console.error('Error retrieving parcours', err) console.error('Error retrieving parcours', err)
}) })
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
</h2> </h2>
<div class="text-lang"> <div class="text-lang">
<select v-model="selectedLanguage"> <select v-model="selectedLanguage">
<option disabled value="">Langue…</option>
<option <option
v-for="language in availableVersions" v-for="language in availableVersions"
v-bind:value="language" v-bind:value="language"
...@@ -83,7 +84,7 @@ export default { ...@@ -83,7 +84,7 @@ export default {
self.languages = global.languages self.languages = global.languages
// Set the language // Set the language
self.setCustomLanguage(self.parseVersion(self.epigram.versions).id_language) // self.setCustomLanguage(self.parseVersion(self.epigram.versions).id_language)
}, },
methods: { methods: {
versionLanguage (versions, options) { versionLanguage (versions, options) {
...@@ -180,26 +181,22 @@ $raleway: 'Raleway', Helvetica, Arial, sans-serif ...@@ -180,26 +181,22 @@ $raleway: 'Raleway', Helvetica, Arial, sans-serif
display: inline-block display: inline-block
.text-title .text-title
position: relative
h2 h2
font-size: 12px font-size: 12px
.text-lang .text-lang
background: url('/static/img/select-arrow.png') no-repeat left background: url('/static/img/select-arrow.png') no-repeat left
width: 50px width: 155px
padding-left: 10px
overflow: hidden overflow: hidden
position: absolute margin-left: auto
top: 0
right: 0
margin-top: -5px
select select
font-size: 10px font-size: 10px
text-transform: uppercase text-transform: uppercase
border: none border: none
color: #2c2c2c color: #2c2c2c
width: 3.5em
background: transparent background: transparent
outline: none outline: none
......
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