Commit 87ca803d43f37584cc32f084fb55fa39f131d6ab
1 parent
f80d566f
add int_choices to integer_field
Showing
5 changed files
with
35 additions
and
21 deletions
Show diff stats
hayamiki_lib @ c6605b532d8
src/generation/columns.anubis
| @@ -137,9 +137,9 @@ public define Maybe(String) | @@ -137,9 +137,9 @@ public define Maybe(String) | ||
| 137 | auto_now_add then | 137 | auto_now_add then |
| 138 | if insert then success(name) else failure | 138 | if insert then success(name) else failure |
| 139 | }, | 139 | }, |
| 140 | - foreign_key(_,_) then success(name), | ||
| 141 | - integer_field then success(name), | ||
| 142 | - char_field(_,_) then success(name), | 140 | + foreign_key(_,_) then success(name), |
| 141 | + integer_field(_) then success(name), | ||
| 142 | + char_field(_,_) then success(name), | ||
| 143 | text_field then success(name) | 143 | text_field then success(name) |
| 144 | }. | 144 | }. |
| 145 | 145 | ||
| @@ -225,7 +225,19 @@ public define Maybe(String) | @@ -225,7 +225,19 @@ public define Maybe(String) | ||
| 225 | auto_now_add then success("information(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+".datetime, 18, "+to_Anubis_source(help)+")") | 225 | auto_now_add then success("information(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+".datetime, 18, "+to_Anubis_source(help)+")") |
| 226 | }, | 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 | 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)+")"), |
| 228 | - integer_field then success("integer(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")"), | 228 | + integer_field(choices) then |
| 229 | + //success("integer(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")"), | ||
| 230 | + if choices is | ||
| 231 | + { | ||
| 232 | + no_choice then success("integer(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")"), | ||
| 233 | + int_choices(choices_list) then | ||
| 234 | + //if choice list is NOT empty we construct the possible choices selector | ||
| 235 | + if length(choices_list) > 0 then | ||
| 236 | + success("choices_int(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", vt_edit_selector(get_choices_selector_"+to_lower(type_name)+"_"+name+"), "+to_Anubis_source(help)+")") | ||
| 237 | + else | ||
| 238 | + success("integer(\""+to_upper(name)+"\", \""+name+"\", "+type_name+"."+name+", "+to_Anubis_source(help)+")"), | ||
| 239 | + } | ||
| 240 | + | ||
| 229 | //TODO make choices selection if need | 241 | //TODO make choices selection if need |
| 230 | char_field(choices,_) then | 242 | char_field(choices,_) then |
| 231 | if choices is | 243 | if choices is |
| @@ -290,9 +302,9 @@ public define String | @@ -290,9 +302,9 @@ public define String | ||
| 290 | */ | 302 | */ |
| 291 | to_String | 303 | to_String |
| 292 | ( | 304 | ( |
| 293 | - HK_Model_Column col, | ||
| 294 | - String current_type_name, | ||
| 295 | - String general_type_name | 305 | + HK_Model_Column col, //Model of the column |
| 306 | + String current_type_name, //Instance name of the type i.e. toto (this is instance of Toto_Type below) | ||
| 307 | + String general_type_name //Type declaration name i.e. Toto_Type | ||
| 296 | ) = | 308 | ) = |
| 297 | since col is hk_column(name, col_type, _, _), | 309 | since col is hk_column(name, col_type, _, _), |
| 298 | if col_type is | 310 | if col_type is |
| @@ -305,7 +317,7 @@ public define String | @@ -305,7 +317,7 @@ public define String | ||
| 305 | time_field(attrs) then "to_String("+current_type_name+"."+name+")", | 317 | time_field(attrs) then "to_String("+current_type_name+"."+name+")", |
| 306 | datetime_field(attrs) then "to_String("+current_type_name+"."+name+")" | 318 | datetime_field(attrs) then "to_String("+current_type_name+"."+name+")" |
| 307 | foreign_key(app,foreign_table) then "get_"+foreign_table+"_show_string(db, "+current_type_name+"."+name+")", | 319 | foreign_key(app,foreign_table) then "get_"+foreign_table+"_show_string(db, "+current_type_name+"."+name+")", |
| 308 | - integer_field then "to_String("+current_type_name+"."+name+")", | ||
| 309 | - char_field(_,_) then current_type_name+"."+name, | 320 | + integer_field(_) then "to_String("+current_type_name+"."+name+")", |
| 321 | + char_field(_,_) then current_type_name+"."+name, | ||
| 310 | text_field then current_type_name+"."+name | 322 | text_field then current_type_name+"."+name |
| 311 | }. | 323 | }. |
src/generation/fields.anubis
| @@ -15,6 +15,8 @@ read hayamiki_lib/types/model/columns.anubis | @@ -15,6 +15,8 @@ read hayamiki_lib/types/model/columns.anubis | ||
| 15 | read model.anubis | 15 | read model.anubis |
| 16 | 16 | ||
| 17 | public define String | 17 | public define String |
| 18 | +/** Return the corresponding Anubis type of the field | ||
| 19 | + */ | ||
| 18 | to_Anubis_type | 20 | to_Anubis_type |
| 19 | ( | 21 | ( |
| 20 | HK_Model_Field t | 22 | HK_Model_Field t |
| @@ -29,7 +31,7 @@ public define String | @@ -29,7 +31,7 @@ public define String | ||
| 29 | time_field(_) then "DB_time", | 31 | time_field(_) then "DB_time", |
| 30 | datetime_field(_) then "DB_datetime", | 32 | datetime_field(_) then "DB_datetime", |
| 31 | foreign_key(_,_) then "Int", | 33 | foreign_key(_,_) then "Int", |
| 32 | - integer_field then "Int", | 34 | + integer_field(_) then "Int", |
| 33 | char_field(_,_) then "String", | 35 | char_field(_,_) then "String", |
| 34 | text_field then "String" | 36 | text_field then "String" |
| 35 | }. | 37 | }. |
| @@ -49,7 +51,7 @@ public define String | @@ -49,7 +51,7 @@ public define String | ||
| 49 | time_field(_) then fill("TIME", 15) +format_attributes(attributes), | 51 | time_field(_) then fill("TIME", 15) +format_attributes(attributes), |
| 50 | datetime_field(_) then fill("DATETIME", 15)+format_attributes(attributes), | 52 | datetime_field(_) then fill("DATETIME", 15)+format_attributes(attributes), |
| 51 | foreign_key(app,fk) then fill("INTEGER", 15) +format_attributes(attributes)+" REFERENCES "+fk+"(id) ", | 53 | foreign_key(app,fk) then fill("INTEGER", 15) +format_attributes(attributes)+" REFERENCES "+fk+"(id) ", |
| 52 | - integer_field then fill("INTEGER", 15) +format_attributes(attributes), | 54 | + integer_field(_) then fill("INTEGER", 15) +format_attributes(attributes), |
| 53 | char_field(_,size) then fill("VARCHAR("+size+")", 15) +format_attributes(attributes), | 55 | char_field(_,size) then fill("VARCHAR("+size+")", 15) +format_attributes(attributes), |
| 54 | text_field then fill("TEXT", 15) +format_attributes(attributes), | 56 | text_field then fill("TEXT", 15) +format_attributes(attributes), |
| 55 | }. | 57 | }. |
| @@ -68,8 +70,8 @@ public define String | @@ -68,8 +70,8 @@ public define String | ||
| 68 | date_field(_) then "db_date(\"\")", | 70 | date_field(_) then "db_date(\"\")", |
| 69 | time_field(_) then "db_time(\"\")", | 71 | time_field(_) then "db_time(\"\")", |
| 70 | datetime_field(_) then "db_datetime(\"\")", | 72 | datetime_field(_) then "db_datetime(\"\")", |
| 71 | - foreign_key(_,_) then "(Int)0", | ||
| 72 | - integer_field then "(Int)0", | 73 | + foreign_key(_,_) then "(Int)0", |
| 74 | + integer_field(_) then "(Int)0", | ||
| 73 | char_field(choices,size) then "\"\"", | 75 | char_field(choices,size) then "\"\"", |
| 74 | text_field then "\"\"" | 76 | text_field then "\"\"" |
| 75 | }. | 77 | }. |
| @@ -90,7 +92,7 @@ public define String | @@ -90,7 +92,7 @@ public define String | ||
| 90 | time_field(attrs) then if attrs = none then "get_DB_time(lwa, __prefix__+\""+name+"\")" else "with "+name+" = get_dummy_DB_time,", | 92 | time_field(attrs) then if attrs = none then "get_DB_time(lwa, __prefix__+\""+name+"\")" else "with "+name+" = get_dummy_DB_time,", |
| 91 | datetime_field(attrs) then if attrs = none then "get_DB_datetime(lwa, __prefix__+\""+name+"\")" else "with "+name+" = get_dummy_DB_datetime,", | 93 | datetime_field(attrs) then if attrs = none then "get_DB_datetime(lwa, __prefix__+\""+name+"\")" else "with "+name+" = get_dummy_DB_datetime,", |
| 92 | foreign_key(_,_) then "get_Int(lwa, __prefix__+\""+name+"\")", | 94 | foreign_key(_,_) then "get_Int(lwa, __prefix__+\""+name+"\")", |
| 93 | - integer_field then "get_Int(lwa, __prefix__+\""+name+"\")", | 95 | + integer_field(_) then "get_Int(lwa, __prefix__+\""+name+"\")", |
| 94 | char_field(_,_) then "get_String(lwa, __prefix__+\""+name+"\")", | 96 | char_field(_,_) then "get_String(lwa, __prefix__+\""+name+"\")", |
| 95 | text_field then "get_String(lwa, __prefix__+\""+name+"\")" | 97 | text_field then "get_String(lwa, __prefix__+\""+name+"\")" |
| 96 | }. | 98 | }. |
| @@ -111,7 +113,7 @@ public define String | @@ -111,7 +113,7 @@ public define String | ||
| 111 | time_field(_) then "db_time(text"+cursor_index+")", | 113 | time_field(_) then "db_time(text"+cursor_index+")", |
| 112 | datetime_field(_) then "db_datetime(text"+cursor_index+")", | 114 | datetime_field(_) then "db_datetime(text"+cursor_index+")", |
| 113 | foreign_key(_,_) then "(Int)db_integer"+cursor_index, | 115 | foreign_key(_,_) then "(Int)db_integer"+cursor_index, |
| 114 | - integer_field then "(Int)db_integer"+cursor_index, | 116 | + integer_field(_) then "(Int)db_integer"+cursor_index, |
| 115 | char_field(_,_) then "text"+cursor_index, | 117 | char_field(_,_) then "text"+cursor_index, |
| 116 | text_field then "text"+cursor_index | 118 | text_field then "text"+cursor_index |
| 117 | }. | 119 | }. |
| @@ -143,7 +145,7 @@ public define String | @@ -143,7 +145,7 @@ public define String | ||
| 143 | "" | 145 | "" |
| 144 | }, | 146 | }, |
| 145 | foreign_key(_,_) then "bind_Int(\":v_"+name+"\", "+type_name+"."+name+")", | 147 | foreign_key(_,_) then "bind_Int(\":v_"+name+"\", "+type_name+"."+name+")", |
| 146 | - integer_field then "bind_Int(\":v_"+name+"\", "+type_name+"."+name+")", | 148 | + integer_field(_) then "bind_Int(\":v_"+name+"\", "+type_name+"."+name+")", |
| 147 | char_field(_,_) then "bind_String(\":v_"+name+"\", "+type_name+"."+name+")", | 149 | char_field(_,_) then "bind_String(\":v_"+name+"\", "+type_name+"."+name+")", |
| 148 | text_field then "bind_String(\":v_"+name+"\", "+type_name+"."+name+")" | 150 | text_field then "bind_String(\":v_"+name+"\", "+type_name+"."+name+")" |
| 149 | }. | 151 | }. |
src/generation/html.anubis
| @@ -92,9 +92,9 @@ public define String | @@ -92,9 +92,9 @@ public define String | ||
| 92 | date_field(attrs) then to_HTML_cell_text(column, data_name, general_type_name), | 92 | date_field(attrs) then to_HTML_cell_text(column, data_name, general_type_name), |
| 93 | time_field(attrs) then to_HTML_cell_text(column, data_name, general_type_name), | 93 | time_field(attrs) then to_HTML_cell_text(column, data_name, general_type_name), |
| 94 | datetime_field(attrs) then to_HTML_cell_text(column, data_name, general_type_name), | 94 | datetime_field(attrs) then to_HTML_cell_text(column, data_name, general_type_name), |
| 95 | - foreign_key(app,foreign_table) then to_HTML_cell_text(column, data_name, general_type_name), | ||
| 96 | - integer_field then to_HTML_cell_text(column, data_name, general_type_name), | ||
| 97 | - char_field(choices,size) then to_HTML_cell_text(column, data_name, general_type_name), | 95 | + foreign_key(app, foreign_table) then to_HTML_cell_text(column, data_name, general_type_name), |
| 96 | + integer_field(choices) then to_HTML_cell_text(column, data_name, general_type_name), | ||
| 97 | + char_field(choices, size) then to_HTML_cell_text(column, data_name, general_type_name), | ||
| 98 | text_field then to_HTML_cell_text(column, data_name, general_type_name), | 98 | text_field then to_HTML_cell_text(column, data_name, general_type_name), |
| 99 | } | 99 | } |
| 100 | }. | 100 | }. |
src/generation/icons.anubis
| @@ -29,7 +29,7 @@ public define String | @@ -29,7 +29,7 @@ public define String | ||
| 29 | time_field(attrs) then icn16_clock, | 29 | time_field(attrs) then icn16_clock, |
| 30 | datetime_field(attrs) then icn16_clock, | 30 | datetime_field(attrs) then icn16_clock, |
| 31 | foreign_key(app,foreign_table) then icn16_question, | 31 | foreign_key(app,foreign_table) then icn16_question, |
| 32 | - integer_field then icn16_question, | 32 | + integer_field(choice) then icn16_question, |
| 33 | char_field(choice, size) then icn16_question, | 33 | char_field(choice, size) then icn16_question, |
| 34 | text_field then icn16_question | 34 | text_field then icn16_question |
| 35 | }. | 35 | }. |