# Mixins
# Démarrage rapide
Installer la dépendance
npm i @sedoo/catalogue-mixins
Dans main.js
import CatalogueMixins from "@sedoo/catalogue-mixins";
Vue.use(CatalogueMixins);
Par défaut s'il n'y a pas d'options, le plugin instancie toutes les mixins.
N'utiliser que certaines mixins
import CatalogueMixins from "@sedoo/catalogue-mixins";
const options = {
i18n: true,
style: true,
visibility: false,
};
Vue.use(CatalogueMixins, options);
Dans l'exemple ci-dessus, la mixin visibilityMixin
ne sera pas instanciée.
Option | Mixin associée |
---|---|
i18n | i18nMixin |
style | styleMixin |
visibility | visibilityModeMixin |
# i18nMixin
Permet d'appliquer la langue du catalogue au composant.
# props
nom | type | défaut | description |
---|---|---|---|
language | String | "en" | langue ("en"/"fr") |
# watch
Met à jour la propriété language
en fonction de la locale i18n.
# styleMixin
Permet d'appliquer les couleurs du catalogue au composant.
# props
nom | type | défaut | description |
---|---|---|---|
theme | Object | { primaryColor: "#0b6bb3", secondaryColor: "#f39c12" } | couleur principale et secondaire |
# computed
applyTheme
permet d'utiliser les couleurs dans la partie <style>
du SFC.
color: var(--primaryColor);
# Utilisation
Appliquer le style à l'élément parent du module ou de l'app :
<div id="app" :style="applyTheme">`
# visibilityModeMixin
Permet de gérer la visibilité du composant en fonction du mode (edition ou consultation).
Si rien n'est précisé côté template (opens new window), le composant est toujours visible par défaut ou suivant les conditions définies dans le composant.
Ci-dessous, on dit que :
aeris-metadata-parameters
ne s'affiche qu'en mode "edition",opse-parameter-treeview-block
ne s'affiche qu'en mode "consultation".
{
"name": "aeris-metadata-parameters",
"editable": true,
"props": {
"visibleOnlyOn": "edition"
}
},
{
"name": "opse-parameter-treeview-block",
"editable": true,
"props": {
"visibleOnlyOn": "consultation"
}
},
# props
nom | type | défaut | description |
---|---|---|---|
visibleOnlyOn | String | "" | mode de visibilité ("edition" / "consultation" / ou les deux (si visibleOnlyOn n'est pas spécifié ou est null )) |
# computed
nom | type | défaut | description |
---|---|---|---|
editing | Boolean | this.$store.getters.getIsUserEditingSheet | Récupéré depuis le store du catalogue. Vaut true si on est en édition et false si on est en consultation. |
onlyEditionMode | Boolean | false | true si la propriété visibleOnlyOn: "edition" est présente dans le template et si editing est true |
onlyOnConsultationMode | Boolean | false | true si la propriété visibleOnlyOn: "consultation" est présente dans le template et si editing est false |
Test →