|
@@ -3,6 +3,7 @@
|
|
|
<template v-slot:header>
|
|
|
<h1>Personnes</h1>
|
|
|
<span v-if="!items.length" class="loading">Chargement ...</span>
|
|
|
+ <span v-else>{{ meta.quantity.quantity }} {{ meta.quantity.unit }}</span>
|
|
|
</template>
|
|
|
|
|
|
<ul v-if="items.length" class="item-list">
|
|
@@ -47,6 +48,7 @@
|
|
|
<script>
|
|
|
|
|
|
import { REST } from 'api/rest-axios'
|
|
|
+import qs from 'querystring'
|
|
|
import MainContentLayout from '../components/Layouts/MainContentLayout'
|
|
|
import NominumItem from '../components/Content/NominumItem'
|
|
|
|
|
@@ -62,59 +64,80 @@ export default {
|
|
|
data: () => ({
|
|
|
items: [],
|
|
|
letters: {},
|
|
|
- activeLetter: null
|
|
|
+ activeLetter: null,
|
|
|
+ meta: null,
|
|
|
+ content: []
|
|
|
}),
|
|
|
- beforeCreate () {
|
|
|
+ created () {
|
|
|
// items/gdpLeMaire1685T01BodyFr01.003.016
|
|
|
// texts/gdpSauval1724
|
|
|
- REST.get(`${window.apipath}/indexNominum`, {})
|
|
|
- .then(({ data }) => {
|
|
|
- console.log('index nominum REST: data', data)
|
|
|
- if (data.content.length) {
|
|
|
- this.items = data.content.sort((a, b) => {
|
|
|
- let Aletter = a.letter.toLowerCase()
|
|
|
- let Bletter = b.letter.toLowerCase()
|
|
|
- if (Aletter < Bletter) {
|
|
|
- return -1
|
|
|
- } else if (Aletter > Bletter) {
|
|
|
- return 1
|
|
|
- } else {
|
|
|
- return 0
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- for (let i = 0; i < this.items.length; i++) {
|
|
|
- // console.log(typeof this.items[i].letter)
|
|
|
- if (this.items[i].letter !== '') {
|
|
|
- let letter = this.items[i].letter.toLowerCase()
|
|
|
- console.log(letter)
|
|
|
- if (Object.keys(this.letters).indexOf(letter) === -1) {
|
|
|
- this.letters[letter] = {
|
|
|
- l: letter,
|
|
|
- q: 1
|
|
|
- }
|
|
|
- } else {
|
|
|
- this.letters[letter].q += 1
|
|
|
- }
|
|
|
+ this.loadIndex(0, 200)
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ loadIndex (start, count) {
|
|
|
+ console.log('loadIndex', start, count)// construct params
|
|
|
+ let params = {
|
|
|
+ start: start,
|
|
|
+ count: count
|
|
|
+ }
|
|
|
+ let q = qs.stringify(params)
|
|
|
+ REST.get(`${window.apipath}/indexNominum?` + q, { start: start, count: count })
|
|
|
+ .then(({ data }) => {
|
|
|
+ console.log('index nominum REST: data', data)
|
|
|
+ this.meta = data.meta
|
|
|
+ this.content = this.content.concat(data.content)
|
|
|
+ if (this.content.length < data.meta.quantity.quantity) {
|
|
|
+ this.loadIndex(start + count, count)
|
|
|
+ } else {
|
|
|
+ this.parseIndex()
|
|
|
}
|
|
|
- }
|
|
|
- console.log(this.letters)
|
|
|
- this.letters = this.letters.sort((a, b) => {
|
|
|
- if (a.l < b.l) {
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ console.warn('Issue with index nominum', error)
|
|
|
+ Promise.reject(error)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ parseIndex () {
|
|
|
+ console.log('parseIndex', this.content)
|
|
|
+ if (this.content.length) {
|
|
|
+ this.items = this.content.sort((a, b) => {
|
|
|
+ let Aletter = a.letter.toLowerCase()
|
|
|
+ let Bletter = b.letter.toLowerCase()
|
|
|
+ if (Aletter < Bletter) {
|
|
|
return -1
|
|
|
- } else if (a.l > b.l) {
|
|
|
+ } else if (Aletter > Bletter) {
|
|
|
return 1
|
|
|
} else {
|
|
|
return 0
|
|
|
}
|
|
|
})
|
|
|
- })
|
|
|
- .catch((error) => {
|
|
|
- console.warn('Issue with index nominum', error)
|
|
|
- Promise.reject(error)
|
|
|
- })
|
|
|
- },
|
|
|
- methods: {
|
|
|
+ }
|
|
|
+ for (let i = 0; i < this.items.length; i++) {
|
|
|
+ // console.log(typeof this.items[i].letter)
|
|
|
+ if (this.items[i].letter !== '') {
|
|
|
+ let letter = this.items[i].letter.toLowerCase()
|
|
|
+ console.log(letter)
|
|
|
+ if (Object.keys(this.letters).indexOf(letter) === -1) {
|
|
|
+ this.letters[letter] = {
|
|
|
+ l: letter,
|
|
|
+ q: 1
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.letters[letter].q += 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // console.log('this.letters', this.letters)
|
|
|
+ // this.letters = this.letters.sort((a, b) => {
|
|
|
+ // if (a.l < b.l) {
|
|
|
+ // return -1
|
|
|
+ // } else if (a.l > b.l) {
|
|
|
+ // return 1
|
|
|
+ // } else {
|
|
|
+ // return 0
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ },
|
|
|
onClickLetter (l) {
|
|
|
this.activeLetter = l
|
|
|
// console.log('activeLetter', this.activeLetter)
|