Commit 7aee2bab1dc210fcaca6ceeee52ce165c96cb2ee
Merge branch 'master' of ssh://gitlab.calexium.com:33022/calexium/hayamiki_lib
Showing
2 changed files
with
60 additions
and
7 deletions
Show diff stats
types/model/fields.anubis
| @@ -106,6 +106,49 @@ public type HK_Int_Choices: | @@ -106,6 +106,49 @@ public type HK_Int_Choices: | ||
| 106 | no_choice, //No list choice is available. Hence the user must enter the value | 106 | no_choice, //No list choice is available. Hence the user must enter the value |
| 107 | int_choices(List(HK_Int_Choice)). //List of possible choices | 107 | int_choices(List(HK_Int_Choice)). //List of possible choices |
| 108 | 108 | ||
| 109 | +public type HK_Text_Field_Attr: | ||
| 110 | + none, //Nothing special, normal behaviour | ||
| 111 | + rich_editor. //Use richt text editor for that area | ||
| 112 | + | ||
| 113 | +define String | ||
| 114 | + to_String | ||
| 115 | + ( | ||
| 116 | + HK_Text_Field_Attr attr | ||
| 117 | + )= | ||
| 118 | + if attr is | ||
| 119 | + { | ||
| 120 | + none then "none", | ||
| 121 | + rich_editor then "rich_editor" | ||
| 122 | + }. | ||
| 123 | + | ||
| 124 | +public define String | ||
| 125 | + to_Anubis_source | ||
| 126 | + ( | ||
| 127 | + HK_Text_Field_Attr attr | ||
| 128 | + )= | ||
| 129 | + to_String(attr) | ||
| 130 | +. | ||
| 131 | + | ||
| 132 | +define HK_Text_Field_Attr | ||
| 133 | + to_HK_Text_Field_Attr | ||
| 134 | + ( | ||
| 135 | + String txt_attr_str | ||
| 136 | + )= | ||
| 137 | + if txt_attr_str = "none" then none else | ||
| 138 | + if txt_attr_str = "rich_editor" then rich_editor | ||
| 139 | + else none | ||
| 140 | +. | ||
| 141 | + | ||
| 142 | +define HK_Text_Field_Attr | ||
| 143 | + get_text_attribute | ||
| 144 | + ( | ||
| 145 | + Message msg | ||
| 146 | + )= | ||
| 147 | + if find_string(msg, "text_attribute") is | ||
| 148 | + { | ||
| 149 | + failure then none, | ||
| 150 | + success(text_attrib) then to_HK_Text_Field_Attr(text_attrib) | ||
| 151 | + }. | ||
| 109 | 152 | ||
| 110 | public type HK_Datetime_Field_Attr: | 153 | public type HK_Datetime_Field_Attr: |
| 111 | none, //Nothing special, normal behaviour | 154 | none, //Nothing special, normal behaviour |
| @@ -155,7 +198,7 @@ public type HK_Model_Field: | @@ -155,7 +198,7 @@ public type HK_Model_Field: | ||
| 155 | integer_field (HK_Int_Choices choices), // integer of arbitrary size | 198 | integer_field (HK_Int_Choices choices), // integer of arbitrary size |
| 156 | char_field (HK_Text_Choices choices, Int size), // text of maximal size 'size' (number of characters) | 199 | char_field (HK_Text_Choices choices, Int size), // text of maximal size 'size' (number of characters) |
| 157 | password_field(Int min_size), // the password field doesn't show the password string or store it in hashed version into database | 200 | password_field(Int min_size), // the password field doesn't show the password string or store it in hashed version into database |
| 158 | - text_field. // text of variable size | 201 | + text_field (HK_Text_Field_Attr). // text of variable size |
| 159 | 202 | ||
| 160 | //default initialization | 203 | //default initialization |
| 161 | public define HK_Model_Field | 204 | public define HK_Model_Field |
| @@ -177,6 +220,12 @@ public define HK_Model_Field | @@ -177,6 +220,12 @@ public define HK_Model_Field | ||
| 177 | )= | 220 | )= |
| 178 | foreign_key(this, table_name). | 221 | foreign_key(this, table_name). |
| 179 | 222 | ||
| 223 | +public define HK_Model_Field | ||
| 224 | + text_field | ||
| 225 | + = | ||
| 226 | + text_field(none) | ||
| 227 | +. | ||
| 228 | + | ||
| 180 | /* * | 229 | /* * |
| 181 | _HK_FIELD message format: | 230 | _HK_FIELD message format: |
| 182 | ============================= | 231 | ============================= |
| @@ -248,8 +297,9 @@ public define Message | @@ -248,8 +297,9 @@ public define Message | ||
| 248 | forget(add_string(hk_model_field_message, "type", "password_field")); | 297 | forget(add_string(hk_model_field_message, "type", "password_field")); |
| 249 | forget(add_int32(hk_model_field_message, "size", truncate_to_Word32(size))), | 298 | forget(add_int32(hk_model_field_message, "size", truncate_to_Word32(size))), |
| 250 | 299 | ||
| 251 | - text_field then // text of variable size | ||
| 252 | - forget(add_string(hk_model_field_message, "type", "text_field")) | 300 | + text_field(text_attr) then // text of variable size |
| 301 | + forget(add_string(hk_model_field_message, "type", "text_field")); | ||
| 302 | + forget(add_string(hk_model_field_message, "text_attribute", to_String(text_attr))), | ||
| 253 | 303 | ||
| 254 | }; | 304 | }; |
| 255 | hk_model_field_message | 305 | hk_model_field_message |
| @@ -305,8 +355,10 @@ public define JsonValue | @@ -305,8 +355,10 @@ public define JsonValue | ||
| 305 | json_member("size", json_int(size)) | 355 | json_member("size", json_int(size)) |
| 306 | ], | 356 | ], |
| 307 | 357 | ||
| 308 | - text_field then // text of variable size | ||
| 309 | - [ json_member("type", json_string("text_field"))] | 358 | + text_field(attr) then // text of variable size |
| 359 | + [ json_member("type", json_string("text_field")), | ||
| 360 | + json_member("text_attribute", json_string(to_String(attr))) | ||
| 361 | + ] | ||
| 310 | }, | 362 | }, |
| 311 | 363 | ||
| 312 | json_object("_HK_FIELD", members). | 364 | json_object("_HK_FIELD", members). |
| @@ -335,7 +387,7 @@ define Maybe(HK_Model_Field) | @@ -335,7 +387,7 @@ define Maybe(HK_Model_Field) | ||
| 335 | else if type = "password_field" then | 387 | else if type = "password_field" then |
| 336 | if find_int32(hk_model_field_message, "size") is {failure then failure, success(w32_size) then | 388 | if find_int32(hk_model_field_message, "size") is {failure then failure, success(w32_size) then |
| 337 | success(password_field(to_Int(w32_size)))} | 389 | success(password_field(to_Int(w32_size)))} |
| 338 | - else if type = "text_field" then success(text_field) | 390 | + else if type = "text_field" then success(text_field(get_text_attribute(hk_model_field_message))) |
| 339 | else failure | 391 | else failure |
| 340 | . | 392 | . |
| 341 | 393 |
view/view_table_types.anubis
| @@ -12,6 +12,7 @@ read hayamiki_lib/types/hayamiki.anubis | @@ -12,6 +12,7 @@ read hayamiki_lib/types/hayamiki.anubis | ||
| 12 | public type VT_edit_selector: | 12 | public type VT_edit_selector: |
| 13 | vt_edit_selector((SQLite3DataBase db) -> List((List(CoreAttrs), WebArgValue, String)) get). | 13 | vt_edit_selector((SQLite3DataBase db) -> List((List(CoreAttrs), WebArgValue, String)) get). |
| 14 | 14 | ||
| 15 | + | ||
| 15 | public type VT_edit_entry: | 16 | public type VT_edit_entry: |
| 16 | hidden (String name, String value), | 17 | hidden (String name, String value), |
| 17 | primary_key (String idx), | 18 | primary_key (String idx), |
| @@ -21,7 +22,7 @@ public type VT_edit_entry: | @@ -21,7 +22,7 @@ public type VT_edit_entry: | ||
| 21 | foreign_text(String s_name, String c_name, DB_id selected, VT_edit_selector selector, HK_Help_Text help), | 22 | foreign_text(String s_name, String c_name, DB_id selected, VT_edit_selector selector, HK_Help_Text help), |
| 22 | choices_text(String s_name, String c_name, String selected, VT_edit_selector selector, HK_Help_Text help), | 23 | choices_text(String s_name, String c_name, String selected, VT_edit_selector selector, HK_Help_Text help), |
| 23 | text_area (String s_name, String c_name, String value, HK_Help_Text help), //s_name = show_name for translate, c_name = table column name | 24 | text_area (String s_name, String c_name, String value, HK_Help_Text help), //s_name = show_name for translate, c_name = table column name |
| 24 | - boolean (String s_name, String c_name, Bool value, HK_Help_Text help), | 25 | + boolean (String s_name, String c_name, Bool value, HK_Text_Field_Attr area_att, HK_Help_Text help), |
| 25 | integer (String s_name, String c_name, Int value, HK_Help_Text help), | 26 | integer (String s_name, String c_name, Int value, HK_Help_Text help), |
| 26 | choices_int (String s_name, String c_name, Int selected, VT_edit_selector selector, HK_Help_Text help), | 27 | choices_int (String s_name, String c_name, Int selected, VT_edit_selector selector, HK_Help_Text help), |
| 27 | date (String s_name, String c_name, String value, HK_Help_Text help), | 28 | date (String s_name, String c_name, String value, HK_Help_Text help), |