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

added draft API and corresponding JSON page layouts

parent 871a310f
{ {
"title": "Dashboard", "default": {
"title_i18n": "", "title": "Dashboard",
"portal_type_source": null, "title_i18n": null,
"portal_type_title": null, "sections": []
"actions": { }
"jump": { }
"fetch": "getJumps", \ No newline at end of file
"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": {}
}
{ {
"title": "Invoices", "default": {
"title_i18n": "", "theme": "slapos-white",
"portal_type_source": "Person", "title": "Invoices",
"portal_type_title": "person", "title_i18n": null,
"actions": { "sections": [{"type": "listbox", "span": 2, "gadget": "invoices_01"}]
"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": { "invoice": {
"header": [ "theme": "slapos-white",
[ "title": "Invoice",
{"action":"navigate","active":"true"}, "title_i18n": null,
{"action":"tasks", "active": "true"} "sections": [
],[ {"type": "fieldlist", "span": 1, "gadget": "foo"},
{"action":"login", "active":"true"}, {"type": "fieldlist", "span": 1, "gadget": "bar"},
{"action":"home","active":"true"} {"type": "listbox", "span": 2, "gadget": "baz"}
]
],
"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
}
...@@ -45,4 +45,106 @@ Questions: ...@@ -45,4 +45,106 @@ Questions:
> If tabs only include "sub-layouts", we don't need to fetch the tab-gadget > If tabs only include "sub-layouts", we don't need to fetch the tab-gadget
configuration, which would recursively re-run the gadget loop and configuration, which would recursively re-run the gadget loop and
fetch all gadgets. Would make syntax coherent, but requires another fetch all gadgets. Would make syntax coherent, but requires another
HTTP request for getting the gadget configuration. HTTP request for getting the gadget configuration.
\ No newline at end of file
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) > Info:
> Syntax: > 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 span "Columns" to span - 1/2/more
gadget Id of gadget to load gadget Id of gadget to load
=============================================================
> Notes: > Notes:
> Types must have a construct[Type] method to build the type of element > Types must have a construct[Type] method to build the type of element
> The gadget configuration defines the "instance" of the type > 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: > Example JSON:
[ [
{"type": "fieldlist", "span": 2, "gadget": "bar"}, {"type": "fieldlist", "span": 2, "gadget": "bar"},
{"type": "fieldlist", "span": 1, "gadget": "baz"}, {"type": "fieldlist", "span": 1, "gadget": "baz"},
{"type": "fieldlist", "span": 1, "gadget": "bam"}, {"type": "fieldlist", "span": 1, "gadget": "bam"},
{"type": "tabs", "span": 2, "gadget": "foo"}, {"type": "tabs", "span": 2, "gadget": "foo"},
{"type": "listbox": "span": 2, "gadget": "zzz"} {"type": "listbox": "span": 2, "gadget": "zzz"}
] ]
> Example HTML: > Example HTML:
...@@ -42,4 +44,60 @@ Layouts: ...@@ -42,4 +44,60 @@ Layouts:
<div class="span_2"> <div class="span_2">
<div class="gadget" data-gadget-type="tabs" data-gadget-id="foo"></div> <div class="gadget" data-gadget-type="tabs" data-gadget-id="foo"></div>
</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