add Debug view
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
{
|
||||
allmapitems {
|
||||
type: __typename
|
||||
id
|
||||
... on Creation {
|
||||
text_en_rebond: rebonds { id }
|
||||
text_de_depart: texte_de_depart { id }
|
||||
}
|
||||
... on Textref {
|
||||
text_de_depart { id }
|
||||
text_produits { id }
|
||||
text_en_rebond { id }
|
||||
field_creations { id }
|
||||
field_titre_regular
|
||||
field_titre_italique
|
||||
auteurs { id }
|
||||
}
|
||||
... on Textprod {
|
||||
text_de_depart { id }
|
||||
text_en_rebond { id }
|
||||
field_titre_regular
|
||||
field_titre_italique
|
||||
auteurs { id }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<div class="">
|
||||
<h1>Debug</h1>
|
||||
|
||||
<p v-if="!data">Loading...</p>
|
||||
|
||||
<div v-if="prodNoParent.length">
|
||||
<h2>Textes produit sans parent</h2>
|
||||
<p>Si jamais c'est pas volontaire, ceux-ci risquent de n'être jamais accessibles</p>
|
||||
|
||||
<ul>
|
||||
<li v-for="node in prodNoParent" :key="node.id">
|
||||
TextProd n°{{ node.id }}
|
||||
<b-button
|
||||
variant="kit" class="btn-edit"
|
||||
:href="node.link" target="_blank"
|
||||
>
|
||||
Éditer
|
||||
</b-button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div v-if="noTitles.length">
|
||||
<h2>Textes de référence sans titre ou sans auteur⋅ices</h2>
|
||||
|
||||
<ul>
|
||||
<li v-for="node in noTitles" :key="node.id">
|
||||
TextRef n°{{ node.id }} (manque: {{ node.miss }})
|
||||
<b-button
|
||||
variant="kit" class="btn-edit"
|
||||
:href="node.link" target="_blank"
|
||||
>
|
||||
Éditer
|
||||
</b-button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div v-if="dupps.length">
|
||||
<h2>Textes de référence avec enfants en doublons</h2>
|
||||
<p>Ceux-ci sembleraient venir du fait qu'un texte de référence ai été renseigné dans le champs Texte Produits, et automagiquement duppliqué dans le champs Création</p>
|
||||
<p>Il est actuellement nécessaire de supprimer les 2 références du texte (dans Textes Produits et dans Créations) car un texte de référence ne peut être défini comme un texte produit</p>
|
||||
|
||||
<ul>
|
||||
<li v-for="dupp in dupps" :key="dupp.id">
|
||||
Textref n°{{ dupp.id }} contient les doublons suivants: {{ dupp.nodes }}
|
||||
<b-button
|
||||
variant="kit" class="btn-edit"
|
||||
:href="dupp.link" target="_blank"
|
||||
>
|
||||
Éditer
|
||||
</b-button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import DebugQuery from '@/api/queries/debug.gql'
|
||||
import api from '@/api'
|
||||
|
||||
export default {
|
||||
name: 'Page',
|
||||
|
||||
data () {
|
||||
return {
|
||||
data: undefined,
|
||||
dupps: [],
|
||||
noTitles: [],
|
||||
prodNoParent: []
|
||||
}
|
||||
},
|
||||
|
||||
async created () {
|
||||
const data = (await api.query(DebugQuery)).allmapitems
|
||||
data.forEach((node) => {
|
||||
const link = `/api/node/${node.id}/edit?destination=/api/node/${node.id}`
|
||||
if (node.type === 'Textref') {
|
||||
if (node.field_creations) {
|
||||
const children = [...node.field_creations, ...(node.text_produits || [])]
|
||||
const dupps = []
|
||||
const uniqueChildren = new Set()
|
||||
children.forEach(({ id }) => {
|
||||
if (uniqueChildren.has(id)) {
|
||||
dupps.push(id)
|
||||
}
|
||||
uniqueChildren.add(id)
|
||||
})
|
||||
if (dupps.length) {
|
||||
this.dupps.push({ id: node.id, nodes: dupps, link })
|
||||
}
|
||||
}
|
||||
const miss = {
|
||||
titre: !node.field_titre_regular && !node.field_titre_italique,
|
||||
'auteur⋅ices': !node.auteurs
|
||||
}
|
||||
if ((!node.field_titre_regular && !node.field_titre_italique) || !node.auteurs) {
|
||||
this.noTitles.push({ ...node, link, miss: Object.keys(miss).filter(key => miss[key]) })
|
||||
}
|
||||
}
|
||||
if (node.type === 'Textprod') {
|
||||
if (!node.text_de_depart || node.text_de_depart.length < 1) {
|
||||
this.prodNoParent.push({ ...node, link })
|
||||
}
|
||||
}
|
||||
})
|
||||
this.data = data
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
@@ -65,6 +65,12 @@ export default [
|
||||
component: () => import(/* webpackChunkName: "blog" */ '@/pages/Page')
|
||||
},
|
||||
|
||||
{
|
||||
name: 'debug',
|
||||
path: '/debug',
|
||||
component: () => import(/* webpackChunkName: "debug" */ '@/pages/Debug')
|
||||
},
|
||||
|
||||
{
|
||||
name: 'notfound',
|
||||
path: '/404',
|
||||
|
||||
Reference in New Issue
Block a user