... | ... | @@ -37,79 +37,26 @@ L'exemple suivant simplifie la zone d'affichage des statistiques en affichant qu |
|
|
</script>
|
|
|
```
|
|
|
|
|
|
L'exemple suivant est une reformulation du gabarit d'affichage du résultat d'une fiche pour que la valeur de l'attribut sct:authors soit afffiché à côté de l'année (voir [l'original](https://framagit.org/Scrutari/scrutarijs/blob/master/src/html/_default/templates/fiche.html)), c'est le gabarit le plus complexe :
|
|
|
L'exemple suivant est une reformulation du gabarit d'affichage du sous-titre pour rajouter une classe personnalisée (voir [l'original](https://framagit.org/Scrutari/scrutarijs/blob/master/src/html/_default/templates/fiche_msoustitre.html)) :
|
|
|
|
|
|
```
|
|
|
<script data-name="fiche" type="text/x-scrutari-template">
|
|
|
{{!-- --}}
|
|
|
<div class='scrutari-fiche-Block' data-scrutari-block='fiche_{{:codefiche}}'>
|
|
|
{{if icon}}
|
|
|
<div class='scrutari-fiche-Icon'><img alt='' src='{{:icon}}'/></div>
|
|
|
{{/if}}
|
|
|
<p class='scrutari-fiche-Titre'>
|
|
|
<a href='{{:href}}'
|
|
|
class='scrutari-fiche-Link'
|
|
|
data-scrutari-link='fiche_{{:codefiche}}'
|
|
|
{{if target}} target='{{:target}}'{{/if}}>
|
|
|
{{if mtitre}}
|
|
|
{{:~scrutari_mark(mtitre)}}
|
|
|
{{else}}
|
|
|
{{:href}}
|
|
|
{{/if}}
|
|
|
</a>
|
|
|
</p>
|
|
|
{{if msoustitre}}
|
|
|
<p class='scrutari-fiche-Soustitre'>
|
|
|
<p class="scrutari-fiche-Soustitre classe-css-particuliere">
|
|
|
{{:~scrutari_mark(msoustitre)}}
|
|
|
</p>
|
|
|
{{/if}}
|
|
|
</script>
|
|
|
```
|
|
|
|
|
|
{{if annee || hasAttribute("sct:authors")}}
|
|
|
<p class='scrutari-fiche-Annee'>
|
|
|
{{if hasAttribute("sct:authors")}}
|
|
|
{{for mattrMap["sct:authors"] ~len=mattrMap["sct:authors"].length}}
|
|
|
{{:~scrutari_mark(#data)}}{{if #index != (~len -1)}}, {{/if}}
|
|
|
{{/for}}
|
|
|
{{/if}}
|
|
|
{{if annee && hasAttribute("sct:authors")}}
|
|
|
–
|
|
|
{{/if}}
|
|
|
{{:annee}}
|
|
|
</p>
|
|
|
{{/if}}
|
|
|
# Le cas du gabarit d'une fiche
|
|
|
|
|
|
{{if mcomplementArray}}
|
|
|
{{for mcomplementArray}}
|
|
|
<p class='scrutari-fiche-Complement'>
|
|
|
<span class="scrutari-label-Complement">
|
|
|
{{>title}}
|
|
|
{{>~scrutari_loc("_ colon")}}
|
|
|
</span>
|
|
|
{{:~scrutari_mark(mcomp)}}
|
|
|
</p>
|
|
|
{{/for}}
|
|
|
{{/if}}
|
|
|
Le gabarit d'affichage d'une fiche est un des gabarits les plus susceptibles d'être adapté. C'est pourquoi il propose un mécanisme supplémentaire qui permet d'intervenir dessus sans avoir à modifier le gabarit lui-même. En effet, la construction du corps d'une fiche se fait via une boucle sur un tableau des sous-gabarits à inclure (voir https://framagit.org/Scrutari/scrutarijs/blob/master/src/html/_default/templates/fiche_msoustitre.html).
|
|
|
|
|
|
{{for secondaryAttributeArray tmpl="scrutari-fiche_attributes" /}}
|
|
|
|
|
|
{{if motcleArray}}
|
|
|
<p class="scrutari-fiche-Motcle">
|
|
|
<span class="scrutari-label-Motcle">
|
|
|
{{if motcleArray.length == 1}}
|
|
|
{{>~scrutari_loc("_ fiche_motscles_one")}}
|
|
|
{{else}}
|
|
|
{{>~scrutari_loc("_ fiche_motscles_many")}}
|
|
|
{{/if}}
|
|
|
</span>
|
|
|
{{for motcleArray ~len=motcleArray.length}}
|
|
|
{{for mlibelleArray}}{{if #index > 0}}/{{/if}}{{:~scrutari_mark(mlib)}}{{/for}}{{if #index != (~len -1)}}, {{/if}}
|
|
|
{{/for}}
|
|
|
</p>
|
|
|
{{/if}}
|
|
|
</div>
|
|
|
L'option *ficheBodyList* passée à l'initialisation du client permet de modifier ce tableau (un point d'entrée est également dédié à cette tâche, voir ci-dessous). La valeur par défaut est "fiche_mtitre,fiche_msoustitre,fiche_year,fiche_primaryattributearray,fiche_mcomplementarray,fiche_secondaryattributearray,fiche_motclearray,fiche_bythesaurusarray". Il est possible de changer l'ordre, supprimer des gabarits ou en rajouter des personnalisés.
|
|
|
|
|
|
Bien sûr, une réécriture complète du gabarit *fiche* annule ce dispositif.
|
|
|
|
|
|
</script>
|
|
|
```
|
|
|
|
|
|
# Intervenir en Javascript via les points d'entrée (*hook*)
|
|
|
|
... | ... | @@ -133,6 +80,7 @@ on notera que la variable **this** fait référence dans la fonction à l'objet |
|
|
Les points d'entrée disponibles sont les suivants :
|
|
|
|
|
|
* **getTemplate** : appelé au moment de l'appel d'un gabarit (fonction Scrutari.Client.prototype.getTemplate), avec comme argument *templateName*, le nom du gabarit. Si le point d'entrée renvoie une fonction, elle remplace le gabarit par défaut
|
|
|
* **getFicheBodyTemplateArray** : appelé au moment de la récupération du tableau des gabarits d'une corps d'une fiche. Arguments : *fiche* (Objet ficheen question), *categoryName* (nom de la catégorie de la fiche)
|
|
|
* **showResult** : appelé à la fin de l'affichage des résultats (fonction Scrutari.Client.Result.show) , permet d'afficher des éléments supplémentaires. Arguments : *scrutariResult* (l'instance de Scrutari.Result avec le résultat), *scrutariOrigin* (origine de la recherche, vaut *mainsearch* ou *subsearch*)
|
|
|
* **completeFiche** : appelé à la fin de l'enrichissement d'un objet *fiche* (fonction Scrutari.Client.Result.completeFiche), permet de personnaliser les ajouts. Arguments : *scrutariResult* (l'instance de Scrutari.Result avec le résultat), *fiche* (Objet fiche à enrichir)
|
|
|
* **completeFiche** : appelé à la fin de l'enrichissement d'un objet *fiche* (fonction Scrutari.Client.Result.completeFiche), permet de personnaliser les ajouts. Arguments : *scrutariResult* (l'instance de Scrutari.Result avec le résultat), *fiche* (Objet fiche à enrichir), *categoryName* (nom de la catégorie de la fiche)
|
|
|
* **paginationChange**: appelé après un changement de pagination (fonctions Scrutari.Client.Result.uniquePaginationChange et Scrutari.Client.Result.categoryPaginationChange). Arguments : *paginationFicheArray* (tableau des nouvelles fiches dans la pagination), *options* (objet d'options) |
|
|
\ No newline at end of file |