Commit 974c8566fd29876100e5d7ffcfa3031246273447

Authored by totoro
1 parent e8b05959

change phone_field and remove mobile_phone.

Now phone_field has attribute for describing the phone number type like (cellphone, landline, fax, etc)
ds_files/ds_types.anubis
@@ -109,8 +109,12 @@ public define List(DS_Type_File) hayamiki_lib_types_description = @@ -109,8 +109,12 @@ public define List(DS_Type_File) hayamiki_lib_types_description =
109 component(extern_type("HK_Text_Field_Attr", model_types+"hk_text_field_attr.anubis"), "hk_text_field_attr"), 109 component(extern_type("HK_Text_Field_Attr", model_types+"hk_text_field_attr.anubis"), "hk_text_field_attr"),
110 ]), 110 ]),
111 enum("color_field", comment("String which representing RGBA color like HTML")), 111 enum("color_field", comment("String which representing RGBA color like HTML")),
112 - enum("phone_field", comment("phone field")),  
113 - enum("mobile_field", comment("mobile phone field")), 112 +
  113 + alternative("phone_field", comment("phone field"), [
  114 + component(extern_type("HK_Phone_Field_Attr", model_types+"hk_phone_field_attr.anubis"), "hk_ph_f_attr", comment("phone line number type like (cellphone, landline, fax, etc)")),
  115 + ]),
  116 +
  117 + //enum("mobile_field", comment("mobile phone field")),
114 enum("url_field", comment("url field for website and so forth")), 118 enum("url_field", comment("url field for website and so forth")),
115 enum("email_field", comment("email field")), 119 enum("email_field", comment("email field")),
116 ]), 120 ]),
@@ -168,6 +172,13 @@ public define List(DS_Type_File) hayamiki_lib_types_description = @@ -168,6 +172,13 @@ public define List(DS_Type_File) hayamiki_lib_types_description =
168 enum("auto_now", comment("Always update datetime at SQL update")), 172 enum("auto_now", comment("Always update datetime at SQL update")),
169 enum("auto_now_add", comment("Set current datetime when row is created and can't be edited anymore")) 173 enum("auto_now_add", comment("Set current datetime when row is created and can't be edited anymore"))
170 ]), 174 ]),
  175 +
  176 + ds_type("HK_Phone_Field_Attr", [
  177 + enum("generic", comment("Nothing special, normal phone number like home, mobile, etc..")),
  178 + enum("landline", comment("wired phone line number")),
  179 + enum("cellphone", comment("mobile or cell phone line number")),
  180 + enum("fax", comment("fax line number")),
  181 + ]),
171 182
172 ds_type("HK_Model_Attr", [ 183 ds_type("HK_Model_Attr", [
173 enum("unique", comment("by default, the values in a column are not required to be all different ")), 184 enum("unique", comment("by default, the values in a column are not required to be all different ")),
model/fields.anubis
@@ -15,6 +15,7 @@ transmit hayamiki_lib/model/types/hk_model_field.anubis @@ -15,6 +15,7 @@ transmit hayamiki_lib/model/types/hk_model_field.anubis
15 transmit hayamiki_lib/model/types/hk_app_name.anubis 15 transmit hayamiki_lib/model/types/hk_app_name.anubis
16 transmit hayamiki_lib/model/types/hk_text_field_attr.anubis 16 transmit hayamiki_lib/model/types/hk_text_field_attr.anubis
17 transmit hayamiki_lib/model/types/hk_datetime_field_attr.anubis 17 transmit hayamiki_lib/model/types/hk_datetime_field_attr.anubis
  18 +transmit hayamiki_lib/model/types/hk_phone_field_attr.anubis
18 transmit hayamiki_lib/model/types/hk_int_choices.anubis 19 transmit hayamiki_lib/model/types/hk_int_choices.anubis
19 transmit hayamiki_lib/model/types/hk_text_choices.anubis 20 transmit hayamiki_lib/model/types/hk_text_choices.anubis
20 21
@@ -132,8 +133,29 @@ define HK_Datetime_Field_Attr @@ -132,8 +133,29 @@ define HK_Datetime_Field_Attr
132 failure then none, 133 failure then none,
133 success(dt_attrib) then to_HK_Datetime_Field_Attr(dt_attrib) 134 success(dt_attrib) then to_HK_Datetime_Field_Attr(dt_attrib)
134 }. 135 }.
  136 +
  137 +define String
  138 + to_String
  139 + (
  140 + HK_Phone_Field_Attr attr
  141 + )=
  142 + if attr is
  143 + {
  144 + generic then "generic",
  145 + landline then "landline",
  146 + cellphone then "cellphone",
  147 + fax then "fax"
  148 + }.
135 149
136 150
  151 +public define String
  152 + to_Anubis_source
  153 + (
  154 + HK_Phone_Field_Attr attr
  155 + )=
  156 + to_String(attr)
  157 +.
  158 +
137 //default initialization 159 //default initialization
138 public define HK_Model_Field 160 public define HK_Model_Field
139 char_field 161 char_field
@@ -251,12 +273,9 @@ public define JsonValue @@ -251,12 +273,9 @@ public define JsonValue
251 [ json_member("type", json_string("color_field")) 273 [ json_member("type", json_string("color_field"))
252 ], 274 ],
253 275
254 - phone_field then  
255 - [ json_member("type", json_string("phone_field"))  
256 - ],  
257 -  
258 - mobile_field then  
259 - [ json_member("type", json_string("mobile_field")) 276 + phone_field(attr) then
  277 + [ json_member("type", json_string("phone_field")),
  278 + json_member("phone_attribute", json_string(to_String(attr)))
260 ], 279 ],
261 280
262 url_field then 281 url_field then
model/types/hk_model_field.anubis
1 /* 1 /*
2 * Created by 伝作 (Densaku). 2 * Created by 伝作 (Densaku).
3 * Types & Messages generator written by フランスのトトロ aka (David RENÉ) 3 * Types & Messages generator written by フランスのトトロ aka (David RENÉ)
4 - * Date: 2017-07-23  
5 - * Time: 21:35:44 4 + * Date: 2017-09-16
  5 + * Time: 09:48:18
6 * 6 *
7 */ 7 */
8 8
@@ -10,6 +10,7 @@ transmit system/muscle.anubis @@ -10,6 +10,7 @@ transmit system/muscle.anubis
10 transmit system/convert.anubis 10 transmit system/convert.anubis
11 transmit tools/basis.anubis 11 transmit tools/basis.anubis
12 12
  13 +transmit hayamiki_lib/model/types/hk_phone_field_attr.anubis
13 transmit hayamiki_lib/model/types/hk_text_field_attr.anubis 14 transmit hayamiki_lib/model/types/hk_text_field_attr.anubis
14 transmit hayamiki_lib/model/types/hk_text_choices.anubis 15 transmit hayamiki_lib/model/types/hk_text_choices.anubis
15 transmit hayamiki_lib/model/types/hk_int_choices.anubis 16 transmit hayamiki_lib/model/types/hk_int_choices.anubis
@@ -54,8 +55,11 @@ public type HK_Model_Field: @@ -54,8 +55,11 @@ public type HK_Model_Field:
54 HK_Text_Field_Attr hk_text_field_attr 55 HK_Text_Field_Attr hk_text_field_attr
55 ), 56 ),
56 color_field, //String which representing RGBA color like HTML 57 color_field, //String which representing RGBA color like HTML
57 - phone_field, //phone field  
58 - mobile_field, //mobile phone field 58 + //phone field
  59 +
  60 + phone_field(
  61 + HK_Phone_Field_Attr hk_ph_f_attr //phone line number type like (cellphone, landline, fax, etc)
  62 + ),
59 url_field, //url field for website and so forth 63 url_field, //url field for website and so forth
60 email_field //email field 64 email_field //email field
61 . 65 .
@@ -145,13 +149,12 @@ public define Message @@ -145,13 +149,12 @@ public define Message
145 color_field then 149 color_field then
146 forget(add_string(_hk_model_field_message, "__TYPE_ALT__", "color_field")), 150 forget(add_string(_hk_model_field_message, "__TYPE_ALT__", "color_field")),
147 151
148 - //Alternative phone_field (NO TYPE)  
149 - phone_field then  
150 - forget(add_string(_hk_model_field_message, "__TYPE_ALT__", "phone_field")),  
151 -  
152 - //Alternative mobile_field (NO TYPE)  
153 - mobile_field then  
154 - forget(add_string(_hk_model_field_message, "__TYPE_ALT__", "mobile_field")), 152 + //Alternative phone_field
  153 + //phone field
  154 + phone_field(_hk_ph_f_attr) then
  155 + forget(add_string(_hk_model_field_message, "__TYPE_ALT__", "phone_field"));
  156 + // [type = HK_Phone_Field_Attr] phone_field.hk_ph_f_attr
  157 + forget(add_message(_hk_model_field_message, "hk_ph_f_attr", to_Message(_hk_ph_f_attr))),
155 158
156 //Alternative url_field (NO TYPE) 159 //Alternative url_field (NO TYPE)
157 url_field then 160 url_field then
@@ -258,12 +261,15 @@ public define Maybe(HK_Model_Field) @@ -258,12 +261,15 @@ public define Maybe(HK_Model_Field)
258 else //Alternative color_field (NO TYPE) 261 else //Alternative color_field (NO TYPE)
259 if __type_alt__ = "color_field" then 262 if __type_alt__ = "color_field" then
260 success(color_field) 263 success(color_field)
261 - else //Alternative phone_field (NO TYPE)  
262 - if __type_alt__ = "phone_field" then  
263 - success(phone_field)  
264 - else //Alternative mobile_field (NO TYPE)  
265 - if __type_alt__ = "mobile_field" then  
266 - success(mobile_field) 264 + else //Alternative phone_field
  265 + //phone field
  266 + if __type_alt__ = "phone_field" then //Alternative phone_field
  267 + // [type = HK_Phone_Field_Attr] phone_field.hk_ph_f_attr
  268 + if find_message(_hk_model_field_message, "hk_ph_f_attr") is {failure then failure, success(_hk_ph_f_attr__msg) then
  269 + if (Maybe(HK_Phone_Field_Attr))from_Message(_hk_ph_f_attr__msg) is {failure then failure, success(_hk_ph_f_attr_) then
  270 +
  271 + success(phone_field(_hk_ph_f_attr_))
  272 + }}
267 else //Alternative url_field (NO TYPE) 273 else //Alternative url_field (NO TYPE)
268 if __type_alt__ = "url_field" then 274 if __type_alt__ = "url_field" then
269 success(url_field) 275 success(url_field)
model/types/hk_phone_field_attr.anubis 0 → 100644
  1 +/*
  2 + * Created by 伝作 (Densaku).
  3 + * Types & Messages generator written by フランスのトトロ aka (David RENÉ)
  4 + * Date: 2017-09-16
  5 + * Time: 09:48:18
  6 + *
  7 + */
  8 +
  9 +transmit system/muscle.anubis
  10 +transmit system/convert.anubis
  11 +transmit tools/basis.anubis
  12 +
  13 +
  14 +
  15 +
  16 +public type HK_Phone_Field_Attr:
  17 + generic, //Nothing special, normal phone number like home, mobile, etc..
  18 + landline, //wired phone line number
  19 + cellphone, //mobile or cell phone line number
  20 + fax //fax line number
  21 +.
  22 +
  23 + HK_Phone_Field_Attr message format
  24 + ==================================
  25 +
  26 +
  27 +public define Message
  28 + to_Message
  29 + (
  30 + HK_Phone_Field_Attr _hk_phone_field_attr
  31 + )=
  32 + with _hk_phone_field_attr_message = message((Word32)0), //
  33 + forget(add_string(_hk_phone_field_attr_message, "__TYPE__", "HK_Phone_Field_Attr"));
  34 + if _hk_phone_field_attr is
  35 + {
  36 + //Alternative generic (NO TYPE)
  37 + generic then
  38 + forget(add_string(_hk_phone_field_attr_message, "__TYPE_ALT__", "generic")),
  39 +
  40 + //Alternative landline (NO TYPE)
  41 + landline then
  42 + forget(add_string(_hk_phone_field_attr_message, "__TYPE_ALT__", "landline")),
  43 +
  44 + //Alternative cellphone (NO TYPE)
  45 + cellphone then
  46 + forget(add_string(_hk_phone_field_attr_message, "__TYPE_ALT__", "cellphone")),
  47 +
  48 + //Alternative fax (NO TYPE)
  49 + fax then
  50 + forget(add_string(_hk_phone_field_attr_message, "__TYPE_ALT__", "fax")),
  51 +
  52 + };
  53 + _hk_phone_field_attr_message
  54 +.
  55 +
  56 +public define Maybe(HK_Phone_Field_Attr)
  57 + from_Message
  58 + (
  59 + Message _hk_phone_field_attr_message
  60 + )=
  61 + if find_string(_hk_phone_field_attr_message, "__TYPE__") is {failure then failure, success(__type__) then
  62 + if find_string(_hk_phone_field_attr_message, "__TYPE_ALT__") is {failure then failure, success(__type_alt__) then
  63 + if __type__ = "HK_Phone_Field_Attr" then
  64 + //Alternative generic (NO TYPE)
  65 + if __type_alt__ = "generic" then
  66 + success(generic)
  67 + else //Alternative landline (NO TYPE)
  68 + if __type_alt__ = "landline" then
  69 + success(landline)
  70 + else //Alternative cellphone (NO TYPE)
  71 + if __type_alt__ = "cellphone" then
  72 + success(cellphone)
  73 + else //Alternative fax (NO TYPE)
  74 + if __type_alt__ = "fax" then
  75 + success(fax)
  76 + else
  77 + failure //No valid Alternative found !
  78 + else
  79 + failure //Type not found in message !
  80 + }}
  81 +.
  82 +
view/types/hk_view.anubis
@@ -72,7 +72,8 @@ public type VT_view_model_entry: @@ -72,7 +72,8 @@ public type VT_view_model_entry:
72 datetime (String label, String column_name, HK_Help_Text help), 72 datetime (String label, String column_name, HK_Help_Text help),
73 color (String label, String column_name, HK_Help_Text help), 73 color (String label, String column_name, HK_Help_Text help),
74 phone (String label, String column_name, HK_Help_Text help), 74 phone (String label, String column_name, HK_Help_Text help),
75 - email (String label, String column_name, HK_Help_Text help) 75 + email (String label, String column_name, HK_Help_Text help),
  76 + url (String label, String column_name, HK_Help_Text help)
76 . 77 .
77 78
78 79