r757 - trunk/ui

r757 - trunk/ui


Author: grabanski
Date: Mon Sep 29 12:20:25 2008
New Revision: 757
Modified:
trunk/ui/ui.datepicker.js
Log:
Datepicker: Updated Mac keyboard commands
Modified: trunk/ui/ui.datepicker.js
==============================================================================
--- trunk/ui/ui.datepicker.js    (original)
+++ trunk/ui/ui.datepicker.js    Mon Sep 29 12:20:25 2008
@@ -474,8 +474,9 @@
            switch (e.keyCode) {
                case 9: $.datepicker._hideDatepicker(null, '');
                        break; // hide on tab out
-                case 13: $.datepicker._selectDay(e.target, inst.selectedMonth,
inst.selectedYear,
-                            $('td.ui-datepicker-days-cell-over', inst.dpDiv)[0]);
+                case 13: if ($('td.ui-datepicker-days-cell-over', inst.dpDiv)[0])
+                            $.datepicker._selectDay(e.target, inst.selectedMonth,
inst.selectedYear,
+                                $('td.ui-datepicker-days-cell-over', inst.dpDiv)[0]);
                        return false; // don't submit the form
                        break; // select the value on enter
                case 27: $.datepicker._hideDatepicker(null,
$.datepicker._get(inst, 'duration'));
@@ -488,24 +489,34 @@
                            +$.datepicker._get(inst, 'stepBigMonths') :
                            +$.datepicker._get(inst, 'stepMonths')), 'M');
                        break; // next month/year on page down/+ ctrl
-                case 35: if (e.ctrlKey) $.datepicker._clearDate(e.target);
+                case 35: if (e.ctrlKey || e.metaKey) $.datepicker._clearDate(e.target);
                        handled = e.ctrlKey;
-                        break; // clear on ctrl+end
-                case 36: if (e.ctrlKey) $.datepicker._gotoToday(e.target);
+                        break; // clear on ctrl or command +end
+                case 36: if (e.ctrlKey || e.metaKey) $.datepicker._gotoToday(e.target);
                        handled = e.ctrlKey;
-                        break; // current on ctrl+home
-                case 37: if (e.ctrlKey) $.datepicker._adjustDate(e.target, -1, 'D');
+                        break; // current on ctrl or command +home
+                case 37: if (e.ctrlKey || e.metaKey)
$.datepicker._adjustDate(e.target, -1, 'D');
                        handled = e.ctrlKey;
-                        break; // -1 day on ctrl+left
-                case 38: if (e.ctrlKey) $.datepicker._adjustDate(e.target, -7, 'D');
+                        // -1 day on ctrl or command +left
+                        if (e.originalEvent.altKey) $.datepicker._adjustDate(e.target,
(e.ctrlKey ?
+                                    -$.datepicker._get(inst, 'stepBigMonths') :
+                                    -$.datepicker._get(inst, 'stepMonths')), 'M');
+                        // next month/year on alt +left on Mac
+                        break;
+                case 38: if (e.ctrlKey || e.metaKey)
$.datepicker._adjustDate(e.target, -7, 'D');
+                        handled = e.ctrlKey;
+                        break; // -1 week on ctrl or command +up
+                case 39: if (e.ctrlKey || e.metaKey)
$.datepicker._adjustDate(e.target, +1, 'D');
+                        handled = e.ctrlKey;
+                        // +1 day on ctrl or command +right
+                        if (e.originalEvent.altKey) $.datepicker._adjustDate(e.target,
(e.ctrlKey ?
+                                    +$.datepicker._get(inst, 'stepBigMonths') :
+                                    +$.datepicker._get(inst, 'stepMonths')), 'M');
+                        // next month/year on alt +right
+                        break;
+                case 40: if (e.ctrlKey || e.metaKey)
$.datepicker._adjustDate(e.target, +7, 'D');
                        handled = e.ctrlKey;
-                        break; // -1 week on ctrl+up
-                case 39: if (e.ctrlKey) $.datepicker._adjustDate(e.target, +1, 'D');
-                        handled = e.ctrlKey;
-                        break; // +1 day on ctrl+right
-                case 40: if (e.ctrlKey) $.datepicker._adjustDate(e.target, +7, 'D');
-                        handled = e.ctrlKey;
-                        break; // +1 week on ctrl+down
+                        break; // +1 week on ctrl or command +down
                default: handled = false;
            }
        else if (e.keyCode == 36 && e.ctrlKey) // display the date picker on
ctrl+home