Commit e8311d8a297797824a7d1dd074f05c81aea7af55

Authored by totoro
1 parent 917dd665

Generate choices selector

calexium_lib @ 89e465d6f9d
1   -Subproject commit daf7d84b972b0f4ef2a35fcf9b48101417a7110d
  1 +Subproject commit 89e465d6f9d8461c1168c798ab69ddcdea5ae832
... ...
hayamiki.aproj
... ... @@ -482,6 +482,7 @@
482 482 <Compile Include="library\xml\basic_xml_parser.anubis" />
483 483 <Compile Include="library\xml\xml_parser.apg.anubis" />
484 484 <Compile Include="src\check.anubis" />
  485 + <Compile Include="src\generation\choices_selector.anubis" />
485 486 <Compile Include="src\generation\columns.anubis" />
486 487 <Compile Include="src\generation\create_table.anubis" />
487 488 <Compile Include="src\generation\fields.anubis" />
... ...
src/generation/columns.anubis
... ... @@ -7,6 +7,7 @@
7 7 */
8 8  
9 9 read system/string.anubis
  10 +read tools/list.anubis
10 11 read hayamiki_lib/types/model/columns.anubis
11 12  
12 13 read fields.anubis
... ... @@ -226,7 +227,17 @@ public define Maybe(String)
226 227 foreign_key(app,foreign_table) then success("foreign_text(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", vt_edit_selector(get_selector_"+foreign_table+"), "+to_Anubis_source(help)+")"),
227 228 integer_field then success("integer(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")"),
228 229 //TODO make choices selection if need
229   - char_field(choices,_) then success("text(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")"),
  230 + char_field(choices,_) then
  231 + if choices is
  232 + {
  233 + no_choice then success("text(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")"),
  234 + text_choices(choices_list) then
  235 + //if choice list is NOT empty we construct the possible choices selector
  236 + if length(choices_list) > 0 then
  237 + success("choices_text(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", vt_edit_selector(get_choices_selector_"+to_lower(type_name)+"_"+name+"), "+to_Anubis_source(help)+")")
  238 + else
  239 + success("text(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")")
  240 + }
230 241 text_field then success("text_area(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")")
231 242 }.
232 243  
... ...
src/generation/create_table.anubis
... ... @@ -3,7 +3,30 @@
3 3 * User: フランスのトトロ aka (David RENÉ)
4 4 * Date: 24/01/2016
5 5 * Time: 18:13
6   - * © Calexium
  6 +
  7 +Hayamiki is Copyright © 2016 by Calexium
  8 +All rights reserved.
  9 +
  10 +Redistribution and use in source and binary forms, with or without modification,
  11 +are permitted provided that the following conditions are met:
  12 +
  13 +1. Redistributions of source code must retain the above copyright notice,
  14 + this list of conditions and the following disclaimer.
  15 +
  16 +2. Redistributions in binary form must reproduce the above copyright notice,
  17 + this list of conditions and the following disclaimer in the documentation
  18 + and/or other materials provided with the distribution.
  19 +
  20 +THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,
  21 +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  22 +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  23 +AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
  24 +OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  25 +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  26 +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  27 +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  28 +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  29 +POSSIBILITY OF SUCH DAMAGE.
7 30 */
8 31  
9 32  
... ...
src/generation/files.anubis
... ... @@ -20,6 +20,7 @@ read generation/types.anubis
20 20 read generation/create_table.anubis
21 21 read generation/menu.anubis
22 22 read generation/fn_delete.anubis
  23 +read generation/choices_selector.anubis
23 24 read check.anubis
24 25  
25 26 define Maybe(One)
... ... @@ -57,9 +58,10 @@ define Maybe(One)
57 58 if generate_delete(strm, table) is { failure then failure, success(_) then
58 59 if generate_show_string(strm, table) is { failure then failure, success(_) then
59 60 if generate_selector(strm, table) is { failure then failure, success(_) then
  61 + if generate_choices_selector(strm, table) is { failure then failure, success(_) then
60 62 if generate_VT_all_view(strm, table) is { failure then failure, success(_) then
61 63 if generate_VT_edit(strm, table) is { failure then failure, success(_) then
62   - success(unique)}}}}}}}}}}}}}
  64 + success(unique)}}}}}}}}}}}}}}
63 65 }.
64 66  
65 67 define One
... ...