0.0.14 • Published 2 years ago

@slafon51/subject-search-button v0.0.14

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

Esup Subject-Search-Button

Subject-Search-Button est un webcomponent s'appuyant sur la librairie Lit pour rechercher et sélectionner une personne/d'un groupe.

Ce webcomponent utilise les webcomponents suivants :

  • @gip-recia/js-tree

Installation

  1. Installation via npm :
npm install @gip-recia/subject-search-button
  1. Importation du composant :

Dans un module JavaScript :

import '@gip-recia/subject-search-button';

Dans une page HTML :

<script type="module">
  import './path/to/subject-search-button.js'
</script>

Ou directement la verion minifiée :

<script src="./path/to/subject-search-button.bundle.min.js"></script>
  1. Ajout du composant sur une page HTML :
const subjectSearchButton = document.createElement('esup-subject-search-button');
subjectSearchButton.searchId = '...';
subjectSearchButton.config = {...};
document.body.appendChild(subjectSearchButton);

Paramètres

Le webcomponent Subject-Search-Button accepte les paramètres suivants :

  • searchType - Type de données recherchées. Valeur possible : 'PERSON', 'GROUP'. Si non reseignée, recherche de tous les types de données.

  • withExtended - Indique si l'on souhaite affichée la recherche étendue.

  • searchId - Identifiant unique du composant.

  • multiSelection - Active ou non la multisélection.

  • config - Objet contenant la configuration du composant.

Propriétés disponibles :

NomTypeObligatoireDescription
langStringNonLangue du composant. Valeur initialement disponible : 'fr', 'en'. Possibilité de rajouter des langues via la propriété labels.
labelsObjectNonPermet de surcharger les labels affichés ou de définir de nouvelles langues.
treeGroupDatasArrayOuiTableau des donnés affichées dans l'arborescence des groupes (cf. propriété datas du composant @gip-recia/js-tree, les noeuds de l'arbre doivent contenir en plus les propriétés a_attr.model.modelId.keyId et a_attr.model.modelId.KeyType représentant l'identifiant et le type du noeud).
userDisplayedAttrsArrayOuiTableau des propriétés de la personne/du groupe à afficher.
extendedAttrsArrayNonTableau des attributs disponibles pour la recherhce étendue (obligatoire si withExtended est à true).
searchUsersFunctionOuiFonction retournant une promise permettant de rechercher des personnes à partir d'un texte.
getGroupMembersFunctionOuiFonction retournant une promise permettant de rechercher les personnes appartenant à un groupe.
  • onSelection - Fonction appelée lors de la sélection de personnes/groupes.

Variables CSS

Modification de style

Plusieurs variables CSS peuvent être définis pour personnaliser le webcomponent :

NomDescription
--text-color-paginationPermet de modifier la couleur du texte des éléments de pagination
--selected-text-color-paginationPermet de modifier la couleur du texte de la page sélectionnée
--selected-background-color-paginationPermet de modifier la couleur de fond de la page sélectionnée
--validate-button-text-colorPermet de modifier la couleur du texte du bouton de validation
--validate-button-background-colorPermet de modifier la couleur de fond du bouton de validation
--validate-button-border-colorPermet de modifier la couleur de bordure du bouton de validation

Par défaut le webcomponent Subject-Search-Button s'appuie sur les fonts Font-Awesome pour afficher des icônes (via des pseudo-elements). Il est cependant possible de personnaliser les icônes affichées via les propriétés suivantes :

NomDescription
--icon-plus-font-familyPermet de configurer la famille de police de caractères de l'icône des boutons principaux
--icon-plus-font-weightPermet de configurer poids de la police de caractères de l'icône des boutons principaux
--icon-plus-contentCaractère unicode dans la famille de police de caractères utilisée pour l'icône des boutons principaux
--icon-cancel-font-familyPermet de configurer la famille de police de caractères de l'icône du bouton d'annulation
--icon-cancel-font-weightPermet de configurer poids de la police de caractères de l'icône du bouton d'annulation
--icon-cancel-contentCaractère unicode dans la famille de police de caractères utilisée pour l'icône du bouton d'annulation
--icon-validate-font-familyPermet de configurer la famille de police de caractères de l'icône du bouton de validation
--icon-validate-font-weightPermet de configurer poids de la police de caractères de l'icône du bouton de validation
--icon-validate-contentCaractère unicode dans la famille de police de caractères utilisée pour l'icône du bouton de validation
--icon-question-font-familyPermet de configurer la famille de police de caractères de l'icône d'information de la recherche utilisateur
--icon-question-font-weightPermet de configurer poids de la police de caractères de l'icône d'information de la recherche utilisateur
--icon-question-contentCaractère unicode dans la famille de police de caractères utilisée pour l'icône d'information de la recherche utilisateur
--icon-search-font-familyPermet de configurer la famille de police de caractères de l'icône du bouton de recherche
--icon-search-font-weightPermet de configurer poids de la police de caractères de l'icône du bouton de recherche
--icon-search-contentCaractère unicode dans la famille de police de caractères utilisée pour l'icône du bouton de recherche

Les variables CSS définies dans le webcomponent @gip-recia/js-tree peuvent être utilisées pour également personnaliser le webcomponent.

Utilisation

Exemple de configuration des variables css dans un fichier de style :

esup-subject-search-button {
  --icon-plus-font-family: 'Font Awesome 5 Free';
  --icon-plus-font-weight: 900;
  --icon-plus-font-content: '\\f128';
}

Test du webcomponent

Pour tester le webcomponent, exécuter la commande suivante :

npm start

Une page avec le webcomponent est alors disponible à l'adresse http://localhost:8000.

0.0.14

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago