npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@gip-recia/evaluator

v0.0.20

Published

Evaluator

Downloads

354

Readme

Esup Evaluator et Edit-Evaluator

Evaluator et Edit-Evaluator sont des webcomponents s'appuyant sur la librairie Lit pour afficher/modifier un évaluateur.

Ces webcomponents utilisent les webcomponents suivants :

  • @gip-recia/subject-infos
  • @gip-recia/subject-search-button

Installation

  1. Installation via npm :
npm install @gip-recia/evaluator
  1. Importation du composant :

Dans un module JavaScript :

import '@gip-recia/evaluator';

Dans une page HTML :

<script type="module">
  import './path/to/index.js'
</script>

Ou directement la verion minifiée :

<script src="./path/to/evaluator.bundle.min.js"></script>
  1. Ajout des composants sur une page HTML :
const evaluator = document.createElement('esup-evaluator');
evaluator.evaluator = {...};
evaluator.config = {...};
document.body.appendChild(evaluator);

const editEvaluator = document.createElement('esup-edit-evaluator');
editEvaluator.evaluator = {...};
editEvaluator.config = {...};
document.body.appendChild(editEvaluator);

Webcomponent Evaluator

Paramètres

Le webcomponent Evaluator accepte les paramètres suivants :

  • evaluator - Objet contenant les données de l'évaluator à afficher.

Les propriétés de l'objet varient selon le context :

| Nom | Type | Obligatoire | Description | | ---------- | ------ | ----------- | ----------------------------------------------------------------------------------------------------------------- | | class | String | Oui | Type d'évaluateur (valeurs possibles : OPERATOR/AUTHENTICATED/USERATTRIBUTES/USERMULTIVALUEDATTRIBUTES/USERGROUP) | | evaluators | Array | Non | Tableau des évaluateurs enfants si l'évaluateur est une opération | | type | String | Non | Type d'opération si l'évaluateur est une opération (valeurs possibles : OR/AND/NOT) | | group | String | Non | Identifiant du groupe si l'évaluateur est un groupe | | attribute | String | Non | Attribut de l'évaluateur si l'évaluateur est une personne | | mode | String | Non | Mode de l'évaluateur si l'évaluateur est une personne | | value | String | Non | Valeur de l'évaluateur si l'évaluateur est une personne |

  • simple - Booléen indiquant si l'évaluateur est affiché en mode simple ou étendu.

  • config - Objet contenant la configuration du composant.

Propriétés disponibles :

| Nom | Type | Obligatoire | Description | | ------------------ | -------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | lang | String | Non | Langue du composant. Valeur initialement disponible : 'fr', 'en'. Possibilité de rajouter des langues via la propriété labels | | labels | Object | Non | Permet de surcharger les labels affichés ou de définir de nouvelles langues. | | resolveKey | Boolean | Non | Indique s'il faut recharger les données de la personne/du groupe si nécessaire. Par défaut: true. | | getSubjectInfos | Function | Oui | Fonction permettant de récupérer les données d'une personne/d'un groupe. Paramètres : keyType et keyId de la personne/du groupe. Retourne : une promise avec les infos de la personne/du groupe. | | userDisplayedAttrs | Array | Oui | Tableau des propriétés de la personne/du groupe à afficher. |

  • onSubjectClicked - Fonction appelée lors du clic sur une personne/un groupe.

Variables CSS

Modification de style

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

Webcomponent Edit-Evaluator

Paramètres

Le webcomponent Edit-Evaluator accepte les paramètres suivants :

  • evaluator - Objet contenant les données de l'évaluator à modifier.

Les propriétés de l'objet varient selon le context :

| Nom | Type | Obligatoire | Description | | ---------- | ------ | ----------- | ----------------------------------------------------------------------------------------------------------------- | | class | String | Oui | Type d'évaluateur (valeurs possibles : OPERATOR/AUTHENTICATED/USERATTRIBUTES/USERMULTIVALUEDATTRIBUTES/USERGROUP) | | evaluators | Array | Non | Tableau des évaluateurs enfants si l'évaluateur est une opération | | type | String | Non | Type d'opération si l'évaluateur est une opération | | group | String | Non | Identifiant du groupe si l'évaluateur est un groupe | | attribute | String | Non | Attribut de l'évaluateur si l'évaluateur est une personne | | mode | String | Non | Mode de l'évaluateur si l'évaluateur est une personne | | value | String | Non | Valeur de l'évaluateur si l'évaluateur est une personne |

  • config - Objet contenant la configuration du composant.

Propriétés disponibles :

| Nom | Type | Obligatoire | Description | | ------------------ | -------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | lang | String | Non | Langue du composant. Valeur initialement disponible : 'fr', 'en'. Possibilité de rajouter des langues via la propriété labels | | labels | Object | Non | Permet de surcharger les labels affichés ou de définir de nouvelles langues. | | resolveKey | Boolean | Non | Indique s'il faut recharger les données de la personne/du groupe si nécessaire. Par défaut: true. | | getSubjectInfos | Function | Oui | Fonction permettant de récupérer les données d'une personne/d'un groupe. Paramètres : keyType et keyId de la personne/du groupe. Retourne : une promise avec les infos de la personne/du groupe. | | userDisplayedAttrs | Array | Oui | Tableau des propriétés de la personne/du groupe à afficher. | | operators | Array | Oui | Liste des opérateurs disponibles. | | stringEvaluators | Array | Oui | Liste des modes disponibles. | | userAttributes | Array | Oui | Liste des attributs utilisateur disponibles. | | treeGroupDatas | Array | Oui | Tableau 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). | | userDisplayedAttrs | Array | Oui | Tableau des propriétés de la personne/du groupe à afficher. | | searchUsers | Function | Oui | Fonction retournant une promise permettant de rechercher des personnes à partir d'un texte. | | getGroupMembers | Function | Oui | Fonction retournant une promise permettant de rechercher les personnes appartenant à un groupe. |

  • onModification - Fonction appelée lors de la modification de l'évaluateur.

  • onSubjectClicked - Fonction appelée lors du clic sur une personne/un groupe.

Fonctions

Plusieurs fonctions sont disponibles pour intéragir avec le webcomponent :

  • isValid - Permet de s'avoir si l'évaluateur modifié est valide.

Variables CSS

Modification de style

Par défaut le webcomponent Edit-Evaluator 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 :

| Nom | Description | | ------------------------- | -------------------------------------------------------------------------------------------------------- | | --icon-remove-font-family | Permet de configurer la famille de police de caractères de l'icône du bouton de suppression | | --icon-remove-font-weight | Permet de configurer poids de la police de caractères de l'icône du bouton de suppression | | --icon-remove-content | Caractère unicode dans la famille de police de caractères utilisée pour l'icône du bouton de suppression |

Les variables CSS définies dans les webcomponents @gip-recia/subject-infos et @gip-recia/subject-search-button peuvent être utilisées pour personnaliser le webcomponent.

Utilisation

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

esup-edit-evaluator {
  --icon-remove-font-family: 'Font Awesome 5 Free';
  --icon-remove-font-weight: 900;
  --icon-remove-font-content: '\\f128';
}

Test des webcomponents

Pour tester les webcomponents, exécuter la commande suivante :

npm start

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