datetimepicker.anubis 2.45 KB
/*
 * Created by PyramIDE.
 * User: フランスのトトロ
 * Date: 16/11/2014
 * Time: 12:14
 * © Calexium
 */

read xlib/web/CXM_making_a_web_site.anubis
read xlib/web/CXM_jquery.anubis

/* Initialize jQuery ui datetimepicker */
 public define List(HTML_Head_Tag)
  jq_ui_datetimepicker_init
  =
    [
      css(css_file("/css/jquery/ui/datetimepicker.css")),
      js(js_file("js/jquery/ui/jquery-ui-timepicker-addon.js")),
      js_inline(jquery_ready("// Datepicker\n
                               $('.datepicker').datepicker({inline: true});
                               $('.datetimepicker').datetimepicker({inline: true});
                               "))
    ]
  .

public define String
  datetimepicker_init_js
  (
    String lang,
    Bool   add_icon
  ) = "
       $.datetimepicker.setLocale('"+lang+"');
       $('.datepicker').datetimepicker({timepicker:false,format:'Y-m-d'});
       $('.datetimepicker').datetimepicker({format:'Y-m-d H:i'});
       $('.timepicker').datetimepicker({datepicker:false,format:'H:i',step:5});
      " + if add_icon then "
       var items_add_func = function (index) {
          var icon_file,
              dt_picker = $(this),
              icon;

          if (dt_picker.hasClass('cxm-icon')) {
            return;
          }
          
          if (dt_picker.hasClass('timepicker')) {
            icon_file = 'icon_clock.gif';
          } else {
            icon_file = 'icon_calendar.gif';
          }

          icon = $('<img src=\"icons/16x16/'+icon_file+'\"/>');
                                      
          icon.click(function () { dt_picker.datetimepicker('show'); });
          icon.hover(function() { $(this).css('cursor','pointer'); });
          dt_picker.after(icon);
          
          dt_picker.addClass('cxm-icon');
       };
                                  
       $('.datepicker').each(items_add_func);
       $('.datetimepicker').each(items_add_func);
       $('.timepicker').each(items_add_func);
      " else "".

/* Initialize jQuery datetimepicker */
public define List(HTML_Head_Tag)
  jq_datetimepicker_init
  (
    String lang,
    Bool add_icon
  )
  =
    [
      css(css_file("js/jquery/plug-in/datetimepicker/datetimepicker.css")),
      js(js_file("js/jquery/plug-in/datetimepicker/datetimepicker.min.js")),
      js_inline(jquery_ready(datetimepicker_init_js(lang, add_icon)))
    ]
  .

public define List(HTML_Head_Tag)
  jq_datetimepicker_init
  (
    String  lang
  )
  = jq_datetimepicker_init(lang, true).