@up-group/react-schemaform
TypeScript icon, indicating that this package has built-in type declarations

0.1.30 • Public • Published

React-SchemaForm

Setup

npm install @up-group/up-react-schemaform

Dependency

Components : react-controls

Project

Ce projet a pour objectif la génération automatique d'un formulaire à partir d'un JsonSchema.

Site de référence :

  • Guide spacetelescope

  • json-schema.org

    Il est à noter que si dans les grandes lignes les normes officielles du JsonSchema sont respectées, elles ont été adaptées pour répondre au besoin.

Demo

demo

JsonSchema

Type

  • object
  • array
  • string
  • number
  • integer
  • boolean

Format

  • date
  • date-time
  • time
  • entitykey
  • enum
  • email

Required

{
    "type": "object",
    "properties": {
        "age": { "type": "number" }
        "hauteur": { "type": "number" }
    },
    "required": ["age"]
}

Minimum et Maximum

Disponible avec les types number et integer.

{
    "type":"number",
    "minimum":5.0,
    "maximum":10.5
}

Enum (custom JSONShcema)

Deux champs supplémentaires ont été ajoutés :

  • enumNames
  • enumDescriptions

Ainsi que le format :

  • enum
{
    "enumNames":["choix1","choix2","choix3"],
    "enumDescriptions":["Premier choix","Second choix","Troisieme choix"],
    "type":"integer",
    "format":"enum",
    "enum":[2,4,6]
}

EntityKey / EntitySource

Nouveau format : entityKey

Nouvel propriété : entitySource qui contient :

  • id : nom de la propriété "clé" des objets retours
  • name : nom de l’agrégat
  • text : nom à afficher à l’utilisateur
  • query : url de l’api de recherche
  • queryParameterName : nom de l’argument
{
    "entitySource":{
        "id":"Id",
        "name":"Inventaire",
        "text":"{Nom}",
        "query":"/Product/api/queries/IInventaireSearchQuery",
        "queryParameterName":"args"
    },
    "type":"string",
    "default":"00000000-0000-0000-0000-000000000000",
    "format":"entityKey"
}

Upload

Nouveau format upload Nouvelle propiété JsonSchema fileExtension

{
    "fileExtension":".csv",
    "type":["string","null"],
    "default":null,
    "format":"upload"
}

Utilisation du composant

Autre

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.1.306latest
0.1.280beta

Version History

VersionDownloads (Last 7 Days)Published
0.1.306
0.1.290
0.1.280
0.1.270
0.1.260
0.1.251
0.1.240
0.1.230
0.1.220
0.1.210
0.1.201
0.1.191
0.1.181
0.1.170
0.1.160
0.1.151
0.1.140
0.1.130
0.1.120
0.1.110
0.1.101
0.1.90
0.1.80
0.1.70
0.1.50
0.1.40
0.1.21
0.0.730
0.0.720
0.0.711
0.0.700
0.0.690
0.0.681
0.0.670
0.0.660
0.0.651
0.0.640
0.0.630
0.0.621
0.0.610
0.0.600
0.0.591
0.0.580
0.0.571
0.0.561
0.0.550
0.0.540
0.0.531
0.0.520
0.0.510
0.0.501
0.0.491
0.0.480
0.0.470
0.0.460
0.0.450
0.0.440
0.0.430
0.0.420
0.0.410
0.0.400
0.0.391
0.0.380
0.0.370
0.0.360
0.0.350
0.0.340
0.0.330
0.0.320
0.0.310
0.0.300
0.0.280
0.0.270
0.0.261
0.0.251
0.0.231
0.0.220
0.0.211
0.0.200
0.0.191
0.0.180
0.0.160
0.0.150
0.0.140
0.0.130
0.0.110
0.0.100

Package Sidebar

Install

npm i @up-group/react-schemaform

Weekly Downloads

29

Version

0.1.30

License

ISC

Unpacked Size

201 kB

Total Files

106

Last publish

Collaborators

  • vbouzon