display.anubis 2.37 KB
/*
 * Created by PyramIDE.
 * User: フランスのトトロ aka (David RENÉ) 
 * Date: 13/02/2016
 * Time: 10:36
 * © Calexium 
 */

transmit system/muscle.anubis
transmit tools/basis.anubis
transmit calexium_lib/CXM_message_constants.anubis
transmit calexium_lib/web/CXM_json.anubis

transmit hayamiki_lib/model/types/hk_display.anubis
transmit hayamiki_lib/model/types/hk_list_view.anubis
transmit hayamiki_lib/model/types/hk_edit_view.anubis
transmit hayamiki_lib/model/types/hk_fk_view.anubis
transmit hayamiki_lib/model/types/hk_icon.anubis

public define HK_List_View
  list_view
  (
    String        view_name, 
    List(String)  columns
  )=
  list_view(view_name, columns, no_action).


public define HK_Edit_View
  edit_view_list_form
  (
    String            view_name,      
    List(String)      columns 
  )=
  edit_view_list_form(view_name, columns, [])
.


 public define JsonValue
  to_JSON
  (    
    HK_List_View list_view
  )=
  with members = 
    if list_view is
    {
      list_view_all           then  
        [ json_member("type",       json_string("list_view_all")) ],
                              
      list_view(name, columns, link_id_action)   then  
        [ json_member("type",           json_string("list_view")),
          json_member("view_name",      json_string(name)),
          json_member("link_id_action", json_string(link_id_action)),
          json_member("columns",        json_array(map((String column) |-> json_string(column), columns)))
        ]
    },
  
  json_object("_HK_LIST_VIEW", members).
  

  
  _HK_MODEL_DISPLAY message format:
  =========================
  The message string name is "hk_display"
  +--------------+---------------+--------------------------------
  |  name        |  type         |      description
  +--------------+---------------+--------------------------------
  | "list_edits" | List(Message) | List of (edit list) the Message id is _HK_EDIT_VIEW
  | "list_views" | List(Message) | List of (view list) the Message id is _HK_LIST_VIEW

  




public define JsonValue
  to_JSON
  (    
    HK_Display display
  )=
  since display is hk_display(list_views, list_edits),  
  json_object("_HK_MODEL_DISPLAY", 
    [ //json_member("list_views", json_array(map((HK_List_View _view) |-> to_JSON(_view), list_views))),
      //json_member("list_edits", json_array(map((HK_Edit_View _edit) |-> to_JSON(_edit), list_edits)))
    ]
  ).