|
| 1 | +=Module <<a_api_type subproject="client" | module Ot_calendar >> = |
| 2 | +<<pre class="ocsforge_color odocwiki_code"|<<span class="ocsforge_color_keyword"|module>> <<span class="ocsforge_color_uid"|<<span class="ocsforge_color_uid"|Ot_calendar>>>> <<span class="ocsforge_color_delimiter"|~:>> <<span class="ocsforge_color_keyword"|sig>><<a_api subproject="client" text=".." | module Ot_calendar >><<span class="ocsforge_color_keyword"|end>>>><<span class="odocwiki_inlinecode"|intl>> is the type of internationalization specifiers~. <<span class="odocwiki_inlinecode"|i~_days>> |
| 3 | + contains the names of the weekdays~, starting with |
| 4 | + ~Sunday~. <<span class="odocwiki_inlinecode"|i~_months>> contains the names of the months~, starting with |
| 5 | + ~January~. <<span class="odocwiki_inlinecode"|i~_start>> specifies the first day of the week~. |
| 6 | + |
| 7 | +---- |
| 8 | +<<pre class="ocsforge_color odocwiki_code" id="TYPEintl"|<<span class="ocsforge_color_keyword"|type>> <<span class="odocwiki_name"|intl>> <<span class="ocsforge_color_delimiter"|~=>> <<span class="ocsforge_color_delimiter"|~{>> |
| 9 | +<<span class="odocwiki_record"|<<span class="odocwiki_field"|<<span class="odocwiki_field_descr"| <<span class="ocsforge_color_label"|i_days:>> <<span class="odocwiki_type"|string list>><<span class="ocsforge_color_delimiter"|~;>> >>>><<span class="odocwiki_field"|<<span class="odocwiki_field_descr"| <<span class="ocsforge_color_label"|i_months:>> <<span class="odocwiki_type"|string list>><<span class="ocsforge_color_delimiter"|~;>> >>>><<span class="odocwiki_field"|<<span class="odocwiki_field_descr"| <<span class="ocsforge_color_label"|i_start:>> <<span class="odocwiki_type"|[ `Fri | `Mon | `Sat | `Sun | `Thu | `Tue | `Wed ]>><<span class="ocsforge_color_delimiter"|~;>> >>>>>><<span class="ocsforge_color_delimiter"|~}>>>><<pre class="ocsforge_color odocwiki_code" id="TYPEbutton_labels"|<<span class="ocsforge_color_keyword"|type>> <<span class="odocwiki_name"|button~_labels>> <<span class="ocsforge_color_delimiter"|~=>> <<span class="ocsforge_color_delimiter"|~{>> |
| 10 | +<<span class="odocwiki_record"|<<span class="odocwiki_field"|<<span class="odocwiki_field_descr"| <<span class="ocsforge_color_label"|b_prev_year:>> <<span class="odocwiki_type"|string>><<span class="ocsforge_color_delimiter"|~;>> >>>><<span class="odocwiki_field"|<<span class="odocwiki_field_descr"| <<span class="ocsforge_color_label"|b_prev_month:>> <<span class="odocwiki_type"|string>><<span class="ocsforge_color_delimiter"|~;>> >>>><<span class="odocwiki_field"|<<span class="odocwiki_field_descr"| <<span class="ocsforge_color_label"|b_next_month:>> <<span class="odocwiki_type"|string>><<span class="ocsforge_color_delimiter"|~;>> >>>><<span class="odocwiki_field"|<<span class="odocwiki_field_descr"| <<span class="ocsforge_color_label"|b_next_year:>> <<span class="odocwiki_type"|string>><<span class="ocsforge_color_delimiter"|~;>> >>>>>><<span class="ocsforge_color_delimiter"|~}>>>><<div class="odocwiki_info"|~An instance of <<span class="odocwiki_inlinecode"|button~_labels>> is used to customize the button |
| 11 | + labels~. ~The defaults are "~<~<"~, "~<"~, "~>"~, and "~>~>"~. |
| 12 | +>> |
| 13 | +<<pre id="VALmake" class="ocsforge_color odocwiki_code"|<<span class="ocsforge_color_keyword"|val>> <<span class="odocwiki_name"|make>> <<span class="ocsforge_color_delimiter"|~:>> <<span class="odocwiki_type"|\\ <<span class="ocsforge_color_label"| ?init: >>int * int * int <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?highlight: >><<span class="ocsforge_color_delimiter"| ( >>int <<span class="ocsforge_color_delimiter"| -> >> int <<span class="ocsforge_color_delimiter"| -> >> int list <<span class="ocsforge_color_uid"|Lwt>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>><<span class="ocsforge_color_delimiter"| ) >> <<span class="ocsforge_color_uid"|Eliom_client_value>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>> <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?click_non_highlighted: >>bool <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?update: >><<span class="ocsforge_color_delimiter"| ( >>int * int * int<<span class="ocsforge_color_delimiter"| ) >> <<span class="ocsforge_color_uid"|React>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_uid"|E>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>> <<span class="ocsforge_color_uid"|Eliom_client_value>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>> <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?action: >><<span class="ocsforge_color_delimiter"| ( >>int <<span class="ocsforge_color_delimiter"| -> >> int <<span class="ocsforge_color_delimiter"| -> >> int <<span class="ocsforge_color_delimiter"| -> >> unit <<span class="ocsforge_color_uid"|Lwt>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>><<span class="ocsforge_color_delimiter"| ) >> <<span class="ocsforge_color_uid"|Eliom_client_value>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>> <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?button_labels: >><<a_api subproject="client" text="button_labels" | type Ot_calendar.button_labels >> <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?intl: >><<a_api subproject="client" text="intl" | type Ot_calendar.intl >> <<span class="ocsforge_color_delimiter"| -> >> unit <<span class="ocsforge_color_delimiter"| -> >> [> `Table ] <<span class="ocsforge_color_uid"|Eliom_content>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_uid"|Html>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|elt>>>>>><<div class="odocwiki_info"|<<span class="odocwiki_inlinecode"|make ~?highlight ~?click~_any ~?action>> produces a calendar~. |
| 14 | + |
| 15 | + |
| 16 | + ~If a client~-side function <<span class="odocwiki_inlinecode"|highlight>> is provided~, <<span class="odocwiki_inlinecode"|highlight y m>> |
| 17 | + needs to produce the list of days for the month <<span class="odocwiki_inlinecode"|m>> of the year |
| 18 | + <<span class="odocwiki_inlinecode"|y>> that need to be visually denoted~. |
| 19 | +
|
| 20 | + |
| 21 | + ~If <<span class="odocwiki_inlinecode"|click~_non~_highlighted>> is <<span class="odocwiki_inlinecode"|true>>~, every date is clickable~; |
| 22 | + otherwise~, only the dates that <<span class="odocwiki_inlinecode"|highlight>> returns ~(if <<span class="odocwiki_inlinecode"|highlight>> |
| 23 | + is provided~) are clickable~. |
| 24 | +
|
| 25 | + |
| 26 | + ~If a client~-side function <<span class="odocwiki_inlinecode"|action>> is provided~, when the user |
| 27 | + clicks on the date <<span class="odocwiki_inlinecode"|d>>~:<<span class="odocwiki_inlinecode"|m>>~:<<span class="odocwiki_inlinecode"|y>>~, <<span class="odocwiki_inlinecode"|action y m d>> is called~. |
| 28 | +>> |
| 29 | +<<pre id="VALmake_date_picker" class="ocsforge_color odocwiki_code"|<<span class="ocsforge_color_keyword"|val>> <<span class="odocwiki_name"|make~_date~_picker>> <<span class="ocsforge_color_delimiter"|~:>> <<span class="odocwiki_type"|\\ <<span class="ocsforge_color_label"| ?init: >>int * int * int <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?update: >><<span class="ocsforge_color_delimiter"| ( >>int * int * int<<span class="ocsforge_color_delimiter"| ) >> <<span class="ocsforge_color_uid"|React>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_uid"|E>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>> <<span class="ocsforge_color_uid"|Eliom_client_value>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>> <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?button_labels: >><<a_api subproject="client" text="button_labels" | type Ot_calendar.button_labels >> <<span class="ocsforge_color_delimiter"| -> >>\\ <<span class="ocsforge_color_label"| ?intl: >><<a_api subproject="client" text="intl" | type Ot_calendar.intl >> <<span class="ocsforge_color_delimiter"| -> >>\\ unit <<span class="ocsforge_color_delimiter"| -> >>\\ [> `Table ] <<span class="ocsforge_color_uid"|Eliom_content>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_uid"|Html>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|elt>> *\\ <<span class="ocsforge_color_delimiter"| ( >>int * int * int<<span class="ocsforge_color_delimiter"| ) >> <<span class="ocsforge_color_uid"|Eliom_shared>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_uid"|React>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_uid"|S>><<span class="ocsforge_color_delimiter"| . >><<span class="ocsforge_color_lid"|t>>>>>><<div class="odocwiki_info"|<<span class="odocwiki_inlinecode"|make~_date~_picker ~?init ~(~)>> returns a client~-side reactive signal |
| 30 | + <<span class="odocwiki_inlinecode"|~(y~, m~, d~)>> corresponding to the date <<span class="odocwiki_inlinecode"|d>>~:<<span class="odocwiki_inlinecode"|m>>~:<<span class="odocwiki_inlinecode"|y>> that the user |
| 31 | + clicks on~. ~The optional parameter <<span class="odocwiki_inlinecode"|init>> provides an initial value |
| 32 | + for the signal~. |
| 33 | +>> |
0 commit comments