Ticket #1848: dts.diff

File dts.diff, 3.9 KB (added by oggie rob, 9 years ago)

Javascript diff of DateTimeShortcuts

  • django/contrib/admin/media/js/admin/DateTimeShortcuts.js

     
    5252        shortcuts_span.appendChild(document.createTextNode('\240|\240'));
    5353        shortcuts_span.appendChild(clock_link);
    5454
    55         // Create clock link div
     55        // Create clock link div. Intervals are in 30 minutes, but may be adjusted by modifying values below
    5656        //
    5757        // Markup looks like:
    5858        // <div id="clockbox1" class="clockbox module">
    5959        //     <h2>Choose a time</h2>
    6060        //     <ul class="timelist">
    61         //         <li><a href="#">Now</a></li>
    6261        //         <li><a href="#">Midnight</a></li>
    63         //         <li><a href="#">6 a.m.</a></li>
     62        //         <li><a href="#">12:30 AM</a></li>
     63        //         <li><a href="#"><1:00 AM</a></li>
     64        //         ...
    6465        //         <li><a href="#">Noon</a></li>
     66        //         <li><a href="#">12:30 PM</a></li>
     67        //         ...
    6568        //     </ul>
    6669        //     <p class="calendar-cancel"><a href="#">Cancel</a></p>
    6770        // </div>
     
    7780        addEvent(clock_box, 'click', DateTimeShortcuts.cancelEventPropagation);
    7881
    7982        quickElement('h2', clock_box, gettext('Choose a time'));
    80         time_list = quickElement('ul', clock_box, '');
    81         time_list.className = 'timelist';
    82         quickElement("a", quickElement("li", time_list, ""), gettext("Now"), "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", new Date().getHourMinute());")
    83         quickElement("a", quickElement("li", time_list, ""), gettext("Midnight"), "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '00:00');")
    84         quickElement("a", quickElement("li", time_list, ""), gettext("6 a.m."), "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '06:00');")
    85         quickElement("a", quickElement("li", time_list, ""), gettext("Noon"), "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '12:00');")
    86 
     83        var interval_mins = 30; // minutes between displayed times
     84        var columns = 4;        // number of columns in popup
     85        var total_intervals = 24 * 60 / interval_mins;
     86        var time = new Date(0,0,0,0,0,0,0);
     87        var midnight = new Date(0,0,0,0,0,0,0);
     88        var noon = new Date(0,0,0,12,0,0,0);
     89        for (var si=0; si<columns; si++) {
     90            time_list = quickElement('ul', clock_box, '');
     91            time_list.className = 'timelist';
     92            if (si == columns-1) {
     93                time_list.id = 'timelist-end';
     94            }
     95            var this_col_count = total_intervals / columns;
     96            for (var sj=0; sj<this_col_count; sj++) {
     97                var time_text = null;
     98                if (time.getTime() == midnight.getTime())
     99                    time_text = gettext("Midnight");
     100                else if (time.getTime() == noon.getTime())
     101                    time_text = gettext("Noon");
     102                else
     103                    time_text = time.toLocaleTimeString().replace(":00 ", ""); // its waaifer theen
     104                quickElement("a", quickElement("li", time_list, ""), time_text, "href", "javascript:DateTimeShortcuts.handleClockQuicklink(" + num + ", '" + time.getHourMinute() + "');");
     105                time = new Date(time.getTime() + (interval_mins * 60 * 1000)); // interval * seconds in a minute * millis in second
     106            }
     107        }
    87108        cancel_p = quickElement('p', clock_box, '');
    88109        cancel_p.className = 'calendar-cancel';
    89110        quickElement('a', cancel_p, gettext('Cancel'), 'href', 'javascript:DateTimeShortcuts.dismissClock(' + num + ');');
Back to Top