improve JSON rendering+example
Sample output:
{
"url": "http://cutch:3000/rules_to_export.json?pretty=true",
"timestamp": "2013-09-23 15:37:11 -0600",
"card": {
"name": "rules_to_export",
"type": "Search",
"content": "{\r\n\"left\":{\"type\":\"Set\"},\r\n\"right\":{\r\n \"type\":\"Setting\",\r\n \"not\":{\"name\":[\"in\",\"*create\",\"*read\",\"*update\",\"*delete\"]}\r\n},\r\n\"edited_by\":{\"not\":\"WagnBot\"},\r\n\"return\":\"name\"\r\n}",
"value": [
{
"name": "item type+*right+*option label",
"type": "Phrase",
"content": ""
},
{
"name": "item type+*right+*default",
"type": "Pointer",
"content": "Image"
},....
In this proposal, "content" is the raw content, where "value" involves processed content. The above example shows search results. Typical inclusions might be handled as follows:
...
:content => "I include {{whatever else}}",
:value=> [
'I include:',
{
:name => 'whatever else',
:type => 'Phrase'
},
'!'
]
note that there really isn't much need to keep labeling things as a "card". Every hash is a card.
Preliminary Notes from a Demo/Example with Jquery Widgets
These widgets are somewhat rigid about how they they will take the json data, but you can re-arrange things in the success callback. All the same, we can produce something closer if needed:
{data:"TheCardname":attr:{field1:value1,field2,value2...},children:{data:'PlusName',attr:...}}