6.1. Login response of demo
Complete response of demo.
In the demo application there is a complete left menu, and a topmenu. Hereby the response that is send by the iAPI after the login. It contains a sample of all the possible pagetypes with grids and forms.
Since json is a text format, you could save this in a TXT file, modify it with an editor, and use it to send to the BOA server after a login.
However it is better to take the time to use a json parser, so you can create json data at runtime. This will be the fastest and also the easiest way once you know how to use the json parser.
It is rather easy to change the menu options according to the user of the login. This way you can implement different levels of user permission in the menu system. Of course, it will be possible to do that also on form level. Since the user is normally part of the JWT token, that is send with each request, the iAPI can check for the user rights on each request.
{
"login": "ok",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiRU4iLCJsYW5ndWFnZSI6IkVOIiwia2V5IjoxNjM4MywiaWF0IjoxNTQ4ODczMjQ2LCJuYmYiOjE1NDg4NzMyNDYsImV4cCI6MTU0ODkxNjQ0Nn0.qwWS1o1lS1RENT0JIZgv-wVdnJZoxqJlOcV8ePWtHZc",
"language": "EN",
"appname": "Demo",
"buttoncorner": 1,
"infopages": "http://www.boa-platform.com",
"company": [
{
"dossier": "000",
"naam": "Firmanaam BVBA "
}
],
"menu": [
{
"title": "Customers.",
"endpoint": "/customers",
"pagetype": "tabgrid",
"hidefilter": "0",
"position": "top",
"icon": "/",
"id": "customers",
"buttons": [
"add",
"delete",
"edit",
"exit",
"print",
"export"
],
"onclick": {
"endpoint": "/customers/form",
"pagetype": "tabform",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Suppliers.",
"endpoint": "/suppliers",
"pagetype": "tabgrid",
"hidefilter": "0",
"position": "top",
"icon": "n",
"id": "suppliers",
"buttons": [
"add",
"delete",
"edit",
"exit",
"export"
],
"onclick": {
"endpoint": "/suppliers/form",
"pagetype": "tabform",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Products",
"icon": "y",
"id": ""
},
{
"title": "Sales.",
"icon": "r",
"id": "",
"submenu": [
{
"title": "Quotation",
"endpoint": "/files/sales?key=O__1",
"pagetype": "grid",
"hidefilter": "1",
"position": "bottom",
"icon": "r",
"id": "offers",
"buttons": [
"add",
"delete",
"edit",
"exit",
"print"
],
"onclick": {
"endpoint": "/files/sales/${id}",
"pagetype": "form",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"edit"
]
}
},
{
"title": "Order",
"endpoint": "/files/sales?key=B__1",
"pagetype": "grid",
"hidefilter": "1",
"position": "bottom",
"icon": "r",
"id": "custorders",
"buttons": [
"add",
"delete",
"edit",
"exit",
"print",
"export"
],
"onclick": {
"endpoint": "/files/sales/${id}",
"pagetype": "form",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Delivery",
"endpoint": "/files/sales?key=L__1",
"pagetype": "grid",
"hidefilter": "1",
"position": "bottom",
"icon": "r",
"id": "deliveries",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/sales/${id}",
"pagetype": "form",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Invoice",
"endpoint": "/files/sales?key=FVE1",
"pagetype": "grid",
"hidefilter": "1",
"position": "bottom",
"icon": "r",
"id": "invoices",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/sales/${id}",
"pagetype": "form",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
}
]
},
{
"title": "Orders Receptions",
"icon": "V",
"id": "",
"submenu": [
{
"title": "Requests",
"endpoint": "/orders/A",
"rowrefresh": "/orders/A/${id}",
"pagetype": "grid",
"hidefilter": "1",
"position": "bottom",
"icon": "V",
"id": "pricerequest",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/orderdet/${id}",
"pagetype": "form",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Orders",
"endpoint": "/orders/X",
"rowrefresh": "/orders/X/${id}",
"pagetype": "grid",
"hidefilter": "1",
"position": "bottom",
"icon": "V",
"id": "suporders",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/orderdet/${id}",
"pagetype": "form",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Receptions",
"endpoint": "/orders/Y",
"rowrefresh": "/orders/Y/${id}",
"pagetype": "grid",
"hidefilter": "1",
"position": "bottom",
"icon": "V",
"id": "receptions",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/orderdet/${id}",
"pagetype": "form",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
}
]
},
{
"title": "Files",
"icon": "+",
"id": "",
"submenu": [
{
"title": "Zip codes",
"endpoint": "/files/postnrs",
"pagetype": "grid",
"hidefilter": "0",
"position": "top",
"id": "zipcodes",
"buttons": [
"add",
"delete",
"edit",
"exit",
"print",
"export"
],
"onclick": {
"endpoint": "/files/postnrs/${id}",
"pagetype": "form",
"buttons": [
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Country codes",
"endpoint": "/files/landcode?key=1=1",
"pagetype": "grid",
"hidefilter": "1",
"position": "top",
"pagesize": "md",
"id": "countrycodes",
"buttons": [
"add",
"delete",
"edit",
"exit",
"export"
],
"onclick": {
"endpoint": "/files/landcode/${id}",
"pagetype": "modalform",
"buttons": [
"save",
"previous",
"next",
"exit"
]
}
},
{
"title": "Article management.",
"id": "",
"submenu": [
{
"title": "Categories",
"endpoint": "/files/groepen",
"pagetype": "grid",
"hidefilter": "0",
"position": "top",
"id": "categories",
"buttons": [
"add:delete",
"edit",
"exit",
"print"
],
"onclick": {
"endpoint": "/files/groepen/${id}",
"pagetype": "form",
"buttons": [
"add",
"delete",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Brands.",
"endpoint": "/files/merken",
"pagetype": "modalgrid",
"hidefilter": "0",
"position": "top",
"pagesize": "lg",
"id": "brands",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/merken/${id}",
"pagetype": "form",
"buttons": [
"add",
"delete",
"save",
"list",
"previous",
"next",
"exit"
]
}
}
]
},
{
"title": "Additional help files.",
"id": "",
"submenu": [
{
"title": "Customer Groups.",
"endpoint": "/files/klantgroep?key=1=1",
"pagetype": "modalgrid",
"hidefilter": "1",
"position": "top",
"pagesize": "lg",
"id": "custgroup",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/klantgroep/${id}",
"pagetype": "form",
"buttons": [
"add",
"delete",
"save",
"list",
"previous",
"next",
"exit"
]
}
}
]
}
]
}
],
"topmenu": [
{
"title": "Form types samples",
"icon": "+",
"id": "",
"submenu": [
{
"title": "Tab grid & Multi Form",
"endpoint": "/customers",
"pagetype": "tabgrid",
"hidefilter": "0",
"position": "top",
"id": "customerstab",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/customers/form",
"pagetype": "tabform",
"buttons": [
"delete",
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Tab grids & Forms",
"id": "",
"submenu": [
{
"title": "Tab grid + Tab Form",
"endpoint": "/files/landcode?key=1=1",
"pagetype": "grid",
"hidefilter": "1",
"position": "top",
"id": "samplecount",
"buttons": [
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/landcode/${id}",
"pagetype": "form",
"buttons": [
"save",
"list",
"exit"
]
}
},
{
"title": "Tab Form",
"endpoint": "/files/klantextra",
"itemid": "1",
"pagetype": "form",
"id": "klantextra",
"buttons": [
"delete",
"edit",
"exit"
]
},
{
"title": "Tab Grid + Modalform",
"endpoint": "/files/merken",
"pagetype": "grid",
"hidefilter": "0",
"position": "top",
"id": "merkform",
"buttons": [
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/merken/${id}",
"pagetype": "modalform",
"buttons": [
"save",
"exit"
]
}
}
]
},
{
"title": "Modal grids & Forms",
"id": "",
"submenu": [
{
"title": "Modal grid + Form",
"endpoint": "/files/landcode",
"pagetype": "modalgrid",
"hidefilter": "0",
"position": "top",
"pagesize": "lg",
"id": "samplecount2",
"buttons": [
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/landcode/${id}",
"pagetype": "form",
"buttons": [
"list",
"previous",
"next",
"save",
"exit"
]
}
},
{
"title": "Modal grid + Modal Form",
"endpoint": "/files/landcode",
"pagetype": "modalgrid",
"hidefilter": "0",
"position": "top",
"pagesize": "lg",
"id": "samplecount3",
"buttons": [
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/landcode/${id}",
"pagetype": "modalform",
"pagesize": "md",
"buttons": [
"exit"
]
}
},
{
"title": "Modal form sizes",
"id": "",
"submenu": [
{
"title": "Modal Form small",
"endpoint": "/files/klantextra",
"itemid": "1",
"pagetype": "modalform",
"pagesize": "sm",
"id": "samplesmxtra",
"buttons": [
"exit"
]
},
{
"title": "Modal Form medium",
"endpoint": "/files/klantextra",
"itemid": "1",
"pagetype": "modalform",
"pagesize": "md",
"id": "samplemd",
"buttons": [
"exit"
]
},
{
"title": "Modal Form large",
"endpoint": "/files/klantextra",
"itemid": "1",
"pagetype": "modalform",
"pagesize": "lg",
"id": "samplelg",
"buttons": [
"exit"
]
},
{
"title": "Modal Form extra large",
"endpoint": "/files/klantextra",
"itemid": "1",
"pagetype": "modalform",
"pagesize": "xl",
"id": "samplexl",
"buttons": [
"exit"
]
}
]
}
]
},
{
"title": "Forms with tabs",
"id": "",
"submenu": [
{
"title": "TabGrid + form",
"endpoint": "/customers",
"pagetype": "tabgrid",
"hidefilter": "0",
"position": "top",
"id": "tabgridform",
"buttons": [
"add",
"delete",
"edit",
"exit"
],
"onclick": {
"endpoint": "/customers/form",
"pagetype": "tabform",
"buttons": [
"save",
"edit",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Tabform with tabs",
"endpoint": "/customers",
"itemid": "30008",
"pagetype": "tabform",
"id": "tabform",
"buttons": [
"save",
"exit"
]
},
{
"title": "Modal tabform",
"endpoint": "/customers",
"itemid": "30008",
"pagetype": "modaltabform",
"pagesize": "xl",
"id": "samplemodaltabf",
"buttons": [
"exit"
]
},
{
"title": "Modal tabgrid + modal tabform",
"endpoint": "/customers",
"pagetype": "modaltabgrid",
"hidefilter": "0",
"position": "top",
"pagesize": "xl",
"id": "modtabgrmodtfor",
"buttons": [
"exit"
],
"onclick": {
"endpoint": "/customers/form",
"pagetype": "modaltabform",
"pagesize": "lg",
"buttons": [
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Modal tabgrid + tabform",
"endpoint": "/customers",
"pagetype": "modaltabgrid",
"hidefilter": "0",
"position": "top",
"pagesize": "xl",
"id": "modtabgrtabform",
"buttons": [
"exit"
],
"onclick": {
"endpoint": "/customers/form",
"pagetype": "tabform",
"pagesize": "lg",
"buttons": [
"add",
"save",
"list",
"previous",
"next",
"exit"
]
}
}
]
}
]
},
{
"title": "Charts",
"id": "",
"submenu": [
{
"title": "Demo chart",
"endpoint": "/chart/demografiek",
"pagetype": "graph",
"id": "chart1",
"buttons": [
"exit"
]
},
{
"title": "Demo modal chart",
"endpoint": "/chart/demografiek?key=xxx",
"pagetype": "modalgraph",
"pagesize": "xl",
"id": "modalchart",
"buttons": [
"exit"
]
}
]
},
{
"title": "Projects",
"id": "",
"submenu": [
{
"title": "Project configuration",
"endpoint": "/files/projects?key=EON",
"pagetype": "modalgrid",
"hidefilter": "1",
"position": "top",
"pagesize": "lg",
"id": "projects",
"buttons": [
"exit"
]
},
{
"title": "Project data",
"endpoint": "/files/projdata?key=EON",
"pagetype": "grid",
"hidefilter": "1",
"position": "top",
"id": "projectdata",
"buttons": [
"add",
"edit",
"exit"
],
"onclick": {
"endpoint": "/files/projdata/${id}",
"pagetype": "form",
"buttons": [
"add",
"save",
"delete",
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Project demo",
"endpoint": "/files/projects",
"itemid": "EON",
"pagetype": "kanban",
"id": "kanbaneon",
"buttons": [
"add",
"exit",
"edit",
"delete"
],
"onclick": {
"endpoint": "/files/projdata",
"pagetype": "modalform",
"pagesize": "lg",
"buttons": [
"save",
"exit"
]
}
},
{
"title": "Project demo modal",
"endpoint": "/files/projects",
"itemid": "EON",
"pagetype": "modalkanban",
"pagesize": "lg",
"id": "kanbanmodal",
"buttons": [
"add",
"exit"
],
"onclick": {
"endpoint": "/files/projdata",
"pagetype": "modalform",
"pagesize": "xl",
"buttons": [
"save",
"exit"
]
}
}
]
},
{
"title": "Sheduler",
"id": "",
"submenu": [
{
"title": "Sheduler data",
"endpoint": "/files/calendar?key=1=1",
"pagetype": "grid",
"hidefilter": "1",
"position": "top",
"id": "shedulerdata",
"buttons": [
"add",
"edit",
"exit",
"delete"
],
"onclick": {
"endpoint": "/files/calendar/${id}",
"pagetype": "form",
"buttons": [
"save",
"exit",
"previous",
"next",
"list"
]
}
},
{
"title": "Sheduler demo",
"endpoint": "/files/calendar",
"pagetype": "sheduler",
"id": "sheduler",
"buttons": [
"add",
"exit"
],
"onclick": {
"endpoint": "/files/calendar",
"buttons": [
"save",
"exit"
]
}
}
]
},
{
"title": "Configuration files",
"id": "",
"submenu": [
{
"title": "Menu definition",
"endpoint": "/files/webmenu?key=*1=1",
"pagetype": "grid",
"hidefilter": "1",
"position": "top",
"id": "conwebmenu",
"buttons": [
"edit",
"list",
"exit"
],
"onclick": {
"endpoint": "/files/webmenu/${id}",
"pagetype": "form",
"buttons": [
"list",
"previous",
"next",
"exit"
]
}
},
{
"title": "Device info",
"pagetype": "deviceinfo",
"id": "deviceinfo",
"buttons": [
"exit"
]
},
{
"title": "Device info modal",
"pagetype": "modaldeviceinfo",
"id": "modaldevice",
"buttons": [
"exit"
]
}
]
}
]
}