Commit 291e3895c2e2e9db694cff91e266a4d756fa5b4d
1 parent
0acd0629
add HK_Edit_View in HK_model_display
Showing
1 changed file
with
53 additions
and
8 deletions
Show diff stats
types/model/display.anubis
| @@ -17,8 +17,8 @@ public type HK_List_View: | @@ -17,8 +17,8 @@ public type HK_List_View: | ||
| 17 | public define HK_List_View | 17 | public define HK_List_View |
| 18 | list_view | 18 | list_view |
| 19 | ( | 19 | ( |
| 20 | - String view_name, | ||
| 21 | - List(String) columns | 20 | + String view_name, |
| 21 | + List(String) columns | ||
| 22 | )= | 22 | )= |
| 23 | list_view(view_name, columns, ""). | 23 | list_view(view_name, columns, ""). |
| 24 | 24 | ||
| @@ -63,20 +63,57 @@ public type HK_Edit_View: | @@ -63,20 +63,57 @@ public type HK_Edit_View: | ||
| 63 | edit_view_all, | 63 | edit_view_all, |
| 64 | edit_view(String view_name, List(String) columns). | 64 | edit_view(String view_name, List(String) columns). |
| 65 | 65 | ||
| 66 | +public define Message | ||
| 67 | + to_Message | ||
| 68 | + ( | ||
| 69 | + HK_Edit_View edit_view | ||
| 70 | + )= | ||
| 71 | + with _msg = message(_HK_EDIT_VIEW), | ||
| 72 | + if edit_view is | ||
| 73 | + { | ||
| 74 | + edit_view_all then forget(add_string(_msg, "type", "edit_view_all")), | ||
| 75 | + edit_view(name, columns) then | ||
| 76 | + forget(add_string(_msg, "type", "list_view")); | ||
| 77 | + forget(add_string(_msg, "view_name", name)); | ||
| 78 | + map_forget((String column) |-> forget(add_string(_msg, "columns", column)), columns) | ||
| 79 | + }; | ||
| 80 | + _msg | ||
| 81 | + . | ||
| 82 | + | ||
| 83 | +public define Maybe(HK_Edit_View) | ||
| 84 | + from_Message | ||
| 85 | + ( | ||
| 86 | + Message msg | ||
| 87 | + )= | ||
| 88 | + if *msg.what = _HK_EDIT_VIEW then | ||
| 89 | + if find_string(msg, "type") is {failure then failure, success(type) then | ||
| 90 | + if type = "edit_view_all" then success(edit_view_all) else | ||
| 91 | + if type = "edit_view" then | ||
| 92 | + if find_string(msg, "view_name") is {failure then failure, success(view_name) then | ||
| 93 | + with columns = find_strings(msg, "columns"), | ||
| 94 | + success(edit_view(view_name, columns))} | ||
| 95 | + else | ||
| 96 | + failure | ||
| 97 | + } | ||
| 98 | + else | ||
| 99 | + failure | ||
| 100 | + . | ||
| 101 | + | ||
| 66 | _HK_MODEL_DISPLAY message format: | 102 | _HK_MODEL_DISPLAY message format: |
| 67 | ========================= | 103 | ========================= |
| 68 | The message string name is "hk_display" | 104 | The message string name is "hk_display" |
| 69 | +--------------+---------------+-------------------------------- | 105 | +--------------+---------------+-------------------------------- |
| 70 | | name | type | description | 106 | | name | type | description |
| 71 | +--------------+---------------+-------------------------------- | 107 | +--------------+---------------+-------------------------------- |
| 72 | - | "edits" | List(String) | List of columns for edit panel | 108 | + | "list_edits" | List(Message) | List of (edit list) the Message id is _HK_EDIT_VIEW |
| 73 | | "list_views" | List(Message) | List of (view list) the Message id is _HK_LIST_VIEW | 109 | | "list_views" | List(Message) | List of (view list) the Message id is _HK_LIST_VIEW |
| 74 | 110 | ||
| 75 | 111 | ||
| 76 | public type HK_Display: | 112 | public type HK_Display: |
| 77 | hk_display(List(HK_List_View) list_views, | 113 | hk_display(List(HK_List_View) list_views, |
| 78 | - //List(HK_Edit_View) edit_views | ||
| 79 | - List(String)). | 114 | + List(HK_Edit_View) list_edits |
| 115 | + //List(String) | ||
| 116 | + ). | ||
| 80 | 117 | ||
| 81 | public define Message | 118 | public define Message |
| 82 | to_Message | 119 | to_Message |
| @@ -84,9 +121,10 @@ public define Message | @@ -84,9 +121,10 @@ public define Message | ||
| 84 | HK_Display display | 121 | HK_Display display |
| 85 | )= | 122 | )= |
| 86 | with hk_display_msg = message(_HK_MODEL_DISPLAY), | 123 | with hk_display_msg = message(_HK_MODEL_DISPLAY), |
| 87 | - since display is hk_display(list_views, list_edit), | 124 | + since display is hk_display(list_views, list_edits), |
| 88 | map_forget((HK_List_View _view) |-> add_message(hk_display_msg, "list_views", to_Message(_view)), list_views); | 125 | map_forget((HK_List_View _view) |-> add_message(hk_display_msg, "list_views", to_Message(_view)), list_views); |
| 89 | - map_forget((String _str) |-> add_string(hk_display_msg, "edits", _str), list_edit); | 126 | + map_forget((HK_Edit_View _edit) |-> add_message(hk_display_msg, "list_edits", to_Message(_edit)), list_edits); |
| 127 | +// map_forget((String _str) |-> add_string(hk_display_msg, "edits", _str), list_edit); | ||
| 90 | hk_display_msg | 128 | hk_display_msg |
| 91 | . | 129 | . |
| 92 | 130 | ||
| @@ -98,10 +136,17 @@ public define Maybe(HK_Display) | @@ -98,10 +136,17 @@ public define Maybe(HK_Display) | ||
| 98 | if find_message(msg, "hk_display") is { failure then failure, success(msg_hk_display) then | 136 | if find_message(msg, "hk_display") is { failure then failure, success(msg_hk_display) then |
| 99 | if *msg_hk_display.what = _HK_MODEL_DISPLAY then | 137 | if *msg_hk_display.what = _HK_MODEL_DISPLAY then |
| 100 | with view_list = map_escape((Message _msg) |-> (Maybe(HK_List_View))from_Message(_msg), find_messages(msg_hk_display, "list_views")), | 138 | with view_list = map_escape((Message _msg) |-> (Maybe(HK_List_View))from_Message(_msg), find_messages(msg_hk_display, "list_views")), |
| 139 | + with edit_list = map_escape((Message _msg) |-> (Maybe(HK_Edit_View))from_Message(_msg), find_messages(msg_hk_display, "list_edits")), | ||
| 101 | if view_list is | 140 | if view_list is |
| 102 | { | 141 | { |
| 103 | failure then failure, | 142 | failure then failure, |
| 104 | - success(list_views) then success(hk_display(list_views, find_strings(msg, "edits"))) | 143 | + success(list_views) then |
| 144 | + if edit_list is | ||
| 145 | + { | ||
| 146 | + failure then failure, | ||
| 147 | + success(list_edits) then | ||
| 148 | + success(hk_display(list_views, list_edits)) | ||
| 149 | + } | ||
| 105 | } | 150 | } |
| 106 | else | 151 | else |
| 107 | failure | 152 | failure |