Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propose #223

Closed
wants to merge 1 commit into from
Closed

Propose #223

wants to merge 1 commit into from

Conversation

bbrangeo
Copy link

Propose de ne pas remettre a zéro this.search = ""; ligne 171, mais de lui faire passer le texte selectionné

Propose de ne pas remettre a zéro  this.search = ""; ligne 171, mais de lui faire passer le texte selectionné
@NicolasRichel
Copy link
Member

Salut @bbrangeo
Tout d'abord, merci pour ta PR, c'est très appréciable d'avoir des propositions extérieures. :)

Effectivement le comportement que tu décris semble plus logique (conserver le texte de recherche lors de la sélection d'une entrée dans la liste).
Cependant nous aurons certains usages où nous aurons envie de "reset" le texte lors de la sélection.
Du coup j'opterais plutôt pour l'ajout d'une props autoclear de type booléen qui vaut false par défaut (ce qui correspondrait au comportement que tu décris) et que l'on pourrait mettre à true pour avoir le comportement actuel.

Voici la PR d'ajout de cette fonctionnalité: #224

@bbrangeo
Copy link
Author

Nikel. Good job.

Dans la même idée, rajouter la possibilité de rajouter des checbox sélectionnable dans le composant BIMDataDropdownList afin d'éviter cela (qui ne marche pas car aucun event sur checkBox):

<BIMDataDropdownList :list="arrayProperties" :perPage="10" elementKey="dropdown" :disabled="false" :closeOnElementClick="false" @element-click="onPropertiesClick" > <template #header> Properties </template> <template #element="{ element, close }"> <div class="flex items-center"> <BIMDataCheckbox size="xxxs" class="fill-primary" margin="0 6px 0 0" :state="false" :modelValue="element" @update:modelValue="updateValue(element, $event)" /> <span @click="close()">{{ element }}</span> </div> </template> </BIMDataDropdownList>

L'idée est de se rapprocher du composant BimDataTable avec les checkbox

@LrxGaelle
Copy link
Member

Salut @bbrangeo,

Concernant le composant BIMDataDropdownList, il n'a pas vocation à avoir ce genre de comportement, en revanche il est déjà possible d'ajouter des checkbox dans ce composant :

<BIMDataDropdownList
    :list="arrayProperties"
    :perPage="10"
    elementKey="dropdown"
    :disabled="false"
    :closeOnElementClick="false"
  >
    <template #header> Properties </template>
    <template #element="{ element, close }">
      <div class="flex items-center">
        <BIMDataCheckbox
          margin="0 6px 0 0"
          :modelValue="selectedItem === element"
          @update:modelValue="updateValue(element)"
        />
        <span @click="close()">{{ element }}</span>
      </div>
    </template>
  </BIMDataDropdownList>

Ou updateValue est une méthode :

updateValue(element) {
  this.selectedItem = element;
},

Et ou selectedItem serait une data qui contient l'élément actuellement sélectionné.

Sinon il existe aussi le composant BIMDataSelect : https://design.bimdata.io/components/select
Qui est déjà implémenté pour gérer de la sélection multiple.

@NicolasRichel
Copy link
Member

NicolasRichel commented Jul 28, 2022

Petite note concernant la moidification du composant <BIMDatatSearchAutocomplete />.
J'ai tenu compte de la remarque de @LrxGaelle dans ce commentaire et j'ai changé la valeur par défaut de la prop autoclear à true.
@bbrangeo cel a signifie que contrairement à ce que je t'ai indiqué dans mon précedent commentaire, il faudra explicitement définir la prop autoclear à false afin d'obtenir le comportement que tu souhaites (clear le texte à la sélection).

Par ailleurs, concernant le composant <BIMDataCheckbox />, il se trouve que sa documentation n'est pas à jour, je pense que ça t'as induit en erreur sur son utilisation.
Désolé pour ça, il y a un gros chantier de mise à jour des docs qui se prépare pour l'année qui vient. :)

@NicolasRichel
Copy link
Member

Already implemented in #224

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants