Commit dbebf0f2d57294617cf39bb95d4f998b7e2ff01d
1 parent
2fb07b3f
add HK_text_choices definition
Showing
1 changed file
with
18 additions
and
3 deletions
Show diff stats
types/model/fields.anubis
| @@ -70,7 +70,13 @@ public define Maybe(HK_App_Name) | @@ -70,7 +70,13 @@ public define Maybe(HK_App_Name) | ||
| 70 | failure | 70 | failure |
| 71 | . | 71 | . |
| 72 | 72 | ||
| 73 | - | 73 | +public type HK_Text_Choice: |
| 74 | + hk_text_choice(String value, String visible). | ||
| 75 | + | ||
| 76 | +public type HK_Text_Choices: | ||
| 77 | + no_choice, | ||
| 78 | + text_choices(List(HK_Text_Choice)). | ||
| 79 | + | ||
| 74 | public type HK_Datetime_Field_Attr: | 80 | public type HK_Datetime_Field_Attr: |
| 75 | none, //Nothing special, normal behaviour | 81 | none, //Nothing special, normal behaviour |
| 76 | auto_now, //Always update datetime at SQL update | 82 | auto_now, //Always update datetime at SQL update |
| @@ -117,9 +123,17 @@ public type HK_Model_Field: | @@ -117,9 +123,17 @@ public type HK_Model_Field: | ||
| 117 | datetime_field(HK_Datetime_Field_Attr), // datetime with the precision of the second | 123 | datetime_field(HK_Datetime_Field_Attr), // datetime with the precision of the second |
| 118 | foreign_key (HK_App_Name app_name, String table_name), // foreign key to 'id' in another (or same) table and column_name for choice selector. | 124 | foreign_key (HK_App_Name app_name, String table_name), // foreign key to 'id' in another (or same) table and column_name for choice selector. |
| 119 | integer_field, // integer of arbitrary size | 125 | integer_field, // integer of arbitrary size |
| 120 | - char_field (Int size), // text of maximal size 'size' (number of characters) | 126 | + char_field (HK_Text_Choices choices, Int size), // text of maximal size 'size' (number of characters) |
| 121 | text_field. // text of variable size | 127 | text_field. // text of variable size |
| 122 | 128 | ||
| 129 | +//default initialization | ||
| 130 | +public define HK_Model_Field | ||
| 131 | + char_field | ||
| 132 | + ( | ||
| 133 | + Int size | ||
| 134 | + )= | ||
| 135 | + char_field(no_choice, size). | ||
| 136 | + | ||
| 123 | public define HK_Model_Field | 137 | public define HK_Model_Field |
| 124 | foreign_key | 138 | foreign_key |
| 125 | ( | 139 | ( |
| @@ -188,7 +202,8 @@ public define Message | @@ -188,7 +202,8 @@ public define Message | ||
| 188 | integer_field then // integer of arbitrary size | 202 | integer_field then // integer of arbitrary size |
| 189 | forget(add_string(hk_model_field_message, "type", "integer_field")), | 203 | forget(add_string(hk_model_field_message, "type", "integer_field")), |
| 190 | 204 | ||
| 191 | - char_field (size) then // text of maximal size 'size' (number of characters) | 205 | + char_field (choices, size) then // text of maximal size 'size' (number of characters) |
| 206 | + //TODO add choices if need | ||
| 192 | forget(add_string(hk_model_field_message, "type", "char_field")); | 207 | forget(add_string(hk_model_field_message, "type", "char_field")); |
| 193 | forget(add_int32(hk_model_field_message, "size", truncate_to_Word32(size))), | 208 | forget(add_int32(hk_model_field_message, "size", truncate_to_Word32(size))), |
| 194 | 209 |