@amsom-habitat/amsom-autocomplete v2.0.7
AMSOM AutocompleteCity
Ce package propose un composant d'autocomplete
Installation
npm i @amsom-habitat/amsom-autocompleteImporter les css dans le main.js tel que :
import '@amsom-habitat/amsom-autocomplete/dist/style.css'Pour utiliser le package:
import { AmsomAutocomplete } from '@amsom-habitat/amsom-autocomplete'Développment
Après avoir fait vos dev, veillez à bien tenir à jour le changelog.md ainsi que la version du package.json puis faites :
git add .
git commit -m '<commentaire'
git push origin <branch>Tests
Les tests sont réalisé de manière automatique sur les branches main et dev mais peuvent être fait localement, notemment pour voir l'evolution du développement via la commande :
npm run storybookLe valideur devra, si des changements sont observés, aller sur la pipeline pour valider les différences à l'aide de chromatic, sans cela aucun merge-request ne sera possible. Si un merge est effectué, une double verification sera necessaire.
Déploiement
Après avoir merge les dev sur la branche main, exécutez :
make publishCette commande vérifie la version, le changelog et publie le tout
Utilisation
Props
v-model: La valeur de l'input (doit etre une instance de items)items: Les items à affichergetInputLibelle: La fonction qui permet de récupérer le libellé de l'item, par defaut récupère item.name ou item.label ou item.libellegetInputLibelleFromId: La fonction qui permet de récupérer le libellé de l'item à partir de son idgetId: La fonction qui permet de récupérer l'identifier de l'item, par defaut récupère item.ididentifier: L'identifiant de l'input@search: Emit l'input de recherchemaxResultsHeight: La hauteur max des résultatsplaceholder: Placeholder de l'input. DefaultRecherchez...loading: Ajoute un AmsomOverlay pour un chargement. Boolean defaultfalsezIndex: Permet d'ajuster le z-index de la liste affichée. Default1045required: Si l'input est requisallowEmpty: Si l'input peut être videselectOnBlur: Si l'item doit être sélectionné au blur de l'inputlabel: Le label de l'inputfloatingLabel: Si le label doit être flottant (A l'avenir penser a intégrer directement le composant AmsomFloatingInput quand il existera)emptyValue: La valeur vide de l'inputdisabled: Si l'input est désactivémultiple: Si l'input est en mode multiple, permet de sélectionner plusieurs itemshideChoices: Si les choix doivent être cachésfilteringFunction: La fonction de filtrage des items
Example complet
<tempate>
<amsom-autocomplete :items="filteredItems" v-model="selection" @search="searchItem" maxResultsHeight="10vh"/>
</template>
<script>
import '@amsom-habitat/amsom-autocomplete/dist/style.css'
import {AmsomAutocomplete} from '@amsom-habitat/amsom-autocomplete'
export default {
name: 'TestPage',
components: {
AmsomAutocomplete,
},
data() {
return {
items: [
{id: 1, name: 'item 1'},
{id: 2, name: 'item 2'},
{id: 3, name: 'item 3'},
{id: 4, name: 'item 4'},
{id: 5, name: 'item 5'},
],
selection: null,
search: '',
}
},
computed: {
filteredItems(search) {
if(!search)
return this.items
return this.items.filter(item => item.name.toLowerCase().includes(this.search.toLowerCase()))
},
},
methods: {
searchItem(search) {
this.search = search
},
}
}
</script>12 months ago
10 months ago
11 months ago
11 months ago
11 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago