Commit f6c73ca7279c2073d848468064774426eda32441
1 parent
cc81f7cd
add to_JSON function for convert the HK_Database into JSON format
Showing
9 changed files
with
279 additions
and
9 deletions
Show diff stats
types/model/app.anubis
| @@ -12,7 +12,8 @@ transmit icons.anubis | @@ -12,7 +12,8 @@ transmit icons.anubis | ||
| 12 | 12 | ||
| 13 | read tools/basis.anubis | 13 | read tools/basis.anubis |
| 14 | transmit system/muscle.anubis | 14 | transmit system/muscle.anubis |
| 15 | - | 15 | +transmit calexium_lib/web/CXM_json.anubis |
| 16 | + | ||
| 16 | public type HK_App: | 17 | public type HK_App: |
| 17 | hk_app( | 18 | hk_app( |
| 18 | String app_name, | 19 | String app_name, |
| @@ -81,6 +82,20 @@ public define Message | @@ -81,6 +82,20 @@ public define Message | ||
| 81 | hk_app_message | 82 | hk_app_message |
| 82 | . | 83 | . |
| 83 | 84 | ||
| 85 | +public define JsonValue | ||
| 86 | + to_JSON | ||
| 87 | + ( | ||
| 88 | + HK_App app | ||
| 89 | + )= | ||
| 90 | + json_object("_HK_APP", | ||
| 91 | + [ | ||
| 92 | + json_member("name", json_string(app.app_name)), | ||
| 93 | + json_member("icon", to_JSON(app.icon)), | ||
| 94 | + json_member("help", to_JSON(app.help)), | ||
| 95 | + json_member("tables", json_array(map((HK_Table table) |-> to_JSON(table), app.hk_tables))) | ||
| 96 | + ]). | ||
| 97 | + | ||
| 98 | + | ||
| 84 | public define Maybe(HK_App) | 99 | public define Maybe(HK_App) |
| 85 | from_Message | 100 | from_Message |
| 86 | ( | 101 | ( |
types/model/columns.anubis
| @@ -10,6 +10,7 @@ read tools/basis.anubis | @@ -10,6 +10,7 @@ read tools/basis.anubis | ||
| 10 | 10 | ||
| 11 | transmit help.anubis | 11 | transmit help.anubis |
| 12 | transmit fields.anubis | 12 | transmit fields.anubis |
| 13 | +transmit calexium_lib/web/CXM_json.anubis | ||
| 13 | 14 | ||
| 14 | public type HK_Model_Attr: | 15 | public type HK_Model_Attr: |
| 15 | unique, // by default, the values in a column are not required to be all different | 16 | unique, // by default, the values in a column are not required to be all different |
| @@ -35,6 +36,27 @@ public define Message | @@ -35,6 +36,27 @@ public define Message | ||
| 35 | hk_model_attr_message | 36 | hk_model_attr_message |
| 36 | . | 37 | . |
| 37 | 38 | ||
| 39 | +public define JsonValue | ||
| 40 | + to_JSON | ||
| 41 | + ( | ||
| 42 | + HK_Model_Attr hk_model_attr | ||
| 43 | + )= | ||
| 44 | + with members = | ||
| 45 | + if hk_model_attr is | ||
| 46 | + { | ||
| 47 | + unique then [ json_member("hk_column_attr", json_string("unique")) ], | ||
| 48 | + | ||
| 49 | + indexed then [ json_member("hk_column_attr", json_string("indexed")) ], | ||
| 50 | + | ||
| 51 | + default(value) then [ json_member("hk_column_attr", json_string("default")), | ||
| 52 | + json_member("value", json_string(value)) | ||
| 53 | + ], | ||
| 54 | + | ||
| 55 | + not_null then [ json_member("hk_column_attr", json_string("not_null")) ] | ||
| 56 | + }, | ||
| 57 | + | ||
| 58 | + json_object("_HK_COLUMN_ATTRIBUTES", members). | ||
| 59 | + | ||
| 38 | public define Maybe(HK_Model_Attr) | 60 | public define Maybe(HK_Model_Attr) |
| 39 | from_Message | 61 | from_Message |
| 40 | ( | 62 | ( |
| @@ -113,7 +135,20 @@ public define Message | @@ -113,7 +135,20 @@ public define Message | ||
| 113 | //print_to_stream(hk_model_column); | 135 | //print_to_stream(hk_model_column); |
| 114 | hk_model_column | 136 | hk_model_column |
| 115 | . | 137 | . |
| 116 | - | 138 | + |
| 139 | +public define JsonValue | ||
| 140 | + to_JSON | ||
| 141 | + ( | ||
| 142 | + HK_Model_Column hk_column | ||
| 143 | + )= | ||
| 144 | + json_object("_HK_COLUMN", | ||
| 145 | + [ | ||
| 146 | + json_member("name", json_string(hk_column.name)), | ||
| 147 | + json_member("field_type", to_JSON(hk_column.type)), | ||
| 148 | + json_member("attributes", json_array(map((HK_Model_Attr attribute) |-> to_JSON(attribute), hk_column.attributes))), | ||
| 149 | + json_member("text", to_JSON(hk_column.help)) | ||
| 150 | + ]). | ||
| 151 | + | ||
| 117 | 152 | ||
| 118 | public define Maybe(HK_Model_Column) | 153 | public define Maybe(HK_Model_Column) |
| 119 | from_Message | 154 | from_Message |
types/model/database.anubis
| @@ -11,6 +11,7 @@ transmit app.anubis | @@ -11,6 +11,7 @@ transmit app.anubis | ||
| 11 | transmit tools/basis.anubis | 11 | transmit tools/basis.anubis |
| 12 | transmit system/muscle.anubis | 12 | transmit system/muscle.anubis |
| 13 | transmit calexium_lib/CXM_message_constants.anubis | 13 | transmit calexium_lib/CXM_message_constants.anubis |
| 14 | +transmit calexium_lib/web/CXM_json.anubis | ||
| 14 | 15 | ||
| 15 | 16 | ||
| 16 | public type HK_Database: | 17 | public type HK_Database: |
| @@ -20,7 +21,7 @@ public type HK_Database: | @@ -20,7 +21,7 @@ public type HK_Database: | ||
| 20 | 21 | ||
| 21 | 22 | ||
| 22 | _HK_DATABASE message format: | 23 | _HK_DATABASE message format: |
| 23 | - ========================= | 24 | + ============================ |
| 24 | 25 | ||
| 25 | +-----------+---------------+-------------------------- | 26 | +-----------+---------------+-------------------------- |
| 26 | | name | type | description | 27 | | name | type | description |
| @@ -40,8 +41,33 @@ public define Message | @@ -40,8 +41,33 @@ public define Message | ||
| 40 | //print_to_stream(hk_db_message); | 41 | //print_to_stream(hk_db_message); |
| 41 | hk_db_message | 42 | hk_db_message |
| 42 | . | 43 | . |
| 43 | - | ||
| 44 | - | 44 | + |
| 45 | + _HK_DATABASE JSON format: | ||
| 46 | + ========================= | ||
| 47 | + | ||
| 48 | + { | ||
| 49 | + "obj_type": "_HK_DATABASE", //_HK_DATABASE object type describe a database | ||
| 50 | + "name": "XXXX", //name of database | ||
| 51 | + "apps": //list of applications | ||
| 52 | + [ | ||
| 53 | + { "obj_type": "_HK_APP", //_HK_APP object type describe an application | ||
| 54 | + "name" : "app_name" //name of the current application | ||
| 55 | + }, | ||
| 56 | + ... //anothers applications | ||
| 57 | + ] | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | +public define JsonValue | ||
| 61 | + to_JSON | ||
| 62 | + ( | ||
| 63 | + HK_Database hk_db | ||
| 64 | + )= | ||
| 65 | + json_object( | ||
| 66 | + [ json_member("obj_type", json_string("_HK_DATABASE")), | ||
| 67 | + json_member("name", json_string(hk_db.name)), | ||
| 68 | + json_member("apps", json_array(map((HK_App app) |-> to_JSON(app), hk_db.apps))) | ||
| 69 | + ]). | ||
| 70 | + | ||
| 45 | public define Maybe(HK_Database) | 71 | public define Maybe(HK_Database) |
| 46 | from_Message | 72 | from_Message |
| 47 | ( | 73 | ( |
types/model/display.anubis
| @@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
| 9 | transmit system/muscle.anubis | 9 | transmit system/muscle.anubis |
| 10 | transmit tools/basis.anubis | 10 | transmit tools/basis.anubis |
| 11 | transmit calexium_lib/CXM_message_constants.anubis | 11 | transmit calexium_lib/CXM_message_constants.anubis |
| 12 | +transmit calexium_lib/web/CXM_json.anubis | ||
| 12 | 13 | ||
| 13 | public type HK_List_View: | 14 | public type HK_List_View: |
| 14 | list_view_all, | 15 | list_view_all, |
| @@ -39,6 +40,28 @@ public define Message | @@ -39,6 +40,28 @@ public define Message | ||
| 39 | }; | 40 | }; |
| 40 | _msg | 41 | _msg |
| 41 | . | 42 | . |
| 43 | + | ||
| 44 | + | ||
| 45 | +public define JsonValue | ||
| 46 | + to_JSON | ||
| 47 | + ( | ||
| 48 | + HK_List_View list_view | ||
| 49 | + )= | ||
| 50 | + with members = | ||
| 51 | + if list_view is | ||
| 52 | + { | ||
| 53 | + list_view_all then | ||
| 54 | + [ json_member("type", json_string("list_view_all")) ], | ||
| 55 | + | ||
| 56 | + list_view(name, columns, link_id_action) then | ||
| 57 | + [ json_member("type", json_string("list_view")), | ||
| 58 | + json_member("view_name", json_string(name)), | ||
| 59 | + json_member("link_id_action", json_string(link_id_action)), | ||
| 60 | + json_member("columns", json_array(map((String column) |-> json_string(column), columns))) | ||
| 61 | + ] | ||
| 62 | + }, | ||
| 63 | + | ||
| 64 | + json_object("_HK_LIST_VIEW", members). | ||
| 42 | 65 | ||
| 43 | public define Maybe(HK_List_View) | 66 | public define Maybe(HK_List_View) |
| 44 | from_Message | 67 | from_Message |
| @@ -73,13 +96,33 @@ public define Message | @@ -73,13 +96,33 @@ public define Message | ||
| 73 | { | 96 | { |
| 74 | edit_view_all then forget(add_string(_msg, "type", "edit_view_all")), | 97 | edit_view_all then forget(add_string(_msg, "type", "edit_view_all")), |
| 75 | edit_view(name, columns) then | 98 | edit_view(name, columns) then |
| 76 | - forget(add_string(_msg, "type", "list_view")); | 99 | + forget(add_string(_msg, "type", "edit_view")); |
| 77 | forget(add_string(_msg, "view_name", name)); | 100 | forget(add_string(_msg, "view_name", name)); |
| 78 | map_forget((String column) |-> forget(add_string(_msg, "columns", column)), columns) | 101 | map_forget((String column) |-> forget(add_string(_msg, "columns", column)), columns) |
| 79 | }; | 102 | }; |
| 80 | _msg | 103 | _msg |
| 81 | . | 104 | . |
| 82 | 105 | ||
| 106 | +public define JsonValue | ||
| 107 | + to_JSON | ||
| 108 | + ( | ||
| 109 | + HK_Edit_View edit_view | ||
| 110 | + )= | ||
| 111 | + with members = | ||
| 112 | + if edit_view is | ||
| 113 | + { | ||
| 114 | + edit_view_all then | ||
| 115 | + [ json_member("type", json_string("edit_view_all")) ], | ||
| 116 | + | ||
| 117 | + edit_view(name, columns) then | ||
| 118 | + [ json_member("type", json_string("edit_view")), | ||
| 119 | + json_member("view_name", json_string(name)), | ||
| 120 | + json_member("columns", json_array(map((String column) |-> json_string(column), columns))) | ||
| 121 | + ] | ||
| 122 | + }, | ||
| 123 | + | ||
| 124 | + json_object("_HK_EDIT_VIEW", members). | ||
| 125 | + | ||
| 83 | public define Maybe(HK_Edit_View) | 126 | public define Maybe(HK_Edit_View) |
| 84 | from_Message | 127 | from_Message |
| 85 | ( | 128 | ( |
| @@ -127,6 +170,18 @@ public define Message | @@ -127,6 +170,18 @@ public define Message | ||
| 127 | // map_forget((String _str) |-> add_string(hk_display_msg, "edits", _str), list_edit); | 170 | // map_forget((String _str) |-> add_string(hk_display_msg, "edits", _str), list_edit); |
| 128 | hk_display_msg | 171 | hk_display_msg |
| 129 | . | 172 | . |
| 173 | + | ||
| 174 | +public define JsonValue | ||
| 175 | + to_JSON | ||
| 176 | + ( | ||
| 177 | + HK_Display display | ||
| 178 | + )= | ||
| 179 | + since display is hk_display(list_views, list_edits), | ||
| 180 | + json_object("_HK_MODEL_DISPLAY", | ||
| 181 | + [ json_member("list_views", json_array(map((HK_List_View _view) |-> to_JSON(_view), list_views))), | ||
| 182 | + json_member("list_edits", json_array(map((HK_Edit_View _edit) |-> to_JSON(_edit), list_edits))) | ||
| 183 | + ] | ||
| 184 | + ). | ||
| 130 | 185 | ||
| 131 | public define Maybe(HK_Display) | 186 | public define Maybe(HK_Display) |
| 132 | get_hk_display | 187 | get_hk_display |
types/model/fields.anubis
| @@ -10,7 +10,7 @@ transmit tools/basis.anubis | @@ -10,7 +10,7 @@ transmit tools/basis.anubis | ||
| 10 | transmit system/convert.anubis | 10 | transmit system/convert.anubis |
| 11 | transmit system/muscle.anubis | 11 | transmit system/muscle.anubis |
| 12 | transmit calexium_lib/CXM_message_constants.anubis | 12 | transmit calexium_lib/CXM_message_constants.anubis |
| 13 | - | 13 | +transmit calexium_lib/web/CXM_json.anubis |
| 14 | 14 | ||
| 15 | *** 'HK_Model_Field' (data types of table columns). | 15 | *** 'HK_Model_Field' (data types of table columns). |
| 16 | 16 | ||
| @@ -51,6 +51,25 @@ public define Message | @@ -51,6 +51,25 @@ public define Message | ||
| 51 | hk_app_name_message | 51 | hk_app_name_message |
| 52 | . | 52 | . |
| 53 | 53 | ||
| 54 | +public define JsonValue | ||
| 55 | + to_JSON | ||
| 56 | + ( | ||
| 57 | + HK_App_Name hk_app_name | ||
| 58 | + )= | ||
| 59 | + with members = | ||
| 60 | + if hk_app_name is | ||
| 61 | + { | ||
| 62 | + this then [ json_member("type", json_string("this")) ], | ||
| 63 | + | ||
| 64 | + app_name(name) then [ json_member("type", json_string("app_name")), | ||
| 65 | + json_member("name", json_string(name)) | ||
| 66 | + ], | ||
| 67 | + | ||
| 68 | + none then [ json_member("type", json_string("none")) ], | ||
| 69 | + }, | ||
| 70 | + | ||
| 71 | + json_object("_HK_APP_NAME", members). | ||
| 72 | + | ||
| 54 | public define Maybe(HK_App_Name) | 73 | public define Maybe(HK_App_Name) |
| 55 | from_Message | 74 | from_Message |
| 56 | ( | 75 | ( |
| @@ -236,6 +255,62 @@ public define Message | @@ -236,6 +255,62 @@ public define Message | ||
| 236 | hk_model_field_message | 255 | hk_model_field_message |
| 237 | . | 256 | . |
| 238 | 257 | ||
| 258 | +public define JsonValue | ||
| 259 | + to_JSON | ||
| 260 | + ( | ||
| 261 | + HK_Model_Field hk_model_field | ||
| 262 | + )= | ||
| 263 | + with members = | ||
| 264 | + if hk_model_field is | ||
| 265 | + { | ||
| 266 | + p_key then | ||
| 267 | + [ json_member("type", json_string("p_key")) ], | ||
| 268 | + | ||
| 269 | + boolean_field then | ||
| 270 | + [ json_member("type", json_string("boolean_field")) ], | ||
| 271 | + | ||
| 272 | + date_field(attr) then | ||
| 273 | + [ json_member("type", json_string("date_field")), | ||
| 274 | + json_member("dt_attribute", json_string(to_String(attr))) | ||
| 275 | + ], | ||
| 276 | + | ||
| 277 | + time_field(attr) then | ||
| 278 | + [ json_member("type", json_string("time_field")), | ||
| 279 | + json_member("dt_attribute", json_string(to_String(attr))) | ||
| 280 | + ], | ||
| 281 | + | ||
| 282 | + datetime_field(attr) then | ||
| 283 | + [ json_member("type", json_string("datetime_field")), | ||
| 284 | + json_member("dt_attribute", json_string(to_String(attr))) | ||
| 285 | + ], | ||
| 286 | + | ||
| 287 | + foreign_key(app_name, table_name) then // foreign key to 'id' in another (or same) table and column_name for choice selector. | ||
| 288 | + [ json_member("type", json_string("foreign_key")), | ||
| 289 | + json_member("app_name", to_JSON(app_name)), | ||
| 290 | + json_member("table_name", json_string(table_name)), | ||
| 291 | + ], | ||
| 292 | + | ||
| 293 | + integer_field(choices) then // integer of arbitrary size | ||
| 294 | + //TODO add choices if need | ||
| 295 | + [ json_member("type", json_string("integer_field")) ], | ||
| 296 | + | ||
| 297 | + char_field (choices, size) then // text of maximal size 'size' (number of characters) | ||
| 298 | + //TODO add choices if need | ||
| 299 | + [ json_member("type", json_string("char_field")), | ||
| 300 | + json_member("size", json_int(size)) | ||
| 301 | + ], | ||
| 302 | + | ||
| 303 | + password_field(size) then | ||
| 304 | + [ json_member("type", json_string("password_field")), | ||
| 305 | + json_member("size", json_int(size)) | ||
| 306 | + ], | ||
| 307 | + | ||
| 308 | + text_field then // text of variable size | ||
| 309 | + [ json_member("type", json_string("text_field"))] | ||
| 310 | + }, | ||
| 311 | + | ||
| 312 | + json_object("_HK_FIELD", members). | ||
| 313 | + | ||
| 239 | define Maybe(HK_Model_Field) | 314 | define Maybe(HK_Model_Field) |
| 240 | get_field | 315 | get_field |
| 241 | ( | 316 | ( |
types/model/help.anubis
| @@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
| 9 | transmit tools/basis.anubis | 9 | transmit tools/basis.anubis |
| 10 | transmit system/muscle.anubis | 10 | transmit system/muscle.anubis |
| 11 | transmit calexium_lib/CXM_message_constants.anubis | 11 | transmit calexium_lib/CXM_message_constants.anubis |
| 12 | +transmit calexium_lib/web/CXM_json.anubis | ||
| 12 | 13 | ||
| 13 | public type HK_Help_Text: | 14 | public type HK_Help_Text: |
| 14 | no_help_text, //no help text available | 15 | no_help_text, //no help text available |
| @@ -65,6 +66,25 @@ public define Message | @@ -65,6 +66,25 @@ public define Message | ||
| 65 | }; | 66 | }; |
| 66 | hk_help_message | 67 | hk_help_message |
| 67 | . | 68 | . |
| 69 | + | ||
| 70 | +public define JsonValue | ||
| 71 | + to_JSON | ||
| 72 | + ( | ||
| 73 | + HK_Help_Text hk_help | ||
| 74 | + )= | ||
| 75 | + with members = | ||
| 76 | + if hk_help is | ||
| 77 | + { | ||
| 78 | + no_help_text then [ json_member("hk_help_text", json_string("no_help")) | ||
| 79 | + ], | ||
| 80 | + help_text_TAG(tag) then [ json_member("hk_help_text", json_string("TAG")), | ||
| 81 | + json_member("value", json_string(tag)) | ||
| 82 | + ] | ||
| 83 | + help_text(value) then [ json_member("hk_help_text", json_string("text")), | ||
| 84 | + json_member("value", json_string(value)) | ||
| 85 | + ] | ||
| 86 | + }, | ||
| 87 | + json_object("_HK_HELP_TEXT", members). | ||
| 68 | 88 | ||
| 69 | public define Maybe(HK_Help_Text) | 89 | public define Maybe(HK_Help_Text) |
| 70 | from_Message | 90 | from_Message |
types/model/icons.anubis
| @@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
| 9 | transmit tools/basis.anubis | 9 | transmit tools/basis.anubis |
| 10 | transmit system/muscle.anubis | 10 | transmit system/muscle.anubis |
| 11 | transmit calexium_lib/CXM_message_constants.anubis | 11 | transmit calexium_lib/CXM_message_constants.anubis |
| 12 | +transmit calexium_lib/web/CXM_json.anubis | ||
| 12 | 13 | ||
| 13 | public type HK_Icon: | 14 | public type HK_Icon: |
| 14 | no_icon, | 15 | no_icon, |
| @@ -40,7 +41,7 @@ public define String | @@ -40,7 +41,7 @@ public define String | ||
| 40 | icon16(icn_str) then "\""+icn_str+"_icon\"" | 41 | icon16(icn_str) then "\""+icn_str+"_icon\"" |
| 41 | }. | 42 | }. |
| 42 | 43 | ||
| 43 | - * * | 44 | + /* * |
| 44 | _HK_ICON message format: | 45 | _HK_ICON message format: |
| 45 | ======================= | 46 | ======================= |
| 46 | +-----------+-----------+-------------------------------- | 47 | +-----------+-----------+-------------------------------- |
| @@ -73,7 +74,25 @@ public define Message | @@ -73,7 +74,25 @@ public define Message | ||
| 73 | forget(add_string(hk_icon_message, "icn_str", icn_str)); | 74 | forget(add_string(hk_icon_message, "icn_str", icn_str)); |
| 74 | hk_icon_message | 75 | hk_icon_message |
| 75 | }. | 76 | }. |
| 77 | + | ||
| 78 | +public define JsonValue | ||
| 79 | + to_JSON | ||
| 80 | + ( | ||
| 81 | + HK_Icon hk_icon | ||
| 82 | + )= | ||
| 83 | + with members = | ||
| 84 | + if hk_icon is | ||
| 85 | + { | ||
| 86 | + no_icon then [ json_member("hk_icon", json_string("no_icon")) | ||
| 87 | + ], | ||
| 88 | + | ||
| 89 | + icon16(icn_str) then [ json_member("hk_icon", json_string("icon_16")), | ||
| 90 | + json_member("icn_str", json_string(icn_str)) | ||
| 91 | + ] | ||
| 92 | + }, | ||
| 76 | 93 | ||
| 94 | + json_object("_HK_ICON", members). | ||
| 95 | + | ||
| 77 | public define Maybe(HK_Icon) | 96 | public define Maybe(HK_Icon) |
| 78 | from_Message | 97 | from_Message |
| 79 | ( | 98 | ( |
types/model/model.anubis
| @@ -8,6 +8,7 @@ | @@ -8,6 +8,7 @@ | ||
| 8 | 8 | ||
| 9 | transmit tools/basis.anubis | 9 | transmit tools/basis.anubis |
| 10 | transmit columns.anubis | 10 | transmit columns.anubis |
| 11 | +transmit calexium_lib/web/CXM_json.anubis | ||
| 11 | 12 | ||
| 12 | public type HK_Model: | 13 | public type HK_Model: |
| 13 | hk_model( List(HK_Model_Column) columns, // columns other than the primary key column (if any) | 14 | hk_model( List(HK_Model_Column) columns, // columns other than the primary key column (if any) |
| @@ -37,7 +38,17 @@ public define Message | @@ -37,7 +38,17 @@ public define Message | ||
| 37 | hk_model_message | 38 | hk_model_message |
| 38 | . | 39 | . |
| 39 | 40 | ||
| 40 | - | 41 | +public define JsonValue |
| 42 | + to_JSON | ||
| 43 | + ( | ||
| 44 | + HK_Model hk_model | ||
| 45 | + )= | ||
| 46 | + json_object("_HK_MODEL", | ||
| 47 | + [ | ||
| 48 | + json_member("columns", json_array(map((HK_Model_Column column) |-> to_JSON(column), hk_model.columns))), | ||
| 49 | + json_member("show_str", json_string(hk_model.show_string)) | ||
| 50 | + ]). | ||
| 51 | + | ||
| 41 | public define Maybe(HK_Model) | 52 | public define Maybe(HK_Model) |
| 42 | from_Message | 53 | from_Message |
| 43 | ( | 54 | ( |
types/model/tables.anubis
| @@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
| 9 | read tools/basis.anubis | 9 | read tools/basis.anubis |
| 10 | transmit display.anubis | 10 | transmit display.anubis |
| 11 | transmit model.anubis | 11 | transmit model.anubis |
| 12 | +transmit calexium_lib/web/CXM_json.anubis | ||
| 12 | 13 | ||
| 13 | public type HK_Table: | 14 | public type HK_Table: |
| 14 | hk_table ( String name, //name of the table | 15 | hk_table ( String name, //name of the table |
| @@ -49,6 +50,19 @@ public define Message | @@ -49,6 +50,19 @@ public define Message | ||
| 49 | forget(add_message(hk_table_message, "hk_display", to_Message(table.display))); | 50 | forget(add_message(hk_table_message, "hk_display", to_Message(table.display))); |
| 50 | //print_to_stream(hk_table_message); | 51 | //print_to_stream(hk_table_message); |
| 51 | hk_table_message. | 52 | hk_table_message. |
| 53 | + | ||
| 54 | +public define JsonValue | ||
| 55 | + to_JSON | ||
| 56 | + ( | ||
| 57 | + HK_Table table | ||
| 58 | + )= | ||
| 59 | + json_object("_HK_TABLE", | ||
| 60 | + [ json_member("name", json_string(table.name)), | ||
| 61 | + json_member("short_name", json_string(table.name)), | ||
| 62 | + json_member("model", to_JSON(table.model)), | ||
| 63 | + json_member("hk_display", to_JSON(table.display)) | ||
| 64 | + ] | ||
| 65 | + ). | ||
| 52 | 66 | ||
| 53 | public define Maybe(HK_Table) | 67 | public define Maybe(HK_Table) |
| 54 | from_Message | 68 | from_Message |