Commit 853ea40e authored by Sven Franck's avatar Sven Franck

added draft API and corresponding JSON page layouts

parent 871a310f
{
"default": {
"title": "Dashboard",
"title_i18n": "",
"portal_type_source": null,
"portal_type_title": null,
"actions": {
"jump": {
"fetch": "getJumps",
"hash": null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
},
"action": {
"hash":null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
},
"export": {
"hash":null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
},
"favorites": {
"hash": null,
"items": [
{"type": "divider", "texts":[{"type":"h1", "text":"-- Bug Event workflow --", "text_i18n":""}]},
{"type": "item", "count": 46, "texts":[{"type":"h1", "text":"Bug Lines to Send", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Bug Workflow --", "text_i18n":""}]},
{"type": "item", "count": 278, "texts":[{"type":"h1", "text":"Open Bugs", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Bugs to Resolve", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 617, "texts":[{"type":"h1", "text":"Bugs to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 732, "texts":[{"type":"h1", "text":"Bugs Assigned to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Document Ingestion Workflow --", "text_i18n":""}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Ingested Documents", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Document Publication Workflow --", "text_i18n":""}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Documents to Submit", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 29, "texts":[{"type":"h1", "text":"Documents to Review", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Events Workflow --", "text_i18n":""}]},
{"type": "item", "count": 560, "texts":[{"type":"h1", "text":"Planned Events to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 10, "texts":[{"type":"h1", "text":"Confirmed Events to Generate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Inventory Workflow --", "text_i18n":""}]},
{"type": "item", "count": 7, "texts":[{"type":"h1", "text":"Inventories to validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Order Workflow --", "text_i18n":""}]},
{"type": "item", "count": 6, "texts":[{"type":"h1", "text":"Purchase Orders to Plan", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Purchase Orders to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 174, "texts":[{"type":"h1", "text":"Sale Orders to Plan", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 7, "texts":[{"type":"h1", "text":"Sale Orders to Order", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 9, "texts":[{"type":"h1", "text":"Sale Orders to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 143, "texts":[{"type":"h1", "text":"Offered Sale Orders to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Packing List Workflow --", "text_i18n":""}]},
{"type": "item", "count": 112, "texts":[{"type":"h1", "text":"Sale Packing List to Prepare", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Sale Packing List to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 102, "texts":[{"type":"h1", "text":"Sale Packing List to Solve", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Project Workflow --", "text_i18n":""}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Project to Open", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Task Report Workflow --", "text_i18n":""}]},
{"type": "item", "count": 4, "texts":[{"type":"h1", "text":"Task Reports to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Task Workflow --", "text_i18n":""}]},
{"type": "item", "count": 2, "texts":[{"type":"h1", "text":"Tasks to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Tasks to Order", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Validation Workflow --", "text_i18n":""}]},
{"type": "item", "count": 3689, "texts":[{"type":"h1", "text":"Persons to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1759, "texts":[{"type":"h1", "text":"Organisations to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 123, "texts":[{"type":"h1", "text":"Products to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 106, "texts":[{"type":"h1", "text":"Services to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Sale Trade Conditions to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Transformations to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 2, "texts":[{"type":"h1", "text":"Sale Supplies to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Purchase Supplies to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Other --", "text_i18n":""}]},
{"type": "item", "texts":[{"type":"h1", "text":"Update Credentials", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "texts":[{"type":"h1", "text":"Undo", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- User --", "text_i18n":""}]},
{"type": "item", "texts":[{"type":"h1", "text":"Preferences", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "texts":[{"type":"h1", "text":"Log out", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]}
]
"title_i18n": null,
"sections": []
}
},
"controls": {
"header": [
[
{"action":"navigate","active":"true"},
{"action":"tasks", "active": "true"}
],[
{"action":"login", "active":"true"},
{"action":"home","active":"true"}
]
],
"footer": [
{"action":"jump", "active":"true"},
{"action":"add", "active":"false"},
{"action":"remove","active":"false"},
{"action":"action","active":"true"},
{"action":"export", "active":"true"}
]
},
"status": {},
"breadcrumbs": {}
}
\ No newline at end of file
{
"default": {
"theme": "slapos-white",
"title": "Invoices",
"title_i18n": "",
"portal_type_source": "Person",
"portal_type_title": "person",
"actions": {
"jump": {
"hash": null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
},
"action": {
"hash":null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
},
"export": {
"hash":null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
"title_i18n": null,
"sections": [{"type": "listbox", "span": 2, "gadget": "invoices_01"}]
},
"favorites": {
"hash": null,
"items": [
{"type": "divider", "texts":[{"type":"h1", "text":"-- Bug Event workflow --", "text_i18n":""}]},
{"type": "item", "count": 46, "texts":[{"type":"h1", "text":"Bug Lines to Send", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Bug Workflow --", "text_i18n":""}]},
{"type": "item", "count": 278, "texts":[{"type":"h1", "text":"Open Bugs", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Bugs to Resolve", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 617, "texts":[{"type":"h1", "text":"Bugs to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 732, "texts":[{"type":"h1", "text":"Bugs Assigned to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Document Ingestion Workflow --", "text_i18n":""}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Ingested Documents", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Document Publication Workflow --", "text_i18n":""}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Documents to Submit", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 29, "texts":[{"type":"h1", "text":"Documents to Review", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Events Workflow --", "text_i18n":""}]},
{"type": "item", "count": 560, "texts":[{"type":"h1", "text":"Planned Events to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 10, "texts":[{"type":"h1", "text":"Confirmed Events to Generate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Inventory Workflow --", "text_i18n":""}]},
{"type": "item", "count": 7, "texts":[{"type":"h1", "text":"Inventories to validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Order Workflow --", "text_i18n":""}]},
{"type": "item", "count": 6, "texts":[{"type":"h1", "text":"Purchase Orders to Plan", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Purchase Orders to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 174, "texts":[{"type":"h1", "text":"Sale Orders to Plan", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 7, "texts":[{"type":"h1", "text":"Sale Orders to Order", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 9, "texts":[{"type":"h1", "text":"Sale Orders to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 143, "texts":[{"type":"h1", "text":"Offered Sale Orders to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Packing List Workflow --", "text_i18n":""}]},
{"type": "item", "count": 112, "texts":[{"type":"h1", "text":"Sale Packing List to Prepare", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Sale Packing List to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 102, "texts":[{"type":"h1", "text":"Sale Packing List to Solve", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Project Workflow --", "text_i18n":""}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Project to Open", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Task Report Workflow --", "text_i18n":""}]},
{"type": "item", "count": 4, "texts":[{"type":"h1", "text":"Task Reports to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Task Workflow --", "text_i18n":""}]},
{"type": "item", "count": 2, "texts":[{"type":"h1", "text":"Tasks to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Tasks to Order", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Validation Workflow --", "text_i18n":""}]},
{"type": "item", "count": 3689, "texts":[{"type":"h1", "text":"Persons to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1759, "texts":[{"type":"h1", "text":"Organisations to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 123, "texts":[{"type":"h1", "text":"Products to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 106, "texts":[{"type":"h1", "text":"Services to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Sale Trade Conditions to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Transformations to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 2, "texts":[{"type":"h1", "text":"Sale Supplies to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Purchase Supplies to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Other --", "text_i18n":""}]},
{"type": "item", "texts":[{"type":"h1", "text":"Update Credentials", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "texts":[{"type":"h1", "text":"Undo", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- User --", "text_i18n":""}]},
{"type": "item", "texts":[{"type":"h1", "text":"Preferences", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "texts":[{"type":"h1", "text":"Log out", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]}
"invoice": {
"theme": "slapos-white",
"title": "Invoice",
"title_i18n": null,
"sections": [
{"type": "fieldlist", "span": 1, "gadget": "foo"},
{"type": "fieldlist", "span": 1, "gadget": "bar"},
{"type": "listbox", "span": 2, "gadget": "baz"}
]
}
},
"controls": {
"header": [
[
{"action":"navigate","active":"true"},
{"action":"tasks", "active": "true"}
],[
{"action":"login", "active":"true"},
{"action":"home","active":"true"}
]
],
"footer": [
{"action":"jump", "active":"true"},
{"action":"add", "active":"false"},
{"action":"remove","active":"false"},
{"action":"action","active":"true"},
{"action":"export", "active":"true"}
]
},
"status": {},
"breadcrumbs": {}
}
\ No newline at end of file
......@@ -46,3 +46,105 @@ Questions:
configuration, which would recursively re-run the gadget loop and
fetch all gadgets. Would make syntax coherent, but requires another
HTTP request for getting the gadget configuration.
Page layout action/jumps/tasks...
> new listview API!
"portal_type_source": "Person",
"portal_type_title": "person",
"actions": {
"jump": {
"hash": null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
},
"action": {
"hash":null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
},
"export": {
"hash":null,
"items": [
{"type": "", "href":"", "title":"", "title_i18n":""}
]
},
"favorites": {
"hash": null,
"items": [
{"type": "divider", "texts":[{"type":"h1", "text":"-- Bug Event workflow --", "text_i18n":""}]},
{"type": "item", "count": 46, "texts":[{"type":"h1", "text":"Bug Lines to Send", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Bug Workflow --", "text_i18n":""}]},
{"type": "item", "count": 278, "texts":[{"type":"h1", "text":"Open Bugs", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Bugs to Resolve", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 617, "texts":[{"type":"h1", "text":"Bugs to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 732, "texts":[{"type":"h1", "text":"Bugs Assigned to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Document Ingestion Workflow --", "text_i18n":""}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Ingested Documents", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Document Publication Workflow --", "text_i18n":""}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Documents to Submit", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 29, "texts":[{"type":"h1", "text":"Documents to Review", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Events Workflow --", "text_i18n":""}]},
{"type": "item", "count": 560, "texts":[{"type":"h1", "text":"Planned Events to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 10, "texts":[{"type":"h1", "text":"Confirmed Events to Generate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Inventory Workflow --", "text_i18n":""}]},
{"type": "item", "count": 7, "texts":[{"type":"h1", "text":"Inventories to validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Order Workflow --", "text_i18n":""}]},
{"type": "item", "count": 6, "texts":[{"type":"h1", "text":"Purchase Orders to Plan", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Purchase Orders to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 174, "texts":[{"type":"h1", "text":"Sale Orders to Plan", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 7, "texts":[{"type":"h1", "text":"Sale Orders to Order", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 9, "texts":[{"type":"h1", "text":"Sale Orders to Confirm", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 143, "texts":[{"type":"h1", "text":"Offered Sale Orders to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Packing List Workflow --", "text_i18n":""}]},
{"type": "item", "count": 112, "texts":[{"type":"h1", "text":"Sale Packing List to Prepare", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 12, "texts":[{"type":"h1", "text":"Sale Packing List to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 102, "texts":[{"type":"h1", "text":"Sale Packing List to Solve", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Project Workflow --", "text_i18n":""}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Project to Open", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Task Report Workflow --", "text_i18n":""}]},
{"type": "item", "count": 4, "texts":[{"type":"h1", "text":"Task Reports to Follow", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Task Workflow --", "text_i18n":""}]},
{"type": "item", "count": 2, "texts":[{"type":"h1", "text":"Tasks to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Tasks to Order", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Validation Workflow --", "text_i18n":""}]},
{"type": "item", "count": 3689, "texts":[{"type":"h1", "text":"Persons to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1759, "texts":[{"type":"h1", "text":"Organisations to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 123, "texts":[{"type":"h1", "text":"Products to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 106, "texts":[{"type":"h1", "text":"Services to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Sale Trade Conditions to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 5, "texts":[{"type":"h1", "text":"Transformations to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 2, "texts":[{"type":"h1", "text":"Sale Supplies to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "count": 1, "texts":[{"type":"h1", "text":"Purchase Supplies to Validate", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- Other --", "text_i18n":""}]},
{"type": "item", "texts":[{"type":"h1", "text":"Update Credentials", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "texts":[{"type":"h1", "text":"Undo", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "divider", "texts":[{"type":"h1", "text":"-- User --", "text_i18n":""}]},
{"type": "item", "texts":[{"type":"h1", "text":"Preferences", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]},
{"type": "item", "texts":[{"type":"h1", "text":"Log out", "text_i18n":""}], "actions":[{"type":"link", "href":"index.html"}]}
]
}
},
"controls": {
"header": [
[
{"action":"navigate","active":"true"},
{"action":"tasks", "active": "true"}
],[
{"action":"login", "active":"true"},
{"action":"home","active":"true"}
]
],
"footer": [
{"action":"jump", "active":"true"},
{"action":"add", "active":"false"},
{"action":"remove","active":"false"},
{"action":"action","active":"true"},
{"action":"export", "active":"true"}
]
},
"status": {},
"breadcrumbs": {}
\ No newline at end of file
==============================================================================
Documentation/API
Draft API
==============================================================================
App:
------------------------------------------------------------------------------
Layouts:
sections:
------------------------------------------------------------------------------
> Define structure of a page (JS via JSON config or hardcoded HTML)
> Syntax:
> Info:
> A section defines a section of content
type Type of element (fieldlist, tabs, listbox, other)
> Syntax:
=============================================================
type Type of element (fieldlist, tabs, listbox, ...)
span "Columns" to span - 1/2/more
gadget Id of gadget to load
=============================================================
> Notes:
> Types must have a construct[Type] method to build the type of element
> The gadget configuration defines the "instance" of the type
> To make own types, add a construct[Type] method
> To add own types add construct[Type] method
> Example JSON:
[
[
{"type": "fieldlist", "span": 2, "gadget": "bar"},
{"type": "fieldlist", "span": 1, "gadget": "baz"},
{"type": "fieldlist", "span": 1, "gadget": "bam"},
{"type": "tabs", "span": 2, "gadget": "foo"},
{"type": "listbox": "span": 2, "gadget": "zzz"}
]
]
> Example HTML:
......@@ -42,4 +44,60 @@ Layouts:
<div class="span_2">
<div class="gadget" data-gadget-type="tabs" data-gadget-id="foo"></div>
</div>
<div class="span_2">
<div class="gadget" data-gadget-type="listbox" data-gadget-id="zzz"></div>
</div>
------------------------------------------------------------------------------
Pages:
------------------------------------------------------------------------------
> Info:
> A module can have one ore more layouts corresponding to pages
> Every hierarchy level needs a layout (one for Persons, on for Person, etc)
> A page must have at least one "default" section
>
> Syntax:
=============================================================
[page_name] link parameter(s) to determine page (?container=a&palette=x)
title Page title to set
title_i18n Client-side translation lookup value
theme Page theme (handles all JQM CSS)
fixed Fix header/footer for this page (default to true)
sections See "sections"
=============================================================
> Example JSON (container > palette > box > items > item = 5 hierarchies)
{
"default": {
"title": "Container",
"theme": "erp5_blue",
"fixed": true,
"title_i18n": null,
"sections": [{"type": "listbox", "span": 2, "gadget": "container_a"}]
},
"palettes": {
"title": "Palette",
"title_i18n": null,
"sections": [{"type": "listbox", "span": 2, "gadget": "palette_content_x"}]
},
"boxes": {
"title": "Box",
"title_i18n": null,
"sections": [{"type": "listbox", "span": 2, "gadget": "box_content_x"}]
},
"items": {
"title": "Items",
"title_i18n": null,
"sections": [{"type": "listbox", "span": 2, "gadget": "box_items_x"}]
},
"item": {
"title": "Item",
"title_i18n": null,
"sections": [
{"type": "fieldlist", "span": 1, "gadget": "item_foo"},
{"type": "fieldlist", "span": 1, "gadget": "item_foo_seller"},
{"type": "listbox", "span": 2, "gadget": "item_ingredients"}
]
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment