Aller au contenu

Modèle d'attributs de référence (V4)

Le modèle ci-dessous reprend l'ensemble des possibilités du logiciel en terme de définition des champs des formulaires disponibles via leur intégration dans un formulaire type. Ce référentiel est compatible avec la version 4 du logiciel.

Modèle d'attributs en prévisualisation écran :

@

Modèle d'attributs au format Json

{
    "type": "object",
    "title": "Modèle de référence v4",
    "$schema": "http://json-schema.org/draft-07/schema",
    "required": [
    ],
    "internals": [
        {
            "url": "groups",
            "service": "group",
            "bindings": [
                {
                    "sort": "asc",
                    "limit": 15,
                    "attribute": "groupe",
                    "sortField": "displayName",
                    "loadOnInit": true,
                    "viewFormat": "{displayName}",
                    "initOnField": true,
                    "queryParams": "identifier=@me.groups.identifier",
                    "searchProperty": "displayName",
                    "serviceAttribute": "displayName",
                    "allowEmptyResults": false
                },
                {
                    "attribute": "groupe_id",
                    "searchProperty": "identifier",
                    "isValidationKey": true,
                    "serviceAttribute": "identifier"
                }
            ]
        }
    ],
    "properties": {
        "texte": {
            "gdpr": true,
            "type": "string",
            "view": {
                "size": "small-block",
                "type": "input-text"
            },
            "title": "Une chaine de texte (RGPD)",
            "position": 5,
            "readOnly": false,
            "filterNode": "partial",
            "description": ""
        },
        "bloc_1": {
            "type": "object",
            "title": "Un bloc d'attribut repliable pour les listes",
            "position": 8,
            "properties": {
                "autocomplete": {
                    "enum": [
                        "Chat",
                        "Chien",
                        "Cheval",
                        "Lapin",
                        "Loup"
                    ],
                    "type": "string",
                    "view": {
                        "size": "small-block",
                        "type": "input-autocomplete"
                    },
                    "title": "Champ liste autocomplété",
                    "position": 3,
                    "filterNode": "partial"
                },
                "liste_unique": {
                    "enum": [
                        "Choix 1",
                        "Choix 2"
                    ],
                    "type": "string",
                    "view": {
                        "size": "small-block",
                        "type": "input-select"
                    },
                    "title": "Liste à choix unique",
                    "pattern": "^(Choix 1|Choix 2)$",
                    "position": 1,
                    "filterNode": "exact"
                },
                "liste_multiple": {
                    "enum": [
                        "Choix 1",
                        "Choix 2"
                    ],
                    "type": "array",
                    "view": {
                        "size": "small-block",
                        "type": "input-select-multiple"
                    },
                    "title": "Liste à choix multiple",
                    "position": 2,
                    "filterNode": "exact"
                },
                "texte_valeur_multiple": {
                    "type": "array",
                    "view": {
                        "size": "small-block",
                        "type": "input-text-multiple",
                        "copySeparator": ";"
                    },
                    "items": {
                        "type": "string"
                    },
                    "title": "Texte à valeurs multiples (uniques)",
                    "maxItems": 5,
                    "minItems": 1,
                    "position": 4,
                    "filterNode": "partial",
                    "uniqueItems": true
                }
            }
        },
        "bloc_2": {
            "type": "object",
            "title": "Dates et nombres",
            "position": 9,
            "properties": {
                "date1": {
                    "type": "string",
                    "view": {
                        "mask": {
                            "mask": "d0/M0/0000",
                            "showMaskTyped": false
                        },
                        "size": "small-block",
                        "type": "input-date",
                        "maxDate": "today",
                        "minDate": "1970-01-01"
                    },
                    "title": "Date dans le passé",
                    "format": "date",
                    "position": 1,
                    "filterNode": "date"
                },
                "date2": {
                    "type": "string",
                    "view": {
                        "mask": {
                            "mask": "d0/M0/0000",
                            "showMaskTyped": true
                        },
                        "size": "small-block",
                        "type": "input-date",
                        "minDate": "today"
                    },
                    "title": "Date dans le futur",
                    "format": "date",
                    "position": 2,
                    "filterNode": "date"
                },
                "entier": {
                    "type": "integer",
                    "view": {
                        "size": "small-block",
                        "type": "input-number"
                    },
                    "title": "Nombre entier de 1 à 100",
                    "maximum": 100,
                    "minimum": 1,
                    "pattern": "^((-?[1-9])\\d*)$",
                    "position": 3,
                    "filterNode": "numeric"
                },
                "number": {
                    "type": "number",
                    "view": {
                        "mask": {
                            "mask": "separator.2",
                            "suffix": " €"
                        },
                        "size": "small-block",
                        "type": "input-number"
                    },
                    "title": "Montant décimal avec suffixe",
                    "pattern": "^-?\\d+(\\.\\d{1,2})?$",
                    "position": 4,
                    "filterNode": "numeric"
                }
            }
        },
        "bloc_3": {
            "type": "object",
            "title": "Radio, cases à cocher et toggle",
            "position": 10,
            "properties": {
                "radio": {
                    "enum": [
                        "Choix 1",
                        "Choix 2"
                    ],
                    "type": "string",
                    "view": {
                        "size": "small-block",
                        "type": "input-radio"
                    },
                    "title": "Boutons radio",
                    "pattern": "^(Choix 1|Choix 2)$",
                    "position": 1,
                    "filterNode": "exact"
                },
                "cocher": {
                    "type": "array",
                    "view": {
                        "size": "small-block",
                        "type": "input-checkbox"
                    },
                    "items": {
                        "enum": [
                            "Choix 1",
                            "Choix 2"
                        ],
                        "type": "string"
                    },
                    "title": "Cases à cocher",
                    "position": 2,
                    "filterNode": "exact"
                },
                "toggle": {
                    "type": "boolean",
                    "view": {
                        "type": "input-toggle"
                    },
                    "title": "Toggle",
                    "default": false,
                    "position": 3,
                    "filterNode": "exact"
                }
            }
        },
        "bloc_4": {
            "if": {
                "properties": {
                    "onoff": {
                        "const": true
                    }
                }
            },
            "then": {
                "required": [
                    "champ_conditionnel"
                ],
                "properties": {
                    "champ_conditionnel": {
                        "type": "string",
                        "view": {
                            "type": "input-text"
                        },
                        "title": "Champ obligatoire",
                        "position": 2,
                        "filterNode": "partial",
                        "description": ""
                    }
                }
            },
            "type": "object",
            "title": "Attributs conditionnels",
            "position": 11,
            "properties": {
                "onoff": {
                    "type": "boolean",
                    "view": {
                        "type": "input-toggle"
                    },
                    "title": "Toggle",
                    "default": false,
                    "position": 1,
                    "filterNode": "exact"
                }
            }
        },
        "groupe": {
            "type": "string",
            "view": {
                "size": "small-block",
                "type": "input-autocomplete"
            },
            "title": "Référentiel interne (Mes groupes)",
            "position": 2,
            "filterNode": "partial",
            "description": ""
        },
        "tableau": {
            "type": "array",
            "view": {
                "type": "input-array"
            },
            "items": {
                "type": "object",
                "properties": {
                    "date": {
                        "type": "string",
                        "view": {
                            "mask": {
                                "mask": "d0/M0/0000",
                                "showMaskTyped": true
                            },
                            "type": "input-date",
                            "maxDate": "today",
                            "minDate": "1970-01-01"
                        },
                        "title": "Une date",
                        "format": "date",
                        "position": 3
                    },
                    "niveau": {
                        "enum": [
                            "Débutant",
                            "Intermédiaire",
                            "Avancé",
                            "Expert"
                        ],
                        "type": "string",
                        "view": {
                            "type": "input-select"
                        },
                        "title": "Une liste de valeurs",
                        "position": 2
                    },
                    "resume": {
                        "type": "string",
                        "view": {
                            "type": "input-textarea"
                        },
                        "title": "Une note",
                        "position": 4
                    }
                }
            },
            "title": "Un tableau",
            "position": 4,
            "description": "",
            "uniqueItems": true
        },
        "groupe_id": {
            "type": "string",
            "view": {
                "size": "small-block",
                "type": "input-text"
            },
            "title": "Attribut du référentiel en lecture seule (ID)",
            "position": 3,
            "readOnly": true,
            "filterNode": "partial",
            "description": ""
        },
        "zone_texte": {
            "type": "string",
            "view": {
                "type": "input-textarea",
                "nbLineToShow": 3
            },
            "title": "Zone de texte",
            "position": 7,
            "filterNode": "partial"
        },
        "displayName": {
            "type": "string",
            "view": {
                "type": "input-text"
            },
            "title": "Propriété système (displayName)",
            "default": "Ceci est une propriété système affichée dans le formulaire",
            "position": 1,
            "filterNode": "partial",
            "systemProperty": true
        },
        "texte_en_lecture_seule": {
            "type": "string",
            "view": {
                "size": "small-block",
                "type": "input-text"
            },
            "title": "Une chaine de texte en lecture seule",
            "default": "Une valeur par défaut",
            "position": 6,
            "readOnly": true,
            "filterNode": "partial",
            "description": ""
        }
    },
    "additionalProperties": true
}