From 18c4c331f20d4b815f1c3b98991d97be30b3cfff Mon Sep 17 00:00:00 2001 From: bach Date: Wed, 8 Mar 2023 20:36:36 +0100 Subject: [PATCH] #2064 --- assets/css/app.scss | 7 +++++-- src/pages/IndexLocorum.vue | 41 +++++++++++++++++++++++++++++--------- src/pages/IndexNominum.vue | 40 ++++++++++++++++++++++++++++--------- src/pages/IndexOperum.vue | 41 +++++++++++++++++++++++++++++--------- 4 files changed, 100 insertions(+), 29 deletions(-) diff --git a/assets/css/app.scss b/assets/css/app.scss index 76da1b9..199ea3a 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -335,7 +335,7 @@ section[role="main-content"]{ &.inactive{ opacity: 0.4; } - span{ + span.tout, span.letter{ @include fontcaption; font-variant: small-caps; font-size: 1em; @@ -348,9 +348,12 @@ section[role="main-content"]{ text-align: center; } - &:not(:first-of-type) span{ + &:not(:first-of-type) span.letter{ width: 1.1em; height: 1.1em; } + span.quantity{ + font-size: 0.765em; + } } } } diff --git a/src/pages/IndexLocorum.vue b/src/pages/IndexLocorum.vue index 369dcd7..69522cb 100644 --- a/src/pages/IndexLocorum.vue +++ b/src/pages/IndexLocorum.vue @@ -20,18 +20,22 @@ @@ -57,7 +61,7 @@ export default { }, data: () => ({ items: [], - letters: [], + letters: {}, activeLetter: null }), beforeCreate () { @@ -78,11 +82,30 @@ export default { }) } for (let i = 0; i < this.items.length; i++) { - if (this.letters.indexOf(this.items[i].letter.toLowerCase()) === -1) { - this.letters.push(this.items[i].letter.toLowerCase()) + // 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.letters = this.letters.sort() + console.log(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 + } + }) }) .catch((error) => { console.warn('Issue with index locorum', error) diff --git a/src/pages/IndexNominum.vue b/src/pages/IndexNominum.vue index 05a25bd..f5ae97c 100644 --- a/src/pages/IndexNominum.vue +++ b/src/pages/IndexNominum.vue @@ -20,18 +20,22 @@ @@ -57,7 +61,7 @@ export default { }, data: () => ({ items: [], - letters: [], + letters: {}, activeLetter: null }), beforeCreate () { @@ -81,11 +85,29 @@ export default { } for (let i = 0; i < this.items.length; i++) { // console.log(typeof this.items[i].letter) - if (this.items[i].letter !== '' && this.letters.indexOf(this.items[i].letter.toLowerCase()) === -1) { - this.letters.push(this.items[i].letter.toLowerCase()) + 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.letters = this.letters.sort() + console.log(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 + } + }) }) .catch((error) => { console.warn('Issue with index nominum', error) diff --git a/src/pages/IndexOperum.vue b/src/pages/IndexOperum.vue index b44b954..5084fa9 100644 --- a/src/pages/IndexOperum.vue +++ b/src/pages/IndexOperum.vue @@ -21,18 +21,22 @@ @@ -59,7 +63,7 @@ export default { }, data: () => ({ items: [], - letters: [], + letters: {}, activeLetter: null }), beforeCreate () { @@ -80,11 +84,30 @@ export default { }) } for (let i = 0; i < this.items.length; i++) { - if (this.letters.indexOf(this.items[i].letter.toLowerCase()) === -1) { - this.letters.push(this.items[i].letter.toLowerCase()) + // 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.letters = this.letters.sort() + console.log(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 + } + }) }) .catch((error) => { console.warn('Issue with index operum', error)