0.0.2 • Published 4 years ago

table-tools v0.0.2

Weekly downloads
4
License
-
Repository
-
Last release
4 years ago

TABLE-TOOLS

PRÉREQUIS

  • primeicons
  • primeng
  • quill

Ajoutez les styles primeng et primeisons à votre angular.json :

"architect": {
  ...
  "build": {
    ...
    "options": {
      ...
      "styles": [
        ...
        "node_modules/primeicons/primeicons.css",
        "node_modules/primeng/resources/primeng.css",
        "node_modules/primeng/resources/themes/nova-light/theme.css"
      ]

Importation de la librarie

npm install table-tools --save

Dans votre module :

import {TableToolsModule} from 'table-tools';

Annexes Columns : Columns interface.

Exemple d'utilisation :

ANNEXES

Columns interface :

NomTypeInfos
fieldstringclé permettant de retrouver la valeur dans l'objet
headerstringTitre du champs
inputTypestringautocomplete, select, input, hidden, tooltip, spinner (si tooltip, ce n'est pas une vraie cellule)
keyFieldstringvoir "optionLabel" primeng dropdown
optionsany[]array objets pour remplir une select
requiredboolean
emptyMessagestringMessage si la requête pour l'autocomplete ne retourne aucun résultat
widthstringlargeur des cellules
rowspanstringSert au groupement des colonnes. voir primeng colgroup
colspanstringSert au groupement des colonnes. voir primeng colgroup
contextMenuHeaderContextMenuHeaderConfigSert à ajouter les filtres sur les header des colonnes. Valeurs accèptées : ASC, DESC, DATE, STRING, MULTISELECT
validatorsValidators[]Liste de validateurs lors de la mise à jour, ajout de ligne, cellules. Validators.required, Validators.maxLength(10)... Angular Validators
tooltipTooltip {text: string, callback: (col: Column, value: any) => Promise}Sert à afficher une info bulle au hover sur la ligne
tooltipPositionstringposition
panelGroupstringSert à positionner le champs dans un panel dans la modal ajout d'une nouvelle ligne
placeholderstringInformation concernant le champs à remplir

DECLARATION DE LA LIBRAIRIE (objet BodyTable)

NomTypeInfos
rowsany[]Liste des objets du tableau
columnsArray<Column[]>Voir : pourquoi déclarer un array d'array de colonnes
canEditbooleanEdition permise
canAddbooleanAjout permis
canDeletebooleanSuppression permise
onRejectObject { rowData: any, error: string }Cette évènement peut être appelé lors d'une erreur de mise à jour d'une ligne
contextMenuObjet {actions: {id: string; name: string; icon: string; } }Permet d'ajouter des valeurs customisée au contextMenu. Evènement récupéré avec (customEvent)="onCustomEvent($event)"
configConfigList {title: string }Titre du tableau courant
callbacksCallbacksVoir Ajout de callbacks lors de certains évènements
paginatorPaginatorVoir Déclaration de valeurs pour la pagination

LES METHODES

NomFonctionInfos
(addEvent)Méthode appelée à chaque ajout d'un élément
(deleteEvent)Méthode de suppression d'une ligne
(updateEvent)Appelée après le clic droit sur mettre à jour
(autoCompleteEvent)Appelée après la saisie dans une autoComplete
(customEvent)ContextMenuRow.actions[]Liste d'action spécifique du contextMenu

| configList | ConfigList | Plusieurs infos sont à renseigner avec cette object (title...) | | callbacks | Callbacks | Liste de callbacks pouvant être appelés en fonction des évènements générés par l'utilisateur (doit retourner des promises) | | bodyTable | Object BodyTable | Voir BodyTable interface rows: any[]; columns: Array<Column[]>; |

ANNEXES

Pourquoi déclarer un array d'array de colonne

C'est pour faciliter la déclaration de groupement de colonnes Exemple de définitions des colonnes avec des groupements de colonnes :

Ajout de callbacks lors de certains évènements

déclaration de valeurs pour la pagination

NOTES

  • Un tri multiselect ne fonctionne sur une colonne avec des valeurs séparées par des virgules uniquement avec la valeur inputType: selectmultiple

P.S. :

Documentation peu fournie. Pour toutes questions : contact. Site internet : www.webmastertoulouse.com.