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

transmit help.anubis
transmit tables.anubis
transmit icons.anubis

read tools/basis.anubis
transmit system/muscle.anubis
transmit xlib/web/json.anubis
transmit hayamiki_lib/model/types/hk_app.anubis
    
 /* Default constructor for HK_App*/
public define HK_App
  hk_app
  (
    String          app_name,
    HK_Help_Text    help,
    List(HK_Table)  hk_tables
  )= 
  hk_app(app_name, no_icon, help, hk_tables).

public define HK_App
  hk_app
  (
    String          app_name,
    HK_Icon         icon,
    List(HK_Table)  hk_tables
  )= 
  hk_app(app_name, icon, no_help_text, hk_tables).


public define HK_App
  hk_app
  (
    String          app_name,
    List(HK_Table)  hk_tables
  )= 
  hk_app(app_name, no_icon, no_help_text, hk_tables).

 type HK_App:
  hk_app( 
    String          app_name,
    HK_Icon         icon,
    HK_Help_Text    help,
    List(HK_Table)  hk_tables
    ).

  _HK_APP:
  ========
  +----------+---------------+--------------------------
  |  name    |  type         |      description
  +----------+---------------+--------------------------------
  | "name"   | String        | Name of the application
  | "icon"   | Message       | Icon description, contained in message id _HK_ICON
  | "help"   | Message       | Help string, contained in message id _HK_HELP_TEXT
  | "tables" | List(Message) | List of tables of that application contained in message id _HK_TABLE

public define JsonValue
  to_JSON
  (
    HK_App app
  )=
  json_object("_HK_APP",
  [
    json_member("name",   json_string(app.app_name)),
    json_member("icon",   to_JSON(app.icon)),
    json_member("help",   to_JSON(app.help)),
    json_member("tables", json_array(map((HK_Table table) |-> to_JSON(table), app.hk_tables)))
  ]).