0.0.63 • Published 5 months ago

sgc-share-lib v0.0.63

Weekly downloads
-
License
-
Repository
-
Last release
5 months ago

SgcShareLib

Share the basics Models for create custom SGC UI Components. This library implements the basic data structure used to describe SGC graphics components.

Data Structure

1. TFieldFormEditData

interface TFieldFormEditData {
  name?: string;
  value?: any;
  showLabel?: boolean;
  label?: string;
  required?: string | boolean;
  requiredMsg?: string;
  disabled?: boolean;
  classCssStyle?: string;
  hasSelectValues?: boolean;
  selectMultivalue?: boolean;
  listeSelectValues?: Array<TSgcOptionListeSelectValues>;
  typeFieldForm: TypeFieldFormEdit;
  isDisabled?: () => boolean; 
  isHide?: () => boolean;
  onChange?: (event?: any) => void;
  isDataValidate?: () => boolean;
  //---- For TEXT_FIELDEDITDATA ----------
  minLength?: number;
  maxLength?: number;
  showPrefixIcon?: boolean;
  prefixIcon?: string;
  showSuffixIcon?: boolean;
  suffixIcon?: string;
  showPrefixText?: boolean;
  prefixText?: string;
  showSuffixText?: boolean;
  suffixText?: string;
  //---- For TEXTAREA_FIELDEDITDATA (EXTEND TEXT_FIELDEDITDATA)
  rows?: number;
  cols?: number;
  //---- For NUMBER_FIELDEDITDATA (EXTEND TEXT_FIELDEDITDATA)
  showSpinner?: boolean;
  //---- For PASSWORD_FIELDEDITDATA (EXTEND TEXT_FIELDEDITDATA)
  hidePassword?: boolean;
  hidePasswordSymbol?: TypeHidePasswordSymbol;
  //---- For DATETIME_FIELDEDITDATA
  dateFormat?: string;
  dateSepFormat?: string;
  showTime?: boolean;
  //---- Use to align fields on the form
  rowNumberInForm?: number;
  widthInResponsiveGridWiew?: number;
  grilleFields?: TGrilleFieldsFormEdit;
}
PropriétéType donnéesDescription
namestringNom utilisé pour identifier le composant
valueanyValeur saisie/affichée dans le champ
showLabelbooleanDétermine si oui ou non on affiche le titre du composant graphique
labelstringTitre du composant graphique
requiredstring | booleanIndique si oui ou non le champ requiert une valeur
requiredMsgstringMessage à renvoyer si aucune valeur n'est saisie dans le composant graphique
disabledbooleanIndique si oui ou non le composant graphique est désactivé
classCssStylestringclasse CSS utilisée pour personnaliser l'affichage du composant graphique
typeFieldFormTypeFieldFormEditPropriété permettant d'indiquer le type de composant graphique à utiliser pour effectuer la saisie des données
hasSelectValuesbooleanIndique si oui ou non le composant permet de sélectionner la valeur dans une liste prédéfinie de valeurs
selectMultivaluebooleanIndique si oui ou non le composant va permettre une sélection multiple de valeurs
listeSelectValuesArray (TOptionListeSelectValues)Liste des valeurs utilisés pour la sélection de la valeur du composant
isDisabled()booleanFonction utilisée pour déterminer si oui ou non le composant graphique doit être désactivé. Si cette fonction est définie, alors le comportement du composant est définie par cette fonction et non par la propriété "disabled"
isHide()booleanFonction utilisée pour déterminer si oui ou non le composant doit être masqué dans le formulaire
onChange()voidFonction utilisée pour déterminer l'action à mener lorsque la valeur du composant est modifié
isDataValidate()booleanFonction utilisée pour déterminer si oui ou non la valeur renseignée dans le composant graphique est valide
rowNumberInFormnumberNuméro de la ligne utilisée pour l'affichage du composant graphique dans le formulaire
widthInResponsiveGridWiewnumberLargeur du composant sur la ligne (1-12)
grilleFieldsTGrilleFieldsFormEditPropriété permettant de paramétrer la saisie dynamique d'une liste de données
minLengthnumberNombre minimum de caractères à saisir dans le composant texte
maxLengthnumberNombre maximum de caractères à saisir dans le composant texte
showPrefixIconbooleanActive l'affichage d'une icône à gauche du composant de saisi
prefixIconstringnom de l'icone (material) à afficher à gauche du composant de saisi
showSuffixIconbooleanActive l'affichage d'une icône à droite du composant de saisi
suffixIconstringnom de l'icône (material) à afficher à droite du composant de saisi
showPrefixTextbooleanPermet de positionner un texte comme préfixe du composant de saisi
prefixTextstringTexte à afficher comme préfixe
showSuffixTextbooleanPermet de positionner un texte comme suffixe du composant de saisi
suffixTextstringTexte à afficher comme suffixe
rowsnumberNombre de lignes visible par défaut
colsnumberNombre de colonnes visible par défaut
showSpinnerbooleanIndique si oui ou non le composant affiche les flêches permettant d'incrémenter ou de décrémenter la valeur saisie dans dans le composant
hidePasswordbooleanIndique si oui ou non le composant masque le texte saisi
hidePasswordSymbolEnum TSgcHidePasswordSymbolIndique le symbole à utiliser pour masquer le texte
dateFormatstringFormat utilisé pour afficher la date : yyyymmddyyyyddmmddmmyyyymmddyyyy
dateSepFormatsringSéparateur des éléments de la date: / (slash)- (hyphen). (dot)
showTimebooleanDétermine si oui ou non le composant affiche également l'heure

2. TypeFieldFormEdit

enum TypeFieldFormEdit {
  TEXTE = 'TEXT',
  TEXTE_MULTILIGNE = 'TEXT_MULTILINE',
  TEXTE_SECRET = 'TEXT_SECRET',
  NOMBRE = 'NUMERIC',
  DATE_HEURE = 'DATE_HEURE',
  HEURE = 'HEURE',
  BOOLEEN = 'BOOLEAN',
  LISTE_OBJECT = 'LIST_OBJECT',
}

3. TOptionListeSelectValues

interface TOptionListeSelectValues {
  value: any;
  label: string;
  data?: any;
  items?: Array<TOptionListeSelectValues>;
}
PropriétéType donnéesDescription
labelstringTitre correspondant à un élément affiché dans la liste
valueanyValeur de l'élément dans la liste
dataanyAutres données pouvant être liées à un élément de la liste
itemsArray (TOptionListeSelectValues)Liste des sous éléments correspondant à un élément de la liste

4. TGrilleFieldsFormEdit

interface TRowGrilleFieldsFormEdit {
  indexRow: number;
  listeFieldsRow: TListeFieldFormEditData;
}

export interface TGrilleFieldsFormEdit {
  idGrilleFields: string;
  modeleRowFields: TRowGrilleFieldsFormEdit;
  listeRows: Array<TRowGrilleFieldsFormEdit>;
  showHeader: boolean;
  showColumnHeader: boolean;
  showFooter: boolean;
  showAddButton: boolean;
  showRemoveColumnOption: boolean;
  lastIndexRowFields: number;
  isHide?: () => boolean;
}

Default Constructor use to init TFieldFormEditData

const TFieldFormEditDataDefault: TFieldFormEditData = {
  showLabel: false,
  label: '',
  required: false,
  requiredMsg:'Required value',
  disabled: false,
  rowNumberInView: 1,
  widthInResponsiveGridWiew: 12,
  hasSelectValues: false,
  selectMultivalue: false,
  typeFieldForm: TypeFieldFormEdit.TEXTE,
}

Default parent class of each class definition of a graphic Component SGC UI

class BaseFieldFormEditUI {
  @Input() data!: TFieldFormEditData;
  @Output() dataChange: EventEmitter<T> = new EventEmitter<TFieldFormEditData>();
  
  isDisabled: ()=>boolean = ()=>{
    if (this.data?.isDisabled) {
      return this.data.isDisabled();
    } else if (this.data?.disabled) {
      return this.data.disabled;
    }
    return false; 
  }

  getLabel = (): string => {
    let myLabel = '';
    if (this.data.showLabel && this.data.label) {
      myLabel= this.data.label;
    }
    //myLabel+= (this.data.required ? ' *' : '');
    return myLabel;
  };

  isHide = (): boolean => {
    return (
      this.data != undefined &&
      this.data.isHide != undefined &&
      this.data.isHide()
    );
  };
}
PropriétéType donnéesDescription
dataT (Input property of generic type T)Modèle de données utilisé par tout composant graphique
dataChangeEventEmitter \<T> (Output property)Action à effectuer lorsque la valeur du composant est modifiée.
isDisabledboolean (function)Fonction par défaut qui détermine l'état actif/inactif du composant.
getLabelstring (function)Retourne le label du composant graphique.
isHideboolean (function)Fonction par défaut qui détermine l'état visible/masqué du composant graphique.
0.0.63

5 months ago

0.0.40

5 months ago

0.0.41

5 months ago

0.0.42

5 months ago

0.0.43

5 months ago

0.0.44

5 months ago

0.0.45

5 months ago

0.0.46

5 months ago

0.0.47

5 months ago

0.0.37

5 months ago

0.0.38

5 months ago

0.0.39

5 months ago

0.0.30

5 months ago

0.0.31

5 months ago

0.0.32

5 months ago

0.0.33

5 months ago

0.0.34

5 months ago

0.0.35

5 months ago

0.0.36

5 months ago

0.0.26

5 months ago

0.0.27

5 months ago

0.0.28

5 months ago

0.0.29

5 months ago

0.0.62

5 months ago

0.0.20

7 months ago

0.0.21

5 months ago

0.0.22

5 months ago

0.0.23

5 months ago

0.0.24

5 months ago

0.0.25

5 months ago

0.0.60

5 months ago

0.0.61

5 months ago

0.0.59

5 months ago

0.0.15

7 months ago

0.0.16

7 months ago

0.0.17

7 months ago

0.0.18

7 months ago

0.0.19

7 months ago

0.0.51

5 months ago

0.0.52

5 months ago

0.0.53

5 months ago

0.0.54

5 months ago

0.0.55

5 months ago

0.0.56

5 months ago

0.0.57

5 months ago

0.0.58

5 months ago

0.0.50

5 months ago

0.0.48

5 months ago

0.0.49

5 months ago

0.0.10

8 months ago

0.0.11

7 months ago

0.0.12

7 months ago

0.0.13

7 months ago

0.0.14

7 months ago

0.0.9

8 months ago

0.0.8

8 months ago

0.0.7

8 months ago

0.0.6

8 months ago

0.0.5

8 months ago

0.0.4

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago