diff --git a/ds_files/ds_types.anubis b/ds_files/ds_types.anubis index b7b185b..5b05921 100644 --- a/ds_files/ds_types.anubis +++ b/ds_files/ds_types.anubis @@ -103,7 +103,8 @@ public define List(DS_Type) hayamiki_lib_types_description = alternative("text_field", comment("text of variable size"), [ component(extern_type("HK_Text_Field_Attr", model_types+"hk_text_field_attr.anubis"), "hk_text_field_attr"), - ]) + ]), + enum("color_field", comment("String which representing RGBA color like HTML")) ]), // diff --git a/model/fields.anubis b/model/fields.anubis index d6a1e8d..cb6a8eb 100644 --- a/model/fields.anubis +++ b/model/fields.anubis @@ -35,6 +35,7 @@ transmit hayamiki_lib/model/types/hk_text_choices.anubis float_field | Float | char_field | String | max size text text_field | String | arbitrary size text + color_field | String | String which representing RGBA color like HTML @@ -186,60 +187,7 @@ public define HK_Model_Field */ - public define Message - to_Message - ( - HK_Model_Field hk_model_field - )= - with hk_model_field_message = message(_HK_FIELD), - if hk_model_field is - { - p_key then - forget(add_string(hk_model_field_message, "type", "p_key")), - - boolean_field then - forget(add_string(hk_model_field_message, "type", "boolean_field")), - - date_field(attr) then - forget(add_string(hk_model_field_message, "type", "date_field")); - forget(add_string(hk_model_field_message, "dt_attribute", to_String(attr))), - - time_field(attr) then - forget(add_string(hk_model_field_message, "type", "time_field")); - forget(add_string(hk_model_field_message, "dt_attribute", to_String(attr))), - - datetime_field(attr) then - forget(add_string(hk_model_field_message, "type", "datetime_field")); - forget(add_string(hk_model_field_message, "dt_attribute", to_String(attr))), - - foreign_key(app_name, table_name) then // foreign key to 'id' in another (or same) table and column_name for choice selector. - forget(add_string(hk_model_field_message, "type", "foreign_key")); - forget(add_message(hk_model_field_message, "app_name", to_Message(app_name))); - forget(add_string(hk_model_field_message, "table_name", table_name)), - - integer_field(choices) then // integer of arbitrary size - //TODO add choices if need - forget(add_string(hk_model_field_message, "type", "integer_field")), - - float_field then - forget(add_string(hk_model_field_message, "type", "float_field")), - - char_field (choices, size) then // text of maximal size 'size' (number of characters) - //TODO add choices if need - forget(add_string(hk_model_field_message, "type", "char_field")); - forget(add_int32(hk_model_field_message, "size", truncate_to_Word32(size))), - - password_field(size) then - forget(add_string(hk_model_field_message, "type", "password_field")); - forget(add_int32(hk_model_field_message, "size", truncate_to_Word32(size))), - - text_field(text_attr) then // text of variable size - forget(add_string(hk_model_field_message, "type", "text_field")); - forget(add_string(hk_model_field_message, "text_attribute", to_String(text_attr))), - - }; - hk_model_field_message - . + public define JsonValue to_JSON @@ -298,6 +246,10 @@ public define JsonValue [ json_member("type", json_string("text_field")), json_member("text_attribute", json_string(to_String(attr))) ] + + color_field then + [ json_member("type", json_string("color_field")) + ] }, json_object("_HK_FIELD", members). diff --git a/model/types/hk_model_field.anubis b/model/types/hk_model_field.anubis index 7b2b346..6ffa62c 100644 --- a/model/types/hk_model_field.anubis +++ b/model/types/hk_model_field.anubis @@ -1,8 +1,8 @@ /* * Created by 伝作 (Densaku). * Types & Messages generator written by フランスのトトロ aka (David RENÉ) - * Date: 2017-03-18 - * Time: 23:38:31 + * Date: 2017-03-29 + * Time: 23:08:07 * */ @@ -49,7 +49,8 @@ public type HK_Model_Field: text_field( HK_Text_Field_Attr hk_text_field_attr - ) + ), + color_field //String which representing RGBA color like HTML . HK_Model_Field message format @@ -131,6 +132,10 @@ public define Message // [type = HK_Text_Field_Attr] text_field.hk_text_field_attr forget(add_message(_hk_model_field_message, "hk_text_field_attr", to_Message(_hk_text_field_attr))), + //Alternative color_field (NO TYPE) + color_field then + forget(add_string(_hk_model_field_message, "__TYPE_ALT__", "color_field")), + }; _hk_model_field_message . @@ -223,6 +228,9 @@ public define Maybe(HK_Model_Field) success(text_field(hk_text_field_attr)) }} + else //Alternative color_field (NO TYPE) + if __type_alt__ = "color_field" then + success(color_field) else failure //No valid Alternative found ! else -- libgit2 0.21.4