Commit 210cb395a1ecef6aaf5c27f7ab054f0d6f444676

Authored by totoro
1 parent e8311d8a

forgotten file

Showing 1 changed file with 70 additions and 0 deletions   Show diff stats
src/generation/choices_selector.anubis 0 → 100644
  1 +/*
  2 + * Created by PyramIDE.
  3 + * User: フランスのトトロ aka (David RENÉ)
  4 + * Date: 06/04/2016
  5 + * Time: 22:54
  6 + * © Calexium
  7 + */
  8 +
  9 +read hayamiki_lib/types/hayamiki.anubis
  10 +read tools/basis.anubis
  11 +read tools/streams.anubis
  12 +read system/string.anubis
  13 +read fields.anubis
  14 +read columns.anubis
  15 +read html.anubis
  16 +
  17 +define Maybe(One)
  18 + _generate_choices_selector
  19 + (
  20 + Stream stream,
  21 + String table_name,
  22 + String column_name,
  23 + List(HK_Text_Choice) choices
  24 + )=
  25 + //generate the type of the table that contain all components
  26 + if write_string(stream,
  27 + "\n\n"+
  28 + "public define List((List(CoreAttrs), WebArgValue, String))\n"+
  29 + " get_choices_selector_"+table_name+"_"+column_name+"\n"+
  30 + " (\n"+
  31 + " SQLite3DataBase db,\n"+
  32 + " )=\n"+
  33 + " [\n"+
  34 + concat(map((HK_Text_Choice hk_txt_choice) |->
  35 + since hk_txt_choice is hk_text_choice(value, visible),
  36 + " ([], wav(\""+value+"\"), \""+visible+"\"),\n", choices))+
  37 + " ]."
  38 + ) is //end of the function
  39 + {
  40 + failure then println("can't write generate_choices_selector_"+table_name+"_"+column_name); failure,
  41 + success(_) then success(unique)
  42 + }.
  43 + .
  44 +
  45 +public define Maybe(One)
  46 + generate_choices_selector
  47 + (
  48 + Stream stream,
  49 + HK_Table table
  50 + )=
  51 + since table is hk_table(table_name, short_name, model, _),
  52 + since model is hk_model( columns, show_string),
  53 +
  54 + map_forget((HK_Model_Column column) |->
  55 + since column is hk_column(column_name, field_type, _, _),
  56 + if field_type is char_field(choices, _) then
  57 + if choices is
  58 + {
  59 + no_choice then success(unique),
  60 + text_choices(choices_list) then
  61 + _generate_choices_selector(stream, table_name, column_name, choices_list)
  62 + }
  63 + else
  64 + success(unique), columns);
  65 + success(unique).
  66 +
  67 +
  68 + with type_name = to_upper(name, 1), //make the first character to upper case to able to be a Anubis Type.
  69 +
  70 +
... ...