adminapi/schema/screens.json

70 lines
2.1 KiB
JSON
Raw Normal View History

2024-10-30 15:20:47 +00:00
{
"$id": "https://smatchit.io/schema/screens",
"$comment": "To describe screens as tree to navigate inside",
"title": "Screens description",
"description": "Each propertie value is a mustache template string where a data must be provide to display screen with value",
"type": "object",
"properties": {
"screenid":{
"title":"Screen identification used in html tag id",
"type":"string"
},
"title": {
"title": "A title in a screen",
"type": "string"
},
"subtitle": {
"title": "A subtitle in a screen",
"type": "string"
},
"icon": {
"title": "an icon name",
"type": "string"
},
"warning": {
"title": "A text to highlight something, this text is between 2 ! icon",
"type": "string"
},
"formcontrol": {
"title": "A key word to presents this content",
"type": "string",
"enum":["squarebluebtn","listbtn","form"]
},
"forms":{
"title":"Liste of data collection element into the screen",
"type":"array",
"items":{"type":"objects"}
},
"action": {
"title": "List of possible action on this element",
"type": "string",
"enum":["onclick"]
},
"function":{
"title":"Function name to call, if action",
"comment":"other function than nextlevel",
"type":"string"
},
"params":{
"title":" an object containning parameter to send to function",
"comment":"can be empty {}",
"type":"objects"
},
"nextlevel":{
"title":"List of new screens to show if function is nextlevel $ref:# means it same current schema",
"type":"array",
"items":{"$ref":"#"}
}
},
"required": ["screenid", "title"],
"apxid": "screenid",
"apxuniquekey": ["screenid"],
"apxidx": [
{ "name": "lst_screens", "type": "array", "keyval": "screenid" },
],
"apxaccessrights": {
"owner": { "R": [], "U": [], "D": [] },
"anonymous": { "R": [] },
}
}